Windows
コマンドプロンプト
PowerShell
cmd
イベントビューアー

Windows標準のイベントビューアーをコマンドラインからアレコレする。

ちょっと昔の退勤時間思い出せなくて、Windowsのシャットダウン時間を確認する時だけに使われるイベントビューアーくん。

イベントビューアーをコマンドラインから呼び出す際のアレコレを調べたのでまとめます。

知ってる人にとってはなんてことない知識だとは思うんですが、調べても纏まってる日本語ドキュメントでてこなかったんですよね。
僕の調べ方がイケなかったんでしょうか?

イベントビューアーを起動する

eventvwr

コマンドプロンプトまたはPowerShellから下記のいずれかを叩けば起動します。

eventvwr.exe
eventvwr.msc

拡張子".msc"というのはWindowsの管理ツール類につく拡張子らしいです。

実態は下記にあります。
C:\Windows\System32

基本的にはパスが通ってるはずなのでフルパス入れなくても問題ないです。

Show-EventLog

PowerShell限定で下記コマンドでも呼び出すことが出来ます。

Show-EventLog

リファレンス1見る限りではeventvmr.exeのエイリアスのようです。
どちらを使っても変わらなそうですが、こちらの方がPowerShell使いこなしてる感が出てる気がします。

オプションについて

イベントビューアーを呼び出す際にオプションが指定できます。
コマンドラインだけでここまでやれるとは思っていませんでした。

eventvwr.exe /?

"/?"と文字列を追加することでヘルプを表示させることができます。
あまり見慣れない画面ですよね。
隠しコマンド見つけたみたいでわくわくします。

image.png

eventvwr.exe <コンピュータ名>

イベントを取得する端末を指定します。未指定の場合はローカルを参照します。

eventvwr.exe /v:<クエリファイルまたはビューファイル>

渡した定義したカスタムビューを表示した状態でイベントビューアーを起動します。
XMLはGUI操作でカスタムビューのプロパティから参照したり、エクスポートすることが出来ます。

eventvwr.exe /c:<チャネル>

指定したチャネルを表示した状態でイベントビューアーを起動します。

eventvwr.exe /f:<フィルター>

表示するイベントに対してフィルターをかけます。記述方法はXMLと同じ形式です。

イベントログを取得するだけでよいのなら…

イベントログを取得するだけでよいのであれば下記のようなコマンドがPowerShellにあります。

Get-WinEvent

このコマンドで調べるといろいろと出てくるのでイベントビューアーを開くこと自体が目的でないのならこちらでもよいかもしれません。
https://forsenergy.com/ja-jp/windowspowershellhelp/html/62e7642c-51d4-47d1-97fe-62b08197896a.htm

おわり

/? でヘルプが出てくるの知りませんでした。
ちらっとタスクマネージャーやらデバイスマネージャーやらの他のマイクロソフト産Windowsツールでも試してみたんですけどヘルプでてこないんですよね。
イベントビューアーだけ(と思われる)の謎仕様。不思議だなぁ。
⇒どうやらほかのWindowsツールやコマンドでも一部/?使えるみたいです。
困ったら/?も試してみるといいかもしれないですね。