毎分サーバーの一覧を監視し、指定されたイベントでトリガーするPowerShellスクリプトを作成しています。私のスクリプトは完了していませんが、これはこれまでのところです。PowerShell:毎分複数のサーバーイベントログを監視します。
$TimeAgo = (Get-Date).addMinutes(-1)
$servers = "server1","server2","server3","server4"
foreach ($server in $servers)
{
$events = Get-EventLog application -computername $server -after $TimeAgo
foreach ($event in $events)
{
$event
}
}
foreachのはそれが仕事だやっている、私が画面を埋める「サーバー1」からのイベントを見ることができますが、それがロックアップします。これは決してserver1を終了せず、決してserver2に移動しません。
何が起こっているかについてのアイデアはありますか?デバッグのために
が、これは私がサーバー上でローカルに実行した場合に動作します:
$TimeAgo = (Get-Date).addMinutes(-1)
Get-EventLog application -after $TimeAgo
-ComputerNameは私が点滅するカーソルを取得し、それがリストの2番目のサーバーに移動していないことを紹介されたときにです。
編集:動作しています。最初のサーバーを完了するのに約6-7分かかります。毎分スキャンしたい場合、これは理想的ではありません。
これは私が今やっていることです。私は、-newest 50を使用しています。次に、if文を使用して、TimeGeneratedイベントが最後の60秒以内かどうかを確認しています。ありがとう! – Pat