Способи перевірити, чи активний користувач на віддаленій машині перед RDP'ing


24

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

Чи є спосіб перевірити, чи активний поточний авторизований користувач на віддаленій машині (термінал заблокований?) Чи ні?

Ми не можемо використовувати VNC або LogMeIn або інші утиліти спільного використання настільних ПК з міркувань безпеки (заблоковані ІТ).

Я добре розробляю також деяку швидку утиліту для тестування (C #, C ++, сценарії тощо).

Редагувати:

  1. Оскільки ми використовуємо той самий вхід - користувачі не виходять із системи, вони просто відключають або блокують термінал.

2
Я хотів би дізнатися, як зробити саме те саме, але в середовищі Win7.
Дарій

@Darius, щойно знайшов рішення для цього. Не перевіряв його на W7, але сподіваюся, що це працює і для вас.
інший користувач

@Darius & YetAgetherUser: Я відповів нижче: superuser.com/a/822743/430
Кевін Вортінгтон

Відповіді:


31

Ми можемо використовувати qwinstaдля Q uery WIN Dows STA ції і отримати список всіх активних сеансів.

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

Отримав це на TechTalkz: Як переглянути / відключити сеанси віддаленого робочого столу від командної лінії

введіть тут опис зображення


1
+1 Це зручно. Я намагався з’ясувати, чим я користувався в минулому, але не міг це зрозуміти. Я думаю, це могло бути psexec \\COMPUTERNAME net session. Ви також можете використовувати tsdisconдля відключення.
парадороїд

2

Подібну до прийнятої відповіді ви також можете використовувати Query.exeтак:

quser /server:<COMPUTERNAME>

Це призведе до наступного:

введіть тут опис зображення


1
Отримати доступ заборонено в підвищеному командному рядку. Я також використовую обліковий запис адміністратора домену.
Шив

Для мене добре працював, перевіряючи, чи мій RDP-інший завантажить когось із сервера Win 2k8 R2. Статус був "Disc" (відключено), тому я можу безпечно RDP.
Адамбей

1

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


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

1

Ви можете скористатися командою NET SEND для надсилання повідомлення на апарат, щоб побачити, чи хтось на ньому. Це може бути спрощено за допомогою програми GUI - посилання нижче - це перше безкоштовне, яке я знайшов, здійснюючи пошук в Інтернеті, тому він не має жодного конкретного схвалення.

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

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


+1 - чисте надсилання - хороший варіант. Це вимагає, щоб інший користувач відповідав, щоб підтвердити, чи він користується машиною, і потрібно буде чекати 4-5 хвилин, перш ніж припускати, що його не використовують. Більше цього вимагає, щоб сервіс Messenger працював у всіх системах, що в нашому випадку не відповідає дійсності.
інший користувач

Слід зазначити, що NET SEND була правильною відповіддю на поставлене запитання, перенаправляючись на Windows XP, але це вже не для поточних версій Windows, оскільки SEND було видалено з NET через кричущі проблеми зловживань.
Я з Монікою

1

Інший спосіб:

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

(тестовано на Windows 7)


З цікавості, чому, коли я намагаюся це, я отримую повідомлення про помилку "Доступ відмовлено"?
Дарій

Ви не можете мати права адміністратора на віддаленому комп'ютері.
Кевін Уортінгтон

Я "чистий адміністратор, я думаю, що повинен, але ти вказав на мене в правильному напрямку ....
Дарій

Це єдина перерахована відповідь, яка дала можливість вказати користувача, як підключитися до віддаленої машини. Інші, здається, працюють лише у тому випадку, якщо ви перебуваєте в тому самому домені та працюєте як користувач із доступом.
LeBleu

0

Як і FYI, я знаю, що це вже понад рік, але навіть якщо хтось має права адміністратора домену, існують політики GPO, які можуть блокувати певні облікові записи адміністратора (домен, підприємство тощо) віддаленого входу в систему на машині.

Це допоможе захистити машини, які є частиною віддаленого місця, від віддаленого управління хтось вище в структурі AD.

Ви можете перевірити, чи відмовлено в цьому, переглянувши ваші звіти про групову організацію для локальної машини під

                  gpreport /h report.html

з адміністративного командного рядка.


1
6 років, але хто рахує
mic84
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.