Get-EventLog -LN System |
% EventID -in (7001, 7002) |
select TimeWritten, EventID, Message -F 20
Read-Host "Input Key"
Read-Host "Input Key"
※高速スタートアップが有効だと、6005,6006は起動、終了時に記録されないとのこと。そのため、ログオン・ログオフ時刻を表示する。
また、Read-Host×2は-Fが非同期になってしまう対策。
①Win10 PowerShell5.1.1※1
Get-EventLog -LogName System |
where {($_.EventID -eq 6005) -or ($_.EventID -eq 6006)} |
select -First 10 |
foreach { Write-Host $_.TimeWritten, $_.Message }
Read-Host "Enterキーを入力して下さい。"
②Win10 PowerShell5.1.1(別解)※1
Get-EventLog -LogName System |
where EventID -in (6005, 6006) |
select -First 10 |
foreach { Write-Host $_.TimeWritten, $_.Message }
Read-Host "Enterキーを入力して下さい。"
③PowerShell3.0、4.0、5.0※2(①~④中で一番簡単な方法)
Get-EventLog -LN System |
where EventID -in (6005, 6006) |
select TimeWritten, Message -F 10
Read-Host "Enterキーを入力して下さい。"
④PowerShell2.0
Get-EventLog -LogName System |
where {($_.EventID -eq 6005) -or ($_.EventID -eq 6006)} |
select TimeWritten, Message -First 10
Read-Host "Enterキーを入力して下さい。"
◆①、②の実行結果
■③、④の実行結果
※1 select TimeWritten, Message -First 10は実行できるはずだが、実行すると何故かRead-Hostが先に実行され、その後イベントログが表示されてしまう。仕方無く、foreachとWrite-Hostを使っている。しかし、PowerShell3.0以下ではselect TimeWritten, Message -First 10が動作する。
※2 動作するバージョンと動作しないバージョンがある。Win10が駄目っぽい。
- ×Win10(2016/10/18現在) PowerShell5.1.14393.206
- ×Win10 PowerShell5.0.10240.16384
- 〇Win8 PowerShell3.0
- 〇Win7 PowerShell5.0.10586.117
- 〇Win7 PowerShell4.0
0 件のコメント:
コメントを投稿