У меня есть Start-Job -ScriptBlock, который будет работать правильно, если я буду ждать завершения задания.Если я не жду / не получаю статус завершения задания, -ScriptBlock не запускается.Я не уверен, что мне не хватает.Вероятно, не понимает фундаментальное поведение фоновых заданий PS.
Это работает на сервере Win 2012R2.Ниже приведен мой дамп $ PSVersionTable:
Name Value
---- -----
PSVersion 5.0.10586.117
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.10586.117
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Я пытался разместить тесты до и после -ScriptBlock, чтобы перехватить другие ошибки, но весь -ScriptBlock, похоже, не работает вообще.
Например, в настоящее время в моей настройке работает следующее:
Start-Job -ScriptBlock {
New-Item -Path 'c:\ivanti-patch-automation\logs\tempfile.txt' -ItemType File
} | Wait-Job
Файл создан правильно.
Следующее не работает.Единственное изменение - удаление конвейерной команды Wait-Job.
Start-Job -ScriptBlock {
New-Item -Path 'c:\ivanti-patch-automation\logs\tempfile.txt' -ItemType File
}
Я ожидал, что оба сработают, и не уверен, почему ожидание завершения задания влияет на его выполнение.