5

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

Я в порядке с ограничением этого до Windows 7, если это помогает.

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

4 ответа4

4

Вы можете определить, вошел ли пользователь локально или удаленно, с помощью вкладки « Users » в Task Manager .

Client Name JAN-PC показывает, откуда происходит соединение

Вы также можете использовать CLI для просмотра текущих сеансов RDP, которые можно без проблем запустить на удаленных машинах.

C:\>query session /?

Пример вывода сеанса запроса >>

Полная информация об управлении службами удаленного рабочего стола из CLI.

2

Следующее решение работает, если у вас установлен Cygwin. Запуск этого скрипта дает вывод «console», если вы работаете на консоли, и «rdp», если вы работаете в сеансе rdp:

#!/bin/bash
# returns 'rdp' or 'console'
current_session_line=`query session | grep '^>' $t | sed -e 's/>//'`
current_session_type=`echo $current_session_line|sed -e 's/[- ].*//'`

echo $current_session_type
1

При входе через удаленный рабочий стол текущего пользователя LoggedIn переключен Out.

1

Для Windows 2000 и выше, вы можете просмотреть в диспетчере задач. Вы можете нажать Ctrl+Shift+Escape, чтобы вызвать его, а затем перейти на вкладку «Пользователи». Если вы видите «Консоль» в списке, они вошли на физический компьютер. Если они отображаются как Disconnected , они больше не находятся в системе. Если на нем отображается что-то вроде RDP-001 или имени компьютера, они регистрируются через удаленный рабочий стол.

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