Powershell の Get-EventLog コマンドと schedule コマンドを利用して
Winsows イベントログを監視する方法の紹介。
まるで tail コマンドを利用しているように扱えます。
今回は system ログの監視をして見ます。緑色が powershell コマンドです。
schedule --uniq_last --process powershell --args "/c Get-Eventlog -logname system -newest 10" --option trim --pipe-process sort --ignore-filter InstanceID --ignore-filter ---- |
powershell の出力は上から順に表示されるので --pipe-process を通して
ソートしています。
Poweshell 自体は起動が重いので --time オプションを利用する事により、
監視時間の間隔を調整する事も可能です。
また「schdule コマンドの引数が長すぎる」という方は doskey を利用して、
下記のように汎用コマンドとして登録すると、
doskey watch=schedule --option item_hint_space --option trim --option space2single --option tabs2single --uniq_last --process "cmd /c" --args "$1 $2 $3 $4 $5 $6 $7 $8 $9" |
通常の powershell コマンドの前に watch を付けるだけで
watch powershell /c Get-Eventlog -logname system -newest 10
監視する事もできます。なお、この場合 sort はしていませんので tail とは
似ているようで出力は異なりますが、他のコマンドを監視するときにも使える、
便利なショートカットコマンドになりますね。
0 コメント:
コメントを投稿