Как узнать номер сессии windows 10

Команда Query — отображение информации о сеансах пользователей.

Команда QUERY используется для получения информации об использовании терминальных серверов пользователями, выполнившими подключение к удаленным рабочим столам по протоколу RDP (Remote Desktop Protocol). Позволяет получить сведения о подключениях и некоторые статистические данные об использовании ресурсов терминальных серверов.

Команда применяется в одном из контекстов:

По каждому из контекстов можно получить подсказку по использованию:

Query PROCESS /? — отобразить справочную информацию об использовании команды query process — сведения о процессах.

Команда QUERY PROCESS может быть заменена командой QPROCESS, команда QUERY USER – командой QUSER, команда QUERY SESSION – командой QWinsta, команда QERY TERMSERVER – командой Qappsrv.

Для получения сведений о сеансах пользователей используется команда:

QUERY SESSION [имя сеанса | пользователь | ID сеанса] [/SERVER:сервер] [/MODE] [/FLOW] /CONNECT] [/COUNTER] [/VM]

имя сеанса — Имя сеанса.

пользователь — Сеанс пользователя с этим именем.

ID сеанса — Идентификатор сеанса.

/SERVER:сервер — Опрашиваемый сервер (по умолчанию текущий).

/MODE — Отображение текущих параметров линии. Используется при удаленном подключении с использованием последовательных линий связи.

/FLOW — Отображение текущих параметров управления потоком. Используется при удаленном подключении с использованием последовательных линий связи .

/CONNECT — Отображение текущих параметров подключения.

/COUNTER — Отображение информации счетчиков служб удаленных рабочих столов.

/VM — Отображение информации о сеансах в виртуальных машинах.

query session /server:rdserver1 — отобразить сведения о сеансах всех пользователей терминального сервера rdserver1

Пример отображаемой информации:

СЕАНС
rdp-tcp#2

rdp-tcp

ПОЛЬЗОВАТЕЛЬ
netadmin
termuser
User
RDPuser1
Samara
buhgalt9
ukit
ID
2
3
7
9
15
266
65536
СТАТУС
Активно
Диск
Диск
Активно
Активно
Диск
Прием
ТИП
rdpwd

query session /server:rdserver /mode — отобразить сведения о параметрах последовательного порта — скорость передачи, длина посылки, тип контроля четности, длина стоповых бит.

query session /server:SERVER /counter — отобразить статистические сведения о сеансах удаленного рабочего стола сервера SERVER. В этом случае, кроме списка активных сеансов, отображается еще и статистика в виде :

Всего сеансов создано: 185955

Всего сеансов отключено: 186146

Всего сеансов переподключено: 261

query session 1446 — отобразить сведения о сеансе с идентификатором >
query session admin /server:rdpserver — отобразить сведения о сеансе пользователя admin

qwinsta — отобразить информацию о всех сеансах всех пользователей текущего компьютера. Локальные сеансы отображаются с именем console , удаленные – rdp-tcp#N

Для получения сведений о терминальных серверах домена используется команда:

QUERY TERMSERVER [имясервера] [/DOMAIN:домен] [/ADDRESS] [/CONTINUE]

Параметры командной строки:

имя_сервера — Задает сервер, обслуживающий сеансы подключения к удаленному рабочему столу.

/DOMAIN:домен — Отображение информации для указанного домена (по умолчанию для текущего домена).

/ADDRESS — Отображение адресов сети и узлов.

/CONTINUE — Не останавливаться при заполнении каждого экрана.

query termserver — отобразить информацию о всех терминальных серверах текущего домена.

query termserver RDserver /ADDRESS — отобразить информацию о терминальном сервере RDserver текущего домена, включая его адрес.

qappsrv.exe /domain:MyDom — отобразить информацию о терминальных серверах домена MyDom .

Для отображения сведений о процессах используется команда:

QUERY PROCESS [* | | | | /ID:nn ] /SERVER: ]

Параметры командной строки:

* — Отображать все видимые процессы.

ID процесса — Отображение процесса, заданного этим идентификатором.

пользователь — Отображение всех процессов для данного имени пользователя.

имя сеанса — Отображение всех процессов для указанного сеанса.

/ID:nn — Отображение всех процессов для сеанса nn .

имя программы — Отображение всех процессов, связанных с этой программой.

/SERVER:имя_сервера Опрашиваемый сервер, обслуживающий сеансы подключения к удаленному рабочему столу.

Примеры использования QPROCESS:

QUERY PROCESS /? — отобразить подсказку по использованию команды.

QUERY PROCESS * — отобразить сведения обо всех видимых процессах

QUERY PROCESS — при выполнении команды без параметров, отображаются сведения о процессах текущего пользователя.

QUERY PROCESS /server:winsrv — отобразить процессы текущего пользователя на сервере с именем winsrv

QUERY PROCESS /server:192.168.0.1 — отобразить процессы текущего пользователя на сервере с IP-адресом 192.168.0.1

QUERY PROCESS user1 — отобразить сведения о процессах, выполняющихся в контексте пользователя с именем user1

