22

У нас есть общая машина с Windows XP, которая используется несколькими пользователями. Все они используют общий домен для входа в него. Теперь проблема в том, что мы иногда переходим к активному сеансу других лиц без предупреждения ни одной из сторон (предупреждение не выдается, поскольку мы используем тот же логин).

Есть ли способ проверить, активен ли текущий вошедший в систему пользователь на удаленном компьютере (терминал заблокирован?) или нет?

Мы не можем использовать VNC или LogMeIn или другие утилиты для совместного доступа к рабочему столу по соображениям безопасности (заблокированы IT).

Я в порядке разработки некоторой быстрой утилиты для тестирования (C #, C++, скриптинг и т.д.).

Редактировать:

  1. Поскольку мы используем тот же логин - пользователи не выходят из системы, они просто отключают или блокируют терминал.

6 ответов6

30

Мы можем использовать qwinsta к uery WIN Dows STA Тион Q и получить список всех активных сеансов.

Столбце State показывает , если пользователь активен или нет. Для этого требуется доступ администратора на целевой машине.

Получил это на TechTalkz: Как просмотреть / отключить сеансы удаленного рабочего стола из командной строки

1

Создайте файл BAT, который генерирует файл на общем ресурсе, говоря, что компьютер используется. Когда пользователь входит в систему, он запускает и создает этот файл. Когда пользователь выходит из системы (это можно сделать с помощью сценария GP), он удаляет файл. Проверьте общий доступ к этому файлу перед подключением

1

Вы можете использовать команду NET SEND, чтобы отправить сообщение на устройство, чтобы увидеть, есть ли кто-нибудь на нем. Это можно упростить с помощью приложения с графическим интерфейсом - приведенная ниже ссылка является первой бесплатной, которую я нашел, выполнив поиск в Интернете, поэтому она предоставляется без какого-либо специального одобрения.

http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/net_send.mspx

http://www.fomine.com/netsend.html

1

Подобно принятому ответу, вы также можете использовать Query.exe следующим образом:

quser /server:<COMPUTERNAME>

Это приведет к следующему:

1

По-другому:

wmic.exe /node:<computername or IP address> computersystem get username

(проверено на Windows 7)

0

Точно так же, как к сведению, я знаю, что этому уже более года, но даже если у кого-то есть права администратора домена, существуют политики GPO, которые могут блокировать удаленный вход определенных компьютеров (домена, предприятия и т.д.) На компьютер.

Это необходимо для защиты компьютеров, являющихся частью удаленного местоположения, от удаленного администрирования кем-то, кто находится выше в структуре AD.

Вы можете проверить, отклонено ли это, просмотрев отчеты GPO для локального компьютера под

                  gpreport /h report.html

из командной строки администратора.

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