在我的工作中,我经常使用RDP在远程Windows机器上执行任务。 这些任务可能需要很长时间才能完成(小时/天/星期),所以我最终会同时打开许多RDP会话,每个会话都有一个任务正在运行。
我遇到的问题是,我必须监视每个RDP会话,以便知道任务何时完成,这耗费我大量的时间/精力。
我想要的是某种警觉。 以下任何一种情况都可以起到有益的作用:
看来这样的工具必须存在于Windows世界,但我还没有find它们。
您可以使用任务列表通过batch file来执行此操作。 您可以将其更改为进程ID或您用于监视的进程。 很明显,无论您使用的进程的名称是什么子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窗口内容,但AutoIT脚本引擎能够等待某个关键字出现在一个窗口内 – 您可能需要试一试。
使用RDP肯定是执行任务的一种方法,但是我build议您改为使用WMI脚本或PowerShell脚本来启动该进程,并定期轮询日志(logparser,powershell任何工具将执行的操作),或者让脚本运行在stream程退出时将日志发送给您。 我build议发布一个关于如何自动化你目前手动做的问题。