2017-02-08 2 views
0

У меня есть сценарий powershell. Я создаю дополнительные экземпляры powershell для запуска командлетов.Powershell Запуск и остановка дополнительного экземпляра foreach экземпляра powershell

Мне нужно уметь Start-Process, экземпляр powershell, из вложенного цикла foreach и разрешить процессу запускать и останавливать этот процесс, когда он завершен.

foreach($thing in $things) 
    foreach($stuff in $stuffs) 
      start-process powershell.exe -nonewwindow | get-cmdichooseasanewcmd | export-csv -path stuff 
      stop-process same instantiated process 

Как остановить процесс, который специально привязан к моему циклу foreach, когда он завершен с его задачей?

+0

Что вы хотите сказать? –

+0

Отредактировано для добавления вопроса. Я поспешно нажал задать вопрос! – johnnyb

+0

Есть ли способ вызвать несколько экземпляров powershell.exe для запуска моей команды, а затем выйти из процесса, когда он будет завершен? – johnnyb

ответ

0

Если вы ничего не делаете, требуя учетных данных, вы можете использовать задания.

$job = Start-Job { # Do stuff } 
$job.StopJob() 

Все, связанное полномочия вызывает гнев двойной скачкообразной, но я не думаю, что это работает так, как вы работаете его в вопросе либо так не должно быть проблемой.

В качестве альтернативы вы можете использовать пробелы, но это большая банка червей. См. this link, если вы хотите туда попасть.

+0

нет ничего плохого в пробегах – 4c74356b41

+0

Нет, но они значительно сложнее заданий –

+0

и значительно быстрее;) – 4c74356b41

Смежные вопросы