Windows Server 2012 EventViewer Powershell 脚本错误

Windows Server 2012 EventViewer Powershell 脚本错误

我遇到了一个有点奇怪的错误,似乎与权限有关,尽管我已经做了大量搜索,但所有的建议都没有起作用。

我有一个 powershell 脚本,直接在 Windows2012 DC 上运行。它尝试从 EventViewer 日志中获取信息,特别是“安全”,但突然间服务器(几天前)显示“Get-EventLog:不允许请求的访问”。

这也是一个非常简单的命令:

Get-Eventlog -Logname Security -Newest 1

但结果如下:

Get-EventLog : Requested registry access is not allowed.
At line:1 char:1
+ Get-EventLog -Newest 1
+ ~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Get-EventLog], SecurityException
    + FullyQualifiedErrorId : System.Security.SecurityException,Microsoft.PowerShell.Commands.GetEventLogCommand

我已尝试过:

  • 授予自己权限(确保管理员/服务器操作员拥有完全访问权限),还临时添加了“所有人”。这是在 RegEdit 中完成的: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\EventLog
  • 事件查看器中清除的安全日志
  • 尝试在辅助 DC 上使用相同权限运行相同脚本,并且成功了。如果我指定 -Computername SecondDC.mydomain.ads,也可以成功,但如果我不指定它或指定 FirstDc.mydomain.ads,则不行。

我感觉有些东西可能损坏了?我不知道现在该去哪里查看。我应该能够以管理员身份从 powershell 中提取事件日志。

答案1

这感觉像是一种解决方法,对于简单而明显的安全监控请求来说它太复杂了,但它在 w2012 上有效:

  • 以管理员身份运行 regedit
  • 导航至 KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog
  • 右键单击“安全”
  • 点击权限
  • 添加一个组(例如“事件日志阅读器”)
  • 选择您添加的组
  • 勾选允许下的读取
  • 退出 regedit 并将该组添加到需要访问的用户
  • 这些用户需要注销并重新登录才能激活

是的,其他人在我之前也发现了这一点http://powerkb.se/?p=614

相关内容