2017-02-08 7 views
0

私はpowershellスクリプトを持っています。私は、追加のpowershellインスタンスを生成して、コマンドレットを実行しています。Powershell追加のpowershellインスタンスの開始と停止foreachループ

ネストされたforeachループからStart-Process(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ループがタスクを完了したときに特に関係するプロセスを停止するにはどうすればよいですか?

+0

あなたの質問は何ですか? –

+0

私の質問を追加するように編集されました。私は急いで質問を押しました! – johnnyb

+0

私のコマンドを実行するためにpowershell.exeの複数のインスタンスを生成し、その完了時にプロセスを終了する方法はありますか? – johnnyb

答えて

0

資格情報を要求していない場合は、ジョブを使用できます。資格情報を含む

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

ものは、二重ホッピングの怒りを呼び出しますが、私はそれはあなたが問題になることはありませんどちらかので、あなたの質問にそれを実行しているように動作しないと思います。

また、ランスペースを使用することもできますが、それはワームの大きな原因です。そこに行きたい場合はthis linkを参照してください。

+0

実行スペースで何も問題ありません。 – 4c74356b41

+0

いいえ、しかし、それらはジョブよりかなり複雑です –

+0

とかなり高速です;) – 4c74356b41

関連する問題