PsExec-如果您远程运行的.exe需要用户交互怎么办?

PsExec-如果您远程运行的.exe需要用户交互怎么办?

我使用 PsExec 将小型 .exe 文件部署到我的工作站。有时,由于某种原因,.exe 与系统不兼容,并打开一个弹出窗口,其中包含错误或其他消息。

有什么方法可以知道可执行文件何时“卡住”在那里,需要用户交互?在我这边,我只是运行 psexec 并等待 .exe 返回(由于弹出窗口卡在那里,因此永远不会返回)。

由于我以编程方式运行 PsExec 并自动执行所有执行,因此当发生此弹出事件时,我发现有数百个 psexec 进程卡在那里,并且没有任何结果。

处理此类问题的最佳方法是什么?

谢谢。

答案1

作为最后的手段,尝试使用其他自动化工具此外PsExec 处理弹出窗口。类似 AutoIt。

我猜想这将是你的前进方向,因为没有每个软件都必须遵守的标准。

答案2

PAExec有一个超时选项(-to),将在指定的秒数后终止进程。我强烈建议您从切换PSExecPAExec

答案3

psexec 有一个可以工作的 -i 选项。

-i 运行程序,使其与远程系统上指定会话的桌面进行交互。如果没有会话。

另外,您可以使用某种 pslist.exe 脚本来监视系统上生成的进程,并查看该进程已存在多长时间。如果 msiexec 挂起 5 分钟,则可能意味着它已挂起。

答案4

处理这种情况的最佳方法是在尝试应用自动化之前进行测试。

处理卡住进程的一个简单但粗暴的方法是稍后使用 pslist 和 pskill 运行一个单独的批处理,此时 psexec 处理正常完成。使用 pslist 测试远程计算机上是否仍在运行 psexec,并使用 pskill 终止发现的任何进程。

相关内容