PowerShell для получения на выходе из удаленной оболочки PowerShell работа
Привет,
Я запускаю следующий сценарий powershell для запуска исполняемого файла на нескольких серверных машинах. Этот исполняемый файл занимает около 1 минуты для завершения и вывода результатов в окно консоли:
$servers = 'Srv001', 'Srv002'; $ErrorActionPreference = "STOP"; $credentials = Get-Credential 'adm\runner'; foreach($srv in $servers){ $session = New-PSSession -ComputerName $srv -Credential $credentials; Invoke-Command -Session $session -ScriptBlock { Write-Host ('Executing task on ' + $args) -ForegroundColor Green; PowerShell.exe -Command "& ""cmd.exe /C C:\Miner.exe"""; Write-Host '---TEST COMPLETE---' -ForegroundColor Green; } -ArgumentList $srv; #-AsJob } Remove-PSSession *;
теперь-все это работает нормально, но в текущем примере мне нужно подождать 2 минуты, так как я запускаю это на 2 серверах. Чтобы решить эту проблему, я добавил переключатель "- AsJob " в командлет Invoke-Command (закомментированная часть кода), но теперь я потерял представление результатов, потому что теперь они работают в фоновом режиме как задания и не выводят результаты в консоль.
Есть какие-нибудь мысли, как я мог бы получить это обратно? Хотя у меня есть 2 новых объекта - 2 задания, но они, похоже, не имеют свойства "выводить" или что-то в этом роде....
Спасибо!
Что я уже пробовал:
См. код в описании проблемы.