Я пытаюсь запустить исполняемый файл с аргументами с удаленного компьютера в PowerShell, и пока я получил команду PowerShell, это не правильно обрабатывать ошибки, которые выполняет исполняемый файл.Запуск исполняемого файла через PowerShell и его правильное возвращение кода ошибки исполняемого файла
Таким образом, приведенный ниже сценарий выполняется так, как ожидается, если файл $ filename указывает на существование, но скрипт также будет работать успешно, если файл не работает, что приводит к проблемам в планировщике. Я пытаюсь связать этот в. Мое ожидание было бы в том, что PowerShell выдает ошибку, такую как «Файл не найден», но этого не происходит. Итак, есть ли что-нибудь, что я могу добавить к этому сценарию, чтобы это произошло?
$ErrorActionPreference = "stop"
$rSession = New-PSSession -ComputerName ServerName
$fileName = c:\file.txt
Invoke-Command -ScriptBlock {Start-Process -FilePath "D:\CAMRA\PFX\PFLNS.EXE" -ArgumentList " /SD:\CAMRA\CAMINI\Z_PRODNP_SQL_TEST.INI GLSWEEP 50 {DN}~$fileName~{T}" -Wait} -Session $rSession
Remove-PSSession $rSession
Также возможно, что я не вызывая .exe правильно через PowerShell, чтобы делать то, что я ищу, поэтому я был бы открыт для любых предложений о том, как я кулачок изменить этот сценарий.
Спасибо, Фил
Возможный дубликат [Получение ExitCode с помощью Start-Process и WaitForExit вместо -wait] (http://stackoverflow.com/questions/10262231/obtaining-exitcode-using-start-process-and-waitforexit- вместо ожидания) – jveazey