Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 获取系统用户运行时未分析消息的事件日志 问题_Powershell_Event Log_Get Eventlog_Get Winevent - Fatal编程技术网

Powershell 获取系统用户运行时未分析消息的事件日志 问题

Powershell 获取系统用户运行时未分析消息的事件日志 问题,powershell,event-log,get-eventlog,get-winevent,Powershell,Event Log,Get Eventlog,Get Winevent,我正在尝试安排一个监视远程计算机上事件的作业 我根据geteventlog命令编写了脚本,当我的帐户运行时,它可以正常工作。但是当我以SYSTEM用户身份运行Get EventLog时,返回对象的.Message属性显示以下错误: 找不到源“Microsoft Windows安全审核”中事件ID“4724”的说明。本地计算机可能没有显示消息所需的注册表信息或消息DLL文件,或者您可能没有访问它们的权限。以下信息是事件的一部分:{somedata} 当我以SYSTEM用户身份使用Get WinEv

我正在尝试安排一个监视远程计算机上事件的作业

我根据
geteventlog
命令编写了脚本,当我的帐户运行时,它可以正常工作。但是当我以
SYSTEM
用户身份运行
Get EventLog
时,返回对象的
.Message
属性显示以下错误:

找不到源“Microsoft Windows安全审核”中事件ID“4724”的说明。本地计算机可能没有显示消息所需的注册表信息或消息DLL文件,或者您可能没有访问它们的权限。以下信息是事件的一部分:{somedata}

当我以
SYSTEM
用户身份使用
Get WinEvent
命令时,问题不会出现,并且
消息
部分显示正确

我会坚持使用
Get-WinEvent
,尤其是因为数据更容易解析(由于
ToXML()
方法),但是
Get-EventLog
恰好更快:(

问题: 有人知道为什么
系统运行时
获取事件日志
无法呈现
。消息
,以及如何修复吗

为了避免显而易见的答案:

  • COMPUTER$
    帐户是
    DOMAIN\Event Log Readers
    组的成员
  • COMPUTER$
    帐户对远程计算机上的
    HKEY\U LOCAL\U MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\Security
    具有读取权限
  • 显然,源计算机和目标计算机上的
    Microsoft Windows安全审核
    和相关DLL的注册表项是相同的
试试:
获取WinEvent-LogName“Microsoft Windows安全审核”|其中ID-eq 4724 | select object-ExpandProperty Message

因为您正在使用
get-winevent
可以尝试传递-credential参数吗?正如我已经解释过的,这似乎是相关的,我确实知道
get-winevent
可以工作。但是与
get-Eventlog
相比,它的速度非常慢,因此这个问题是特别的后者。