如何使用 PSExec 异步运行批处理文件?

如何使用 PSExec 异步运行批处理文件?

我运行了一个批处理文件,除其他功能外,它还重置了机器中的 NIC。我在另一台机器上运行了一些监视软件来监控第一台机器。当 PSExec 检测到某些类型的故障时,我想使用它运行这个批处理文件。我遇到的问题是,由于批处理文件重置了 NIC,它会终止 PSExec 的连接(我对此表示同意)。真正的问题是,当 PSExec 终止时,批处理文件停止运行(NIC 处于禁用状态)。

我尝试过在 PSExec 中使用 -i 选项,但没有成功。有什么办法可以基本上只启动批处理文件,而不在 PSExec 断开连接时停止它吗?

答案1

和往常一样,我在问完问题 10 分钟后就搞清楚了。结果发现我输入的参数顺序不对。以下是有效的方法:

psexec \\MyServer -i -d C:\Misc\ResetNICs.bat

答案2

使用开始命令来异步运行。不过这里的技巧是,不能直接通过执行程序。通过命令解释器调用它将绕过这个限制。就像这样...

psexec \\RemoteMachine cmd.exe /c start c:\test.bat

或者如果您想要更强大的功能,您可以使用 -d 参数在远程机器上调用 psexec,类似于上面的 START 命令。

答案3

最好的方法是这样的:

PsExec.exe \\server -s -d  cmd /c \\servershared\shared\install.cmd

-s(作为系统运行)-d(非交互式)

当然,远程机器必须共享 c$,并且您需要成为“域管理员”

如果您不是“域管理员”,您可以使用 -u 和 -p 参数来传递您的用户和密码,例如:

PsExec.exe \\server -u user p password -d  cmd /c \\servershared\shared\install.cmd

答案4

如何使用 Windows 资源工具包中的 SOON.exe 在几秒钟内安排批处理文件。

相关内容