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

Мониторинг окна или сеанса RDP

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

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

Я бы хотел предупредить меня. Любое из следующего может послужить полезными триггерами:

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

Вы можете сделать это с помощью командного файла, используя список задач. Вы можете изменить его на идентификатор процесса или на любой другой процесс, который вы используете для его мониторинга. Очевидно, sub notepad.exe для любого имени процесса, который вы используете.

:start
tasklist /fi "imagename eq notepad.exe" | findstr notepad.exe
if %errorlevel%==1 goto end
goto start
:end
echo %date% %time% The [name of process] is complete on %computername% >> \\unc\sharename\filename.txt
shutdown /l

Таким образом, вы выйдете из сеанса RDP, и у вас будет файл журнала, когда он будет завершен.

Использование RDP, безусловно, является одним из способов выполнения задач, но я бы посоветовал вам вместо этого реализовать сценарий WMI или сценарий PowerShell для запуска процесса и либо периодически опрашивать журналы (logparser, powershell любой инструмент подойдет), либо иметь запускаемый вами скрипт отправлять журналы вам при выходе из процесса. Я бы посоветовал задать вопрос о том, как автоматизировать то, что вы сейчас делаете вручную.

Я не уверен, что это будет работать с содержимым окна RDP, но Механизм сценариев AutoIT может ожидать появления определенных ключевых слов в окне - вы можете попробовать.