[PowerShell] 取得Windows 開關機紀錄

最近客戶端發生了Windows Server 2008 R2 連續497天未重開機而產生的連線異常問題(KB2553549),

為了查詢最近Windows Server 開關機的紀錄,筆記一下兩種作法:

  • Eventvwr.msc
  • PowerShell

 

第一種作法: 使用event log viewer(事件檢視器)

篩選紀錄:來源是Kernel-General,開機的事件檢視碼是12,關機是13

心中打了8個小節4拍的節奏,結果出來了

好!那如果是Server Core的Windows Server,得用cmdlet Get-Eventlog

Get-EventLog -LogName System -ComputerName 電腦名稱 `
-After 01/01/2015 -Source "Microsoft-Windows-Kernel-General" `
 | Where-Object { $_.EventId -eq 12 -or $_.EventId -eq 13; } `
 | SELECT-Object EventId, TimeGenerated,UserName,Source  `
 | Sort-Object TimeGenerated | Format-Table -Autosize;

事件檢視器與PowerShell Get-EventLog結果是相同的!!

小結: PowerShell真的很神奇。