Я пытаюсь вызвать Start-Job в PowerShell. Когда я это делаю, он создает фоновую оболочку PowerShell со следующими аргументами:
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Version 5.0 -s -NoLogo -NoProfile -EncodedCommand [encoded command I want to run in base64]
Однако команда powershell, похоже, никогда не завершается, какую бы команду я ей ни отправлял.
Я попытался создать экземпляр PowerShell следующим образом:
powershell.exe -s
И это также, похоже, создает экземпляр, который кажется замороженным, не выполняющим и не выполняющим никаких действий. Просматривая онлайн, я не могу найти никаких ссылок на аргумент -s.
Кто-нибудь знает, для чего он нужен или как от него избавиться, чтобы мои стартовые вакансии работали правильно?
Изменить: возможно, что -s является сокращением для -sta, но моя команда не зависает с помощью -sta, но использует -s.
Edit2: С тех пор я обнаружил, что -s - это сокращение для -ServerMode, по-видимому, вариант Legacy Powershell 2.0. Понятия не имею, почему это добавляется при использовании Start-Job.
Edit3: Я использую следующую команду:
$deploymentsJobs += Start-Job -InitializationScript { SomeSmallFunction } (AnotherFunction) -ArgumentList $arg1, $arg2, $arg3}