5

Существует ли быстрый и простой способ увидеть время простоя пользовательских сессий на RDP-сервере?

Спасибо

5 ответов5

7

Начиная с 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 команды не существует на моих серверах. Не уверен, что это отдельная установка или установка компонента.

3

Диспетчер служб терминалов может получить эту информацию.

Под административными инструментами -> Службы терминалов -> Менеджер служб терминалов

Затем выберите хост в левой панели и в средней панели выберите вкладку "Сеансы". Там будет список всех активных сессий и есть столбец "IdleTime".

Выходные данные интерпретируются как «Дни + Часы: минуты». Так, например, если вывод «4 + 11: 23», пользователь простаивает 4 дня, 11 часов и 23 минуты.

Стоит также отметить, что вы можете выйти из этих сеансов, щелкнув правой кнопкой мыши и отключив их. Хотя было бы неплохо сначала заплатить им телефонный звонок:P

Изменить: Хорошо, это хороший ответ для версий Сервера до 2012 года :( Но так как они исключили диспетчер служб терминалов из более новых версий Сервера, кажется, что этот сценарий powershell может быть лучшим вариантом: https://gallery.technet.microsoft .com/scriptcenter/Get-LoggedOnUser-Собирает-7cbe93ea

Я предполагаю, что IdleTime сообщается в минутах, так как мои первоначальные тесты отображают только одно целое число.

-1

Вы можете использовать powershell для поиска различных пользователей или простоя нескольких серверов. Сценарий был создан пользователем «Cookie».Monster "на technet Get-UserSession - разбор запроса пользователя

Подробнее о скрипте и использовании можно узнать по ссылке выше

-1

в командной строке (CMD) просто введите:

запросить пользователя

Тогда он покажет вам результат.

-2
Get-RDUserSession |ft Username,Idletime
Get-RDUserSession |select-object UserName,Servername,IdleTime,CreateTime

Всего несколько примеров - большая проблема заключается в преобразовании "свойства простоя", представляющего собой целое число времени. Пример: 6667354 преобразуется в дни: чч: мм: сс

Я еще не понял это.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .