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