Запустить скрипт 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.

1 ответ

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

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

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

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

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

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

Другие вопросы по тегам