主題 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