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