我有一个脚本,当它显示运行它的用户时,我需要将一个审核事件写入Windows安全日志。
除安全日志外,我还可以写入任何日志。
我该怎么做?
New-EventLog -LogName Security -Source "MyApp"
Write-EventLog -LogName Security -source "MyApp" -EntryType Information -EventId 1 -Message "Script run by X"当名称从Security更改为Application或System时,它可以工作--但是,在使用Security时,我始终得到以下信息:
写-EventLog:无法打开日志的注册表项--源"msevent“的”安全性“。一行:1字符:1+写-EventLog -LogName安全-source "msevent“-EntryType Information -Event .++ CategoryInfo : PermissionDenied:(:)写-事件日志,异常+ FullyQualifiedErrorId : AccessDenied,CategoryInfo
我是管理员,甚至在试图修改注册表安全权限之后,我也不知道为什么会发生这种情况。
有人知道我是怎么做到的吗?
发布于 2014-10-28 15:00:25
MS文件:
只有本地安全管理局(Lsass.exe)有安全日志的写权限。没有其他帐户可以请求此特权。若要将事件写入安全日志,请使用AuthzReportSecurityEvent函数。
下面是到文档的链接:事件日志安全
这里还有一个链接,包括从powershell访问Win API,如果您必须使用安全日志:使用PowerShell与Windows交互:第1部分,它应该有助于实现。
很抱歉,我没有提供一个完整的例子,但由于时间限制,这将是目前必须这样做。
问候
发布于 2019-06-27 15:55:01
被提升的进程可以使用AuthzReportSecurityEvent函数写入安全事件日志。
瓦娜拉项目为这个API提供了.NET互操作包装器,并作为Nuget包装提供给.NET开发人员。它可能是一个很好的起点,可以通过PowerShell创建可消费的东西。
https://stackoverflow.com/questions/26611265
复制相似问题