これが私が実行しようとしているスクリプトです。 $servers = @("computer1","computer2")
$servers | % {
Start-Job -ScriptBlock {param($c) Get-EventLog -LogName "Application" -Newest 10 -ComputerName $c} -ArgumentList $_
}
私が抱えている問題は、ジョブが「実行中」のままになることです。おそらくこれはパラメーターを渡す際の問題だと思ったので、スクリプトのその部分を次のように削除しました-
$servers | % {
Start-Job -ScriptBlock {param($c) Get-EventLog -LogName "Application" -Newest 10} -ArgumentList $_
}
...そしてそれはうまくいきました。次に、コンピューター名を指定しようとしました(パラメーターの受け渡しの問題であることを確認するため)。
$servers | % {
Start-Job -ScriptBlock {param($c) Get-EventLog -LogName "Application" -Newest 10 -ComputerName "computer1"} -ArgumentList $_
}
予想される効果は、同じサーバーでリモート イベントを 2 回取得することです。代わりに、以前と同じ問題が発生しました。スクリプトは2つのジョブを開始し、両方とも実行状態のままです...永遠に。
アイデアや指針はありますか?
クイック編集:
また、ジョブで実行しようとせずに、リモート マシンで Get-EventLog を使用しようとしました。それはうまくいきます。
最終編集:
キースの回答から、問題は私の環境にあるようです。私は自分でさらにトラブルシューティングを行い、キースの答えを受け入れて、その結論を示しました。