編集 2011 年 9 月 26 日:まだ回答を探しています。何かアイデアがあれば、投稿してお知らせください。
問題のまとめ
自分のコンピューターまたは近くのコンピューターに対して Get-EventLog を実行すると、異常は見られず、すべてが期待どおりに機能します。
遠くにあるコンピューターに対して実行すると (平均 ping は108ms
)、予期しない動作を開始します。返される各イベントの間に長い一時停止があり、完了するまでに非常に長い時間がかかります。
これが私が使用しているコマンドです:
Get-EventLog -ComputerName [computername] -LogName Application -newest 100
コマンドがリモート コンピューター上のすべての情報を収集し、それをまとめて私に送り返すことを期待していましたが、そうではないようです。
コマンドを普通に実行してオンラインストップウォッチなどでざっくり計測すると4分3秒くらいの結果。
私がそれを使用してそれを測定するとき:
Measure-Command {Get-EventLog -ComputerName yanhong03 -LogName Application -newest 100}
結果は約 31 秒です (ただし、情報は何も出力されません)。
だから、2つの質問:
- イベントが (一見) 1 つずつ取得されるのはなぜですか?
- Measure-Command を使用すると、コマンドが完了するまでの時間が実際に変わるのはなぜですか?
その他の詳細:
Powershell v2 を実行しており、これらのコマンドを実行するために Powershell ISE のシェルを使用しています。OSはWindowsXPです。