サーバーのリストを毎分監視し、指定されたイベントでトリガーする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はその役割を果たしており、「server1」からのイベントが画面に表示されているのを確認できますが、その後ロックされます。server1を終了したり、server2に移動したりすることはありません。
何が起こっているのかについて何かアイデアはありますか?
デバッグの場合、これはサーバー上でローカルに実行すると機能します。
$TimeAgo = (Get-Date).addMinutes(-1)
Get-EventLog application -after $TimeAgo
-ComputerNameが導入されたときにカーソルが点滅し、リストの2番目のサーバーに移動しません。
編集:動作しています。最初のサーバーを完了するのに約6〜7分かかります。毎分スキャンしたい場合、これは理想的ではありません。