Powershell启动和停止每个循环的附加Powershell实例

Powershell启动和停止每个循环的附加Powershell实例,powershell,Powershell,我有一个powershell脚本,我正在生成其他powershell实例来运行cmdlet 我需要能够从嵌套的foreach循环启动进程,一个powershell实例,并允许该进程运行,然后在该进程完成时停止该进程 foreach($thing in $things) foreach($stuff in $stuffs) start-process powershell.exe -nonewwindow | get-cmdichooseasanewcmd | expo

我有一个powershell脚本,我正在生成其他powershell实例来运行cmdlet

我需要能够
从嵌套的foreach循环启动进程
,一个powershell实例,并允许该进程运行,然后在该进程完成时停止该进程

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循环完成其任务时,我如何停止与它特别关联的进程?

如果您不做任何需要凭据的事情,您可以使用作业

$job = Start-Job { # Do stuff }
$job.StopJob()
任何涉及凭证的事情都会引起双重跳跃的愤怒,但我认为它也不会像你在问题中运行它的方式那样起作用,所以不应该是个问题


或者,您可以使用运行空间,但这是一个很大的蠕虫罐。看看你是否想去那里。

你的问题是什么?编辑后添加我的问题。我急忙按了问!是否有方法生成多个powershell.exe实例以运行我的命令,然后在完成后退出该过程?“生成多个powershell.exe实例以运行我的命令”-为什么需要这样做?没有,但它们比作业复杂得多,速度也快得多;)