У нас работает машина с Windows XP Pro, к которой несколько человек подключаются через VNC (RealVNC). Каждый пользователь входит в Windows под своей учетной записью. Мы все хотим быть вежливыми с другими пользователями и подключаться только тогда, когда никто другой не пользуется машиной. Если кто - то использует его , я хочу , чтобы выяснить , кто (то есть. , Что Windows , пользователь вошел в систему ) , так что я могу спросить их , когда они , вероятно , чтобы закончить. Вопрос в том, как мне это выяснить?

В настоящее время мы сначала пытаемся подключиться через RDP, чтобы он подсказал нам: «Пользователь SmithJ в данный момент вошел в систему. Вы хотите выйти из них?«Мы отвечаем" Нет ", но теперь мы знаем, что это использует Джон Смит. Это работает, но это довольно сложная задача - вам нужно запустить удаленный рабочий стол, выбрать машину, ввести свой пароль. Есть ли способ сделать это с помощью самого VNC?

Конечно, другим способом было бы отправить CtrlAlt-Del после подключения через VNC, но это было бы действительно раздражающим для другого человека, использующего его, и я не хочу прерывать их, как это.

Прежде чем кто-то спросит, нет, мы не можем просто использовать RDP - сеанс должен выглядеть как "интерактивный" сеанс. Однако, если есть альтернативные продукты для VNC, которые могут это сделать, мне было бы интересно узнать о них.

4 ответа4

1

Исходя из:

echo% USERNAME%> CurrentLoggedIn.txt

Похоже, что в Windows XP и более поздних версиях есть переменная окружения "SESSIONNAME", которая установлена в "Console" для сеанса входа в консоль.

Я не уверен, что он установлен для сеанса RDP (удаленного рабочего стола). Если отличается, вы можете использовать это в командном файле как средство определения, должен ли обновляться магический файл или нет.

Немного уловки при таком подходе: вам также необходимо удалить этот файл при выходе из консоли.

0

Похоже, использование psloggedon.exe от Sysinternals будет вашим лучшим выбором. Просто запустите простой командный файл или что-то в этом роде, и он скажет вам, кто вошел на удаленный компьютер. Если у вас есть несколько пользователей через RDP и Консоль, попробуйте использовать net sessions \\computer и это вернет все сеансы RDP на этом удаленном компьютере.

0

Вы можете подключиться к другому компьютеру или использовать psexec и выполнить команду

Может выполнить скрипт, который выполняет netstat -aon на сервере и смотрит на IP и. затем есть еще один файл с IP-адресами и именами пользователей, по одному на строку. найдите строку с этим IP, и она отобразит строку с именем пользователя.

или же

Каждый клиент может использовать psexec для записи файла на C:\, в котором указано его имя.

Чтобы выяснить, кто использует компьютер, когда он используется, вы можете запустить скрипт, который отображает, что находится в этом файле.

0

Это может показаться немного гетто, но это сработает: вы можете добавить пакетный скрипт в папку автозагрузки каждого, который делает что-то вроде этого:

echo% USERNAME%> CurrentLoggedIn.txt

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

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