Просмотр активного подключения к удаленному рабочему столу на данном компьютере - PullRequest
15 голосов
/ 06 марта 2012

Я ищу инструмент, чтобы узнать, есть ли у пользователя удаленный доступ к данному компьютеру в локальной сети, и в идеале я хотел бы знать, кто этот пользователь. В моей компании у нас есть общие виртуальные машины, и нам приходится спрашивать членов команды, используют ли они какой-либо удаленный компьютер. Мне бы хотелось, чтобы у меня была какая-то панель управления, которая могла бы сообщить мне, какой компьютер используется, а какой компьютер свободен.

Я рад использовать любое коммерческое решение, которое потребовало бы установки служб на каждой из машин, которые необходимо отслеживать, или тому подобных вещей.

1 Ответ

25 голосов
/ 06 марта 2012

Приведенное ниже упрощается, если вы запрашиваете у клиента Windows, подключенного к тому же домену, что и запрашиваемая система, и вам могут потребоваться определенные права сверх стандартного пользователя домена.Если вы столкнетесь с проблемами аутентификации / разрешений, это будет первое, что я проверю.

Существует инструмент, доступный, по крайней мере, еще до Windows XP, под названием "qwinsta".Более поздние версии Windows имеют как qwinsta, так и «сеанс запросов».

qwinsta /server:computer01
 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
 console                                     0  Conn    wdcon
 rdp-tcp                                 65536  Listen  rdpwd
                   administrator             2  Disc    rdpwd

Это показывает, что пользователь «администратор» вошел в систему, но отключился.Поскольку в этом примере computer01 является системой Windows Server 2003 с лицензией RDP «администрирование» по умолчанию, существует второй сеанс, ожидающий подключения кого-либо.

Повторное выполнение этой же команды после подключения к ранее отключенному сеансу выглядит следующим образомthis:

 SESSIONNAME       USERNAME                 ID  STATE   TYPE        DEVICE
[unchanged output removed]
 rdp-tcp#25        administrator             2  Active  rdpwd

Этого достаточно, чтобы ответить «кто-то в данный момент активен через RDP», и если вы используете отдельные имена пользователей, он должен также ответить на «кто».Если вы все используете "testuser" или "administrator" или что-то еще, вы, вероятно, захотите узнать ответ на вопрос "от какого клиента", а это не дано выше.

Вышеприведенное дает быстрыйБазовый ответ без необходимости дополнительных инструментов.Для получения более подробной информации вы можете обратиться к библиотеке кассии или PSTerminalServices (построена на кассии).См. Некоторые ответы в этом вопросе для получения более подробной информации.

Моей первой мыслью об этом было использование таких инструментов Sysinternals, как PsLoggedOn или LogonSessions .Затем я нашел ссылку на ранее неизвестные мне инструменты qwinsta и rwinsta в этом блоге 2003 года .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...