about_Eventlogs
主題
about_EventLogs
簡短描述
Windows PowerShell 會建立名為 "Windows PowerShell" 的 Windows 事件記錄
檔來記錄 Windows PowerShell 事件。您可以在事件檢視器中檢視這個記錄,或使用
取得事件的 Cmdlet,例如 Get-EventLog Cmdlet。根據預設,Windows PowerShell
引擎和提供者事件會記錄在事件記錄檔中,但是您可以使用事件記錄檔喜好設定變數
來自訂事件記錄檔。例如,您可以新增有關 Windows PowerShell 命令的事件。
完整描述
Windows PowerShell 事件記錄檔會記錄 Windows PowerShell 作業的詳細資料,
例如啟動和停止程式引擎以及啟動和停止 Windows PowerShell 提供者。您也可以記
錄有關 Windows PowerShell 命令的詳細資料。
在 Windows Vista 與較新版本的 Windows 中,Windows PowerShell 事件記錄檔
是位在 [應用程式和服務記錄檔] 群組中。Windows PowerShell 記錄檔是傳統的事件
記錄檔,並未使用 Windows Eventing 記錄。若要檢視記錄檔,請使用針對傳統事件
記錄檔所設計的 Cmdlet,例如 Get-EventLog。
檢視 Windows PowerShell 事件記錄檔
您可以在事件檢視器中檢視 Windows PowerShell 事件記錄檔,或者使用
Get-EventLog 和 Get-WmiObject Cmdlet 加以檢視。若要檢視 Windows
PowerShell 記錄檔的內容,請輸入:
get-eventlog -logname "Windows PowerShell"
若要檢查事件及其屬性,請使用 Sort-Object Cmdlet、Group-Object Cmdlet 以
及包含 Format 動詞 (Format Cmdlet) 的 Cmdlet。
例如,若要在記錄檔中檢視根據事件識別碼所分組的事件,請輸入:
get-eventlog "Windows PowerShell" | format-table -groupby eventid
或是輸入:
get-eventlog "Windows PowerShell" | sort-object eventid ` |
group-object eventid
若要檢視所有的傳統事件記錄檔,請輸入:
get-eventlog -list
您也可以使用 Get-WmiObject Cmdlet 來使用事件相關的 Windows Management
Instumentation (WMI) 類別檢查事件記錄檔。
例如,若要檢視事件記錄檔的所有屬性,請輸入:
get-wmiobject win32_nteventlogfile | where `
{$_.logfilename -eq "Windows PowerShell"} | format-list -property *
若要尋找與 Win32 事件相關的 WMI 類別,請輸入:
get-wmiobject -list | where {$_.name -like "win32*event*"}
如需詳細資訊,請輸入 "get-help get-eventlog" 和 "get-help get-wmiobject"。
選取 Windows PowerShell 事件記錄檔的事件
您可以使用事件記錄檔喜好設定變數來決定哪些事件會記錄在 Windows PowerShell
事件記錄檔中。
有六種事件記錄檔喜好設定變數;三種記錄元件 (引擎 (Windows PowerShell
程式)、提供者和命令) 各有兩個變數。LifeCycleEvent 變數會記錄一般的啟動與
停止事件。
Health 變數會記錄錯誤事件。
下表列出事件記錄檔喜好設定變數。
變數 描述
-------------------------- ----------------------------------------
$LogEngineLifeCycleEvent 記錄 Windows PowerShell 的啟動和停止。
$LogEngineHealthEvent 記錄 Windows PowerShell 程式的錯誤。
$LogProviderLifeCycleEvent 記錄 Windows PowerShell 提供者的啟動和
停止。
$LogProviderHealthEvent 記錄 Windows PowerShell 提供者的錯誤。
$LogCommandLifeCycleEvent 記錄命令的啟動和完成。
$LogCommandHealthEvent 記錄命令錯誤。
(如需 Windows PowerShell 提供者的詳細資訊,請輸入
"get-help about_providers")。
根據預設,只會啟動下列的事件類型:
$LogEngineLifeCycleEvent
$LogEngineHealthEvent
$LogProviderLifeCycleEvent
$LogProviderHealthEvent
若要啟用事件類型,請將該事件類型的喜好設定變數設定為 $true。例如,若要啟
用命令的生命週期事件,請輸入:
$LogCommandLifeCycleEvent
或是輸入:
$LogCommandLifeCycleEvent = $true
若要停用事件類型,請將該事件類型的喜好設定變數設定為 $false。例如,若要
停用命令的生命週期事件,請輸入:
$LogProviderLifeCycleEvent = $false
變數設定只會套用到目前的 Windows PowerShell 工作階段。若要將這些設定套用
到所有的 Windows PowerShell 工作階段,請將它們新增到 Windows PowerShell
設定檔。
安全性和稽核
Windows PowerShell 事件記錄檔是設計來表示活動,並提供作業詳細資料以供疑難
排解使用。
不過,如同大多數的 Windows 應用程式事件記錄檔,Windows PowerShell 事件記
錄檔在設計時並未考量到安全性。不該用來稽核安全性或是記錄機密或專屬的資訊。
事件記錄檔是為了讓使用者讀取及了解而設計。使用者可對記錄檔進行讀取及寫
入。居心不良的使用者可以讀取本機或遠端電腦上的事件記錄檔、記錄假造的資
料,然後避免其活動遭到記錄。
請參閱
Get-EventLog
Get-WmiObject
about_Preference_Variables