いつもイベントビューアで見ているのだが、
ちゃっとスクリプトで表示できないかなと
powershellを起動
管理者として
スクリプト実行はデフォルトで許可されていないので
Set-ExecutionPolicy RemoteSigned
y
---
$month=1
$lastday=30
$month=[int]$Args[0]
if($month -eq (1 -or 3 -or 5 -or 7 -or 8 -or 10 -or 12)){
$lastday=31
}else{
if($month -eq 2){
$lastday =28
}else{
$lastday=30
}
}
$LogName = "System"
$StartTime = New-Object System.DateTime 2019,$month,01,00,00,00,00
$EndTime = New-Object System.DateTime 2019,$month,$lastday,23,59,59,59
$EventsList = Get-WinEvent -FilterHashTable @{LogName=$LogName; StartTime = $StartTime; EndTime = $EndTime}
$EventsList = $EventsList |Where-Object {($_.Id -eq 12 -and $_.ProviderName -eq "Microsoft-Windows-Kernel-General") -or ($_.Id -eq 109)}
$EventsList | Format-Table -Property TimeCreated
---
eve.ps1 というファイル名にし、月を指定する。
実行例
PS C:\users\taro> .\eve.ps1 3
TimeCreated
-----------
2019/03/28 19:00:30
2019/03/28 19:00:09
2019/03/23 6:02:26
2019/03/23 6:02:05
2019/03/21 18:23:56
2019/03/21 18:23:31
2019/03/14 17:22:30
2019/03/14 17:22:10
2019/03/13 21:50:36
2019/03/13 21:50:16
2019/03/13 12:39:06
2019/03/13 12:38:46
2019/03/13 2:31:16
2019/03/13 2:31:00
2019/03/12 17:37:02
2019/03/12 17:36:44
2019/03/11 8:46:52
2019/03/11 8:46:32
2019/03/10 15:42:36
2019/03/10 15:42:13
2019/03/10 4:02:14
2019/03/10 4:01:50
2019/03/10 3:51:38
並び順が降順なのと、終了時間が2回出るのがアレ
月を指定しないとエラーになるのもアレ
うるう年未対応、月末日の求め方がアレ
年が固定で書いてあるのがアレ
まあ、イベントビューアを見るのとあまり変わらないけど、
PowerShellでいろいろできることがわかった。