Запуск этой команды
$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 не ждет завершения вашего процесса / приложения.
Не могли бы вы попробовать следующий код, чтобы проверить, работает ли он?
psexec \\computername -i 2 -u "username" -p "password" cmd.exe /c "c:\myapp.exe"
(видеть http://forum.sysinternals.com/psexec-finishes-before-child_topic27463.html)