Существует ли быстрый и простой способ увидеть время простоя пользовательских сессий на RDP-сервере?
Спасибо
Существует ли быстрый и простой способ увидеть время простоя пользовательских сессий на RDP-сервере?
Спасибо
Начиная с Windows 2008 команда quser работает.
Отображает информацию о пользовательских сеансах на сервере Узел сеансов удаленных рабочих столов.
На самом деле сценарий PowerShell, связанный с ответом, просто запускает эту команду. ОП попросил быстрый и простой способ, это окончательно быстрее, чем загрузить и выполнить PS-скрипт.
Пример из Windows Server 2012 R2:
C:\Users\admin.tedd>quser USERNAME SESSIONNAME ID STATE IDLE TIME LOGON TIME admin.xxxxxxxx 2 Disc 15+15:12 7/20/2017 1:19 PM admin.xxxxx rdp-tcp#54 3 Active 1:39 7/21/2017 5:35 AM xxxxxxxx 4 Disc 6+04:10 7/21/2017 9:25 AM >admin.tedd rdp-tcp#86 5 Active . 8/9/2017 4:40 PM
Число перед + - это дни, поэтому 15 + 15:12 - это 15 дней, 15 часов и 12 минут.
Заметка! Документация говорит, что это то же самое, что и выполнение query user
. query
команды не существует на моих серверах. Не уверен, что это отдельная установка или установка компонента.
Диспетчер служб терминалов может получить эту информацию.
Под административными инструментами -> Службы терминалов -> Менеджер служб терминалов
Затем выберите хост в левой панели и в средней панели выберите вкладку "Сеансы". Там будет список всех активных сессий и есть столбец "IdleTime".
Выходные данные интерпретируются как «Дни + Часы: минуты». Так, например, если вывод «4 + 11: 23», пользователь простаивает 4 дня, 11 часов и 23 минуты.
Стоит также отметить, что вы можете выйти из этих сеансов, щелкнув правой кнопкой мыши и отключив их. Хотя было бы неплохо сначала заплатить им телефонный звонок:P
Изменить: Хорошо, это хороший ответ для версий Сервера до 2012 года :( Но так как они исключили диспетчер служб терминалов из более новых версий Сервера, кажется, что этот сценарий powershell может быть лучшим вариантом: https://gallery.technet.microsoft .com/scriptcenter/Get-LoggedOnUser-Собирает-7cbe93ea
Я предполагаю, что IdleTime сообщается в минутах, так как мои первоначальные тесты отображают только одно целое число.
Вы можете использовать powershell для поиска различных пользователей или простоя нескольких серверов. Сценарий был создан пользователем «Cookie».Monster "на technet Get-UserSession - разбор запроса пользователя
Подробнее о скрипте и использовании можно узнать по ссылке выше
в командной строке (CMD) просто введите:
запросить пользователя
Тогда он покажет вам результат.
Get-RDUserSession |ft Username,Idletime
Get-RDUserSession |select-object UserName,Servername,IdleTime,CreateTime
Всего несколько примеров - большая проблема заключается в преобразовании "свойства простоя", представляющего собой целое число времени. Пример: 6667354 преобразуется в дни: чч: мм: сс
Я еще не понял это.