3

複数のサーバーでコマンドを実行して出力を処理する必要があるpowershell 2.0スクリプトがあります。バックグラウンドジョブで各サーバーのコマンドと処理を実行したい。

コマンドは問題なく動作し、0.5 秒以内に終了します。

Invoke-Command -ComputerName $client -ScriptBlock { #do some stuff }

しかし、これをバックグラウンド ジョブで実行すると、ジョブは終了しません。

Start-Job { Invoke-Command -ComputerName $client -ScriptBlock { #do some stuff } }

問題が何であるかを誰かが考えていますか?

4

4 に答える 4

4

別の方法で行う必要があるようです:

http://technet.microsoft.com/en-us/library/hh849698.aspx

リモート コンピューターでバックグラウンド ジョブを実行するには、多くのコマンドレットで使用できる AsJob パラメーターを使用するか、Invoke-Command コマンドレットを使用してリモート コンピューターで Start-Job コマンドを実行します。詳細については、about_Remote_Jobs を参照してください。

于 2013-07-17T09:42:18.747 に答える
1

これは、少なくともPowershell 5でも機能します

invoke-command -asjob -computer $PC -scriptblock { ## do stuff }
于 2016-06-30T02:39:51.263 に答える