运行这个命令
$processesToSpawn = 3 for($i= 1; $i -le $processesToSpawn; $i++){ psexec \\computername -i 2 -u "username" -p "password" "c:\myapp.exe" }
产生以下错误
psexec : At C:\mypsScript.ps1:75 char:13 + psexec \\computername -i 2 -u "username" -p " ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError
它执行并运行循环的第一个迭代,并在RDP会话中打开我想要的程序,但在第一次迭代之后立即失败。
编辑:只发生在IDE中,从PS命令行运行脚本运行良好。 所以考虑这个问题解决了。
此外,我不得不将-d开关添加到PSExec命令(不要等待进程终止(非交互式))。
可能的问题是,psexec不会等待您的stream程/应用程序完成。
你可以尝试下面的代码,看看它是否工作?
psexec \\computername -i 2 -u "username" -p "password" cmd.exe /c "c:\myapp.exe"
(请参阅http://forum.sysinternals.com/psexec-finishes-before-child_topic27463.html )