Назад | Перейти на главную страницу

Список всех текущих сеансов RDP

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

Мне кажется разумным запускать приложение через пакетный файл, и как только приложение будет закрыто, последующие пакетные команды будут перечислять пользователей, вошедших в систему, один из которых, вероятно, отвечает за завершение работы. Проблема в том, что каждый входит на сервер, используя учетные данные сетевого администратора (!), И разные сеансы можно отличить друг от друга только по имени компьютера пользователя.

Стоит отметить, что:

  1. Приложение выполняет классическую служебную работу, но не может быть преобразовано в нее.
  2. Я попробовал некоторые инструменты Sysinternal, но ни один из них не указал нужную мне информацию.
  3. Я бы предпочел не использовать программу просмотра событий. Он и так заболочен. Файлы журнала лучше.

Обновить:: Так что, может быть

netstat -n -a | findstr 3389

это то, что вы ищете.

** Перед обновлением: ** Я думаю, что вы ищете:

query session
query user

Но, в лучшем случае, это пластыри. Вам следует сделать шаг назад и решить эту проблему на более глубоком уровне. может быть служба сторожевого пса или что-то в этом роде.

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

date /t >>C:\somefolder\%CLIENTNAME%.log
time /t >>C:\somefolder\%CLIENTNAME%.log
echo %USERNAME% >>C:\somefolder\%CLIENTNAME%.log
echo ---------- >>C:\somefolder\%CLIENTNAME%.log

JR

Многие пакеты сетевого мониторинга позволят вам контролировать отдельный процесс и предупреждать вас, когда они останавливаются / перезапускаются и т. Д.

Мы используем JFFNMS (http://www.jffnms.org/) для мониторинга QuarkXpress на нескольких машинах, которые получают задания на них. Время от времени при выполнении задания приложение вылетает из строя, и в этом случае JFFNMS отправляет нам электронное письмо.

Вы можете использовать net session в Windows, чтобы узнать, кто вошел в систему (как локально, так и удаленно). В настоящее время у меня нет окна Windows, извините, я не могу дать вам всю команду, но net session help должен ..... помочь? :)