query process система — отобразить сведения о системных процессах.

QUERY PROCESS svchost.exe — отобразить сведения о процессах, связанных с исполняемым файлом svchost.exe

При получении сведений о процессах, связанных с исполняемым файлом, указывать расширение обязательно. Например:

query process services.exe — отобразить сведения о процессах, связанных с исполняемым файлом services.exe

query process services — отобразить сведения о процессах, связанных с сеансом services

query process console — отобразить все процессы сеанса console — локального пользователя Windows.

query process rdp-tcp#0 — отобразить все процессы, связанные с удаленным сеансом rdp-tcp#0 .

QPROCESS /ID:144 — отобразить процессы сеанса с идентификатором 144

Пример отображаемой информации:

ПОЛЬЗОВАТЕЛЬ
(нет данных)
(нет данных)
система
система
система
система
система
система
dwm-1
local service
network service
user1
user1
user1
user1
user1
СЕАНС
services
services
services
services
services
console
console
services
console
services
services
console
console
console
console
console
ID
0
0
0
0
0
1
1
0
1
0
0
1
1
1
1
1
PID
0
4
288
428
484
492
536
592
812
828
496
2220
1772
3528
3548
948
ОБРАЗ

system
smss.exe
csrss.exe
wininit.exe
csrss.exe
winlogon.exe
services.exe
dwm.exe
svchost.exe
svchost.exe
taskhostex.exe
explorer.exe
cmd.exe
conhost.exe
qprocess.exe

При большом объеме информации, можно использовать команду QUERY PROCESS в цепочке с командой more :

Query Process | more

Для получения сведений о пользователях используется команда:

QUERY USER [ | | ] [/SERVER: ]

Параметры командной строки:

пользователь — Имя пользователя.

имя сеанса — Имя сеанса.

ID сеанса — Идентификатор сеанса.

/SERVER:сервер — Опрашиваемый сервер (по умолчанию — текущий).

Примеры использования команды QUERY USER:

QUERY USER /? — отобразить подсказку по использованию команды.

QUERY USER — при выполнении команды QUERY USER без параметров, отображаются сведения о всех пользователях, вошедших в систему на данный момент времени.

Пример отображаемой информации:

ПОЛЬЗОВАТЕЛЬ
user1
user2
СЕАНС
console
rdp-tcp#0
ID
1
1
СТАТУС
Активно
Активно
БЕЗДЕЙСТВ.
.
.
ВРЕМЯ ВХОДА
06.08.2017 6:07
06.08.2017 6:07

