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




目錄