0

数日遊んだ後も、PowerShellに適応しようとしています。

invoke-commandに関して次の質問があります。私のシナリオは次のとおりです。コンピューターのリストを渡すときに、invoke-commandとその機能を使用して複数のコンピューターに一度に「スレッド化」しようとしています。

$ipList=@()
invoke-command $ListOfComputers -ScriptBlock {
    #do something, following is an imaginary cmdlet
$ipList+=get-ip-of-machine
}

それらのコンピューターのどれに接続できないかを追跡したいと思います。それらの例外をキャッチする方法はありますか?または、一度に1台のコンピューターに接続し、接続をテストし、それを高速化するためにジョブとしてinvoke-commandを実行する必要がありますか?

try {} catch {}うまくいかなかったようです。

4

1 に答える 1

0

以下のコマンドはどうですか、テスト接続はコンピューターの配列をパラメーターとして受け取ることができます

$res = テスト接続 server1,server2 -Count 1 -ThrottleLimit 10 -AsJob | 待機ジョブ | 受信ジョブ | ? {-not ($_.ResponseTime -eq $null)} | 住所を選択

于 2012-11-01T10:34:42.930 に答える