问题
我正在尝试安排一个监视远程机器上事件的作业。
我根据Get-EventLog
命令编写了脚本,并且在我的帐户运行时它可以正常工作。但是当我Get-EventLog
以SYSTEM
用户身份运行时,.Message
返回对象的属性显示以下错误:
找不到源“Microsoft-Windows-Security-Auditing”中事件 ID“4724”的描述。本地计算机可能没有必要的注册表信息或消息 DLL 文件来显示消息,或者您可能没有访问它们的权限。以下信息是事件的一部分:{somedata}
当我Get-WinEvent
以用户身份使用该命令时SYSTEM
,问题不会出现并且.Message
部件显示正确。
我会坚持下去Get-WinEvent
,特别是因为数据更容易解析(多亏了该ToXML()
方法),但Get-EventLog
恰好速度非常快:(
问题
有谁知道为什么用户运行时Get-EventLog
无法渲染以及如何修复它?.Message
SYSTEM
为了避免明显的答案:
- 该
COMPUTER$
帐户是DOMAIN\Event Log Readers
组的成员, - 该
COMPUTER$
帐户确实HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
对远程计算机具有读取权限, - 显然,源计算机和目标计算机上的注册表项
Microsoft-Windows-Security-Auditing
和相关 DLL 是相同的。