Вопрос или проблема
На Windows Server 2019 я сравниваю пользователей, подключенных в диспетчере задач, что я получаю от команды query user
(или ярлык quser
) из командной строки и в конечном итоге то, что я вижу с помощью счетчиков производительности в утилите Мониторинг производительности.
Вот в чем моя проблема: я подключен по RDP, поэтому в диспетчере задач и утилите командной строки я вижу, что мой раздел RDP активен. Однако, когда я смотрю на счетчики производительности, я вижу 1 активную сессию и 2 неактивные сессии, всего 3 сессии. Акцент на следующем скриншоте:
Что за 2 неактивные сеансовые службы терминалов, которые я не вижу в диспетчере задач и в командной строке? Как я могу выяснить, что это?
Вы можете использовать команду “query session”, чтобы увидеть их все. Одна из них будет “services”, а другая – “console”. Так что одна из них – это физическая сессия, которая будет использоваться, если будут подключены клавиатура и монитор. Не знаю, что такое “services” — но, возможно, это связано с интерактивными службами?
Ответ или решение
Чтобы получить полное представление о всех сессиях терминальных служб на Windows Server 2019, необходимо учитывать множество факторов. На основании предоставленной информации и вашего вопроса, ниже приведены рекомендации по выявлению всех активных и неактивных сессий.
Шаг 1: Использование команды query session
Для начала, важно знать, что команда query session
, как и команда query user
(или quser
), предоставляет наиболее полное представление о всех сессиях. Выполнив команду:
query session
Вы получите список всех сессий, включая активные и неактивные. Обратите внимание на следующие ключевые моменты:
- Сессия с идентификатором "services" обычно используется для процессов, работающих под управлением служебного контекста.
- Сессия с идентификатором "console" представлена, когда сервер имеет физический доступ к монитору и клавиатуре, но не подключен через RDP.
Шаг 2: Разница между утилитами
Сравнивая результаты командной строки, задачника и утилиты производительности, следует учитывать, что некоторые службы и программы могут не отображаться в стандартных инструментах, таких как диспетчер задач:
- Task Manager: отображает активные сессии RDP, но может скрывать системные и служебные сессии.
- Performance Monitor: фокусируется на производительности системы, отчеты о сессиях могут включать скрытые или неактивные сессии.
Шаг 3: Что такое неактивные сессии?
Неактивные сессии, которые вы видите в Performance Monitor, могут быть вызваны несколькими факторами:
- Сессии, не имеющие активных пользователей: Это могут быть сессии, которые были открыты, но не используют активное взаимодействие с пользователем, например, сессии служб.
- Контекст служб: Сессия "services" используется для запуска различных фоновый служб, которые не имеют пользовательского интерфейса.
Шаг 4: Дополнительные команды для диагностики
Если вам нужно получить более детальную информацию о каждой сессии, можете использовать команду query user
или qwinsta
, которая также предоставляет информацию о состоянии каждий сессии:
qwinsta
Шаг 5: Проверка с помощью PowerShell
Также существует возможность использования PowerShell для получения информации о сессиях. Выполните следующий скрипт:
Get-RDUserSession
Эта команда позволит вам эффективно отследить все активные сессии, включая те, что могут отсутствовать в других инструментах.
Заключение
Подводя итог, для полной картины всех терминальных сессий на Windows Server 2019, следует использовать комбинацию команд query session
, quser
и qwinsta
, а также рассмотреть возможность применения PowerShell. Это позволит вам не только увидеть все активные и неактивные сессии, но и понять природу их существования.
Следуя вышеизложенным рекомендациям, вы сможете глубже понять и контролировать терминальные сессии на вашем сервере.