PowerShell寫入事件日誌

2021-09-06 08:26:11 字數 1224 閱讀 1958

可能大家都知道,在powershell中使用「get-eventlog」命令可以查詢windows系統中的事件日誌,如常見的應用程式、系統以及安全日誌。但有的時候我們可能又需要將一些關鍵資訊輸出到事件日誌中,我們就可以使用system.diagnostics.eventlog類,不僅可以將資訊寫入到傳統事件日誌(即系統、應用程式,以及安全)中;還可以建立自己的事件日誌,並將日誌寫入其中。

在寫入事件日誌之前,必須建立**,通過**可以很快的定位該事件的源頭,如下圖1所示。建立事件**後,還需要將其與事件日誌名稱進行關聯,然後再寫入特定的資訊。同乙個事件源只能被寫入到一種事件日誌中,如寫入到應用程式日誌中後,就不能再被寫入到安全或系統日誌中了。

#定義事件源,定義事件日誌類別

$eventlog_source = "powershell_script"

#建立事件日誌**並使之與事件日誌類別關聯

[system.diagnostics.eventlog]::createeventsource($eventlog_source,$eventlog_log)

然後就需要使用「new-object」命令將資訊寫入到事件日誌中,**如下:

$event_test = "ps test for powershell to write."

之上輸出的事件日誌預設級別為「information」,除此之外還有「error」、「warning」、「 successaudit」和「failureaudit」幾種級別。

使用如下**可以將其設定為警告。

如果需要設定事件id為25,則**如下:

#定義事件源,定義事件日誌類別

$eventlog_source = "ps_script"

#如果已存在,則將其刪除

if(![system.diagnostics.eventlog]::sourceexists($eventlog_source))

[system.diagnostics.eventlog]::createeventsource($eventlog_source,$eventlog_log)

else

write-host "$eventlog_source is already registered with another eventlog."

exit

#remove-eventlog $log  #刪除已存在的事件日誌$log

$event_test = ps test for powershell to write."

PowerShell寫入事件日誌

可能大家都知道,在powershell中使用 get eventlog 命令可以查詢windows系統中的事件日誌,如常見的應用程式 系統以及安全日誌。但有的時候我們可能又需要將一些關鍵資訊輸出到事件日誌中,我們就可以使用system.diagnostics.eventlog類,不僅可以將資訊寫入到...

Powershell 查詢 Windows 日誌

論壇裡面有人詢問如何使用powershell指令碼查詢檔案修改的審計日誌,豆子伺服器沒開這個功能,不過嘗試寫了個類似的指令碼可以查詢日誌,並輸出對應的xml內容。基本方法是get winevent,可以指定對應的eventid,獲取列表。如果想獲取這個事件具體的內容,需要根據不同事件的xml內容進行...

C 按日期年月日分別寫入記錄

private static string startpath c rs data private static string startpath environment.currentdirectory region 工具函式區 寫入log public static void writelog ...