閩人
我們可以借助Power Shell命令行直接查看系統(tǒng)中保存的所有日志文件。以管理員身份啟動Powe r Sh e l l,輸入“Wev tUtil el”命令并回車(每輸入一條命令均需回車確認(rèn),下同),即可查看到本機中所有的日志文件。繼續(xù)執(zhí)行“Wev tUtil el |measure-object”命令,還可以統(tǒng)計日志的總數(shù)(圖2)。
我們有時需要從眾多日志文件中查找指定的日志,特別是查詢其中各大類日志下不分框的小類。比如在系統(tǒng)出現(xiàn)故障時要從“系統(tǒng)”日志框內(nèi)的“錯誤”日志中查找出錯的原因。假設(shè)故障是在2021年9月1日之后出現(xiàn)的,以管理員身份啟動Power Shell,執(zhí)行“Get-E v e n t L o g - L o g N a m e S y s t e m-EntryType Error -After 2021-09-01”命令,就能查看到該日期之后的所有錯誤日志(圖3)。
命令解釋:
這里的“S ystem”對應(yīng)圖1中的“Win d ows日志→系統(tǒng)”、“Error”對應(yīng)圖1右側(cè)窗格中“級別”下的“錯誤”、“-After”表示指定日期后的日志。如果需要查看其他日期后的日志,請自行更改命令中的相關(guān)參數(shù)。
從圖3中可以看出,系統(tǒng)默認(rèn)保存的日志內(nèi)容非常多。如果系統(tǒng)故障是最近出現(xiàn)的,我們可以直接查看最近記錄的日志文件,如執(zhí)行“Get-EventLog -LogName System -Entr yType Error-newest 5”命令(數(shù)字5可隨意修改),可以查詢到最近記錄的5條日志(圖4)。
大量的舊日志文件還會占用過多的系統(tǒng)空間,我們也可以使用PowerShell來備份和刪除不需要的日志文件。
以管理員身份啟動Powe r Sh e l l,執(zhí)行“get-eventlog -list”命令。在隨即打開的返回結(jié)果界面中,“M a x(K)”表示日志占用的最大空間、“E n t r i e s”表示保存的日志數(shù)量。比如在筆者的電腦中,“Security”日志保存了33026條記錄(圖5)。
如果自己的電腦最近未出現(xiàn)安全方面的問題,那么可以刪除“S e c u r i t y”日志,在上述的窗口中執(zhí)行“ We v t U t i l c lsecurity /bu:d:\security _back.evtx”命令(如果要備份和清除其他的日志,替換其中的“Security”代碼即可),即可將當(dāng)前系統(tǒng)中的“Sec ur i t y”日志先備份到“D:\security _back.evt x”,再刪除“事件查看器”中的全部“安全日志”。操作完后打開“事件查看器”,可以看到“安全日志”中僅保留了一條日志清除記錄(圖6)。以后如果想查看剛剛備份的日志,只要雙擊“D:\security _back.evt x”,打開“事件查看器”后依次展開“保存的日志→Security”即可。
通過上述的命令只是刪除某一類別的日志文件,如果想刪除本機中保存的所有日志文件,執(zhí)行“Get-WinEvent -ListLog * -Force| % { Wevtutil.exe cl $_ .LogName }”命令即可(圖7)。不過有些日志文件需要System賬戶權(quán)限才能刪除,對于那些無法刪除的日志,我們可以借助“psexec.exe”啟動“事件查看器”,然后根據(jù)圖7所示窗口顯示的無法刪除日志的名稱,在“事件查看器”中找到對應(yīng)的日志,右擊它并選擇“清除日志”就可以了(圖8)。