主题
    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 PowerShell 事件日志位于"应用程序和服务日志"
    组中。Windows PowerShell 日志是一种不使用 Windows 事件技术的传统事件日志。若要查看日
    志,请使用针对传统事件日志设计的 cmdlet,如 Get-EventLog。


  查看 Windows PowerShell 事件日志

      可在事件查看器中或使用 Get-EventLog 和 Get-WmiObject cmdlet 来查看 Windows 
      PowerShell 事件日志。若要查看 Windows PowerShell 日志的内容,请键入:

	  get-eventlog -logname "Windows PowerShell"

   
      若要检查事件及其属性,请使用 Sort-Object cmdlet、Group-Object cmdlet 和包含 
      Format 动词的 cmdlet (Format cmdlets)。


      例如,若要查看日志中通过事件 ID 进行分组的事件,请键入:

	  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




目录