Запустить сценарий powershell из сценария powershell

У меня есть Perl-скрипт perl1.pl. Внутри сценария perl я вызываю сценарий PowerShell script1.ps1. В script.ps1 я вызываю другой сценарий, например script2.ps1, с локальными переменными в качестве параметров. Я подготовил сценарий PowerShell script3.ps1. Я хочу запустить script3.ps1 из script1.ps1 параллельно со script2.ps1. Мне нужно передать те же аргументы (локальные переменные в качестве аргумента), с которыми работает sample_script2.ps1. Сначала нужно вызвать script3, затем script2.

Я пробовал powershel.exe следующим образом

C: .. \ powershell.exe -FilePath script3.ps1 $ a, $ b, $ c

Я включил обход, политику выполнения. $ A $ b $ c - это локальные переменные. Но, похоже, происходит то, что командная строка открывается (так как именно так вызываются наши скрипты) и начинает выполнение script1.ps1, а когда дело доходит до Вышеупомянутая команда останавливается. Я набираю "exit" в приведенной выше командной строке, а затем запускается script2.

Как я могу добиться того же, т.е. параллельного запуска script3.ps1 с script2.ps1.


person JustSam    schedule 03.02.2014    source источник


Ответы (1)


Я не слишком разбираюсь в PowerShell, но знаю, что вы можете запустить фоновые задания в PowerShell.

Когда командлет выполняется как фоновое задание, работа выполняется асинхронно в его собственном потоке ...

Командлет (command-let), который вы хотите использовать для создания фонового задания: Start-Job .

Start-Job -FilePath c:\scripts\sample.ps1

Эта команда запускает сценарий Sample.ps1 в качестве фонового задания. Затем вы можете использовать Receive-Job, чтобы получить отдачу от всех ваших работ.

Подобный вопрос?

person E.V.I.L.    schedule 03.02.2014