Powershell 拒绝访问 Windows 安全日志

Powershell 拒绝访问 Windows 安全日志

我创建了一个 Powershell 脚本,用于从 Windows 事件日志的安全部分检索信息:

Get-EventLog -Log "Security" -EntryType Warning,Error,FailureAudit -After (Get-Date).addDays(-1)

如果我在登录服务器(以管理员身份)时运行该脚本,则效果很好。

当我尝试以其他用户身份运行此程序时,我遇到了问题。在我的例子中,Powershell 脚本是从 Oracle 的作业调度程序中调用的。此调度程序在帐户“NT SERVICE\OracleJobSchedulerXE”下运行。

首次运行时,产生以下错误:

 "Get-EventLog : Requested registry access is not allowed."

基于一些研究,我尝试了以下方法:

  • 将“NT SERVICE\OracleJobSchedulerXE”用户添加到“事件日志读取器”组
  • 使用 regedit 转到 HKLM\System\CurrentControlSet\Services\Eventlog\Security,右键单击并选择“权限”
    • 添加了“事件日志读取器”组,编辑了权限并选中了查询值、枚举子键、通知、读取控制复选框
  • 通过组策略将“NT SERVICE\OracleJobSchedulerXE”用户添加到“管理审核和安全日志”用户分配

但是,我仍然收到错误,尽管与第一个错误略有不同:

  "Get-EventLog : Cannot open log Security on machine .. Windows has not provided an error code."

我需要做什么才能让“NT SERVICE\OracleJobSchedulerXE”访问安全日志?

相关内容