我正在尝试安排一项监视远程计算机上的事件的工作。
我基于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
的读取特权,mock(Context::class.java)
和相关DLL的注册表项在源计算机和目标计算机上都是相同的。答案 0 :(得分:0)
尝试: Get-WinEvent -LogName“ Microsoft-Windows-安全性-审核”其中,ID -eq 4724 |选择对象-扩展属性消息