При выполнении команды, отображаются имена пользователей, тип сеанса, идентификатор, статус, время бездействия и время входа в систему. В примере, пользователь user1 вошел в систему локально ( сеанс console , а пользователь user2 — удаленно (сеанс rdp-tcp#0 )

QUERY USER /server:winsrv — отобразить информацию о пользователях, вошедших в систему на компьютере с именем winsrv . Результат выполнения команды зависит от прав пользователя по отношению к удаленной системе и настроек брандмауэра.

QUSER /server:192.168.0.1 — отобразить информацию о пользователях, вошедших в систему на компьютере с IP-адресом 192.168.0.1

Поиск активных сессий и залогиненных пользователей с Powershell

Иногда может понадобится проверить какие в данный момент залогинены в системе, то есть являются активными. Такую информацию можно использовать для аудита, например для проверки какие учетные записи за какими компьютерами сидят или для последующей перезагрузки сервера, что бы не останавливать работу коллег. В примерах ниже рассмотрено как выполнять удаленные команды для получения активных пользователей и возврата включенных пользователей Active Directory.

Навигация по посту

Получение имени залогиненного пользователя

Я не могу вспомнить готовую команду Powershell, которая бы вернула логин пользователя, но такая возможность есть через WMI:

Есть еще вариант использовать CIM, который может работать немного быстрее:

Обе команды могут работать удаленно если добавить атрибут ComputerName:

Если вы планируете выполнять эти команды удаленно, то может понадобится выполнить предварительные настройки в виде открытия портов и необходимых правах.

Получить только имя пользователя можно так:

Как вы знаете в Winodws есть так же параллельные сеансы сервисов. Если вам нужно вернуть имена этих аккаунтов нужно использовать класс «win32_LoggedOnUser»:

Получение списка компьютеров

Если у вас нет списка компьютеров к которым вы планируете подключиться и узнать активного пользователя — это можно сделать через AD. На примере ниже будут возвращены все компьютеры:

Операция по получению списка компьютеров может быть очень долгой, если у вас большой парк ПК в AD. Вы можете вернуть только компьютеры, которые не отключены в AD (Disable) следующим способом:

Можно использовать и фильтрацию. Так я верну компьютеры имена которые начинаются на «CL»:

Получить список имен мы можем так:

Если у вас список компьютеров не относится к AD или имеет другой формат — то просто преобразуйте его в массив:

Удаленное получение залогиненных пользователей

Выше уже рассматривался вариант получения имени пользователя удаленно используя WMI и CIM. Если обе команды, то всех пользователей активных в данный момент мы можем получить так:

Такой подход может привести к ошибкам так как мы не проверяем включены ли компьютеры:

Мы можем просто не выводить ошибки с помощью «-ErrorAction SilentlyContinue» или заранее пинговать (что было бы правильнее с точки зрения времени выполнения). В примере ниже я так же разбиваю имя компьютера и логин в более удобный формат:

Если вы не хотите выполнять команды удаленно через WMI, то вы можете использовать PSRemoting. От так же требует предварительных настроек, которые описаны в статье «Удаленное управление через Powershell». Команда, которая использует PSRemoting, будет выглядеть примерно так же:

Получение включенных пользователей AD

Если вам нужно вернуть учетные записи, которые включены в AD выполните следующую команду:

Для возврата только отключенных учетных записей используйте $False.

Такой подход работает и с объектами компьютеров в AD:

Для последующей выгрузки данных в Excel почитайте статью «Как в Powershell выгрузить из AD пользователей и группы CSV».

Whoami или WMI

Вы можете вспомнить команду, которая так же возвращает имя пользователя:

Как можно увидеть она вернет ту же информацию, что и класс WMI. Ситуация меняется, когда эти команды используются удаленно:

Как видно, в случае с whoami у нас вернулось имя учетной записи выполнившей команду Powershell, а с WMI пользователь Windows.

query session query session

Область применения: Windows Server (половина ежегодного канала), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012 Applies to: Windows Server (Semi-Annual Channel), Windows Server 2019, Windows Server 2016, Windows Server 2012 R2, Windows Server 2012

Отображает сведения о сеансах на сервере узла сеансов удаленный рабочий стол. Displays information about sessions on a Remote Desktop Session Host server. Список включает сведения не только об активных сеансах, но и о других сеансах, которые выполняет сервер. The list includes information not only about active sessions but also about other sessions that the server runs.

Чтобы узнать о новых возможностях последней версии, см. статью новые возможности службы удаленных рабочих столов в Windows Server. To find out what’s new in the latest version, see What’s New in Remote Desktop Services in Windows Server.

Синтаксис Syntax

Параметры Parameters

Параметр Parameter Описание Description
Указывает имя сеанса, с которым необходимо выполнить запрос. Specifies the name of the session that you want to query.
Указывает имя пользователя, сеансы которого необходимо запросить. Specifies the name of the user whose sessions you want to query.
Указывает идентификатор сеанса, к которому необходимо выполнить запрос. Specifies the ID of the session that you want to query.
/server: /server: Определяет сервер узла сеансов удаленных рабочих столов для запроса. Identifies the rd Session Host server to query. Значение по умолчанию — текущий сервер. The default is the current server.
/Mode /mode Отображает текущие параметры линии. Displays current line settings.
/флов /flow Отображает текущие параметры управления потоком. Displays current flow-control settings.
/коннект /connect Отображает текущие параметры подключения. Displays current connect settings.
/Counter /counter Отображает сведения о текущих счетчиках, включая общее число созданных, отключенных и повторно подключенных сеансов. Displays current counters information, including the total number of sessions created, disconnected, and reconnected.
/? /? Отображение справки в командной строке. Displays help at the command prompt.

Комментарии Remarks

Пользователь всегда может запрашивать сеанс, в который в данный момент вошел пользователь. A user can always query the session to which the user is currently logged on. Чтобы запросить другие сеансы, пользователь должен иметь специальное разрешение на доступ. To query other sessions, the user must have special access permission.

Если вы не укажете сеанс, используя параметры , или SessionID , в этом запросе будут отображаться сведения обо всех активных сеансах в системе. If you don’t specify a session using the , , or sessionID parameters, this query will display information about all active sessions in the system.

Когда сеанс запроса возвращает сведения, (>) перед текущим сеансом отображается символ «больше чем». When query session returns information, a greater than (>) symbol is displayed before the current session. Например: For example:

  • SESSIONNAME указывает имя, назначенное сеансу. SESSIONNAME specifies the name assigned to the session.
  • Username указывает имя пользователя, подключенного к сеансу. USERNAME indicates the user name of the user connected to the session.
  • State предоставляет сведения о текущем состоянии сеанса. STATE provides information about the current state of the session.
  • Тип указывает тип сеанса. TYPE indicates the session type.
  • Устройство, которое отсутствует для сеансов, подключенных к консоли или к сети, — это имя устройства, назначенное сеансу. DEVICE, which isn’t present for the console or network-connected sessions, is the device name assigned to the session.
  • Все сеансы, в которых исходное состояние настроено как ОТКЛЮЧЕНное, не будут отображаться в списке сеансов запросов , пока они не будут включены. Any sessions in which the initial state is configured as DISABLED won’t show up in the query session list until they’re enabled.

Примеры Examples

Чтобы отобразить сведения обо всех активных сеансах на сервере Server2, введите: To display information about all active sessions on server Server2, type:

Чтобы отобразить сведения о modeM02 активного сеанса, введите: To display information about active session modeM02, type:

Читайте также:  Линукс минт хром терминал
Оцените статью