我正在尝试获取系统和应用程序事件日志的securitydescriptor,看看它是否正确。当您将其更改为自定义设置时,将在注册表项customSD中设置该设置。问题是,Get-Winevent似乎只返回channelAccess的默认设置,而忽略任何customSD(这种行为发生在Windows2016服务器上)
执行此操作:
$log = Get-WinEvent -ListLog "system"
$log.SecurityDescriptor = $SecurityDescriptor
$log.SaveChanges()将在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\EventLog\System下正确创建customSD注册表项,并且它包含正确的新SDDL字符串。
但是,运行下面的代码:
$log = Get-WinEvent -ListLog "system"
$log.SecurityDescriptor这将返回默认的channelAccess SDDL,完全忽略customSD密钥。因此,无法验证SDDL是否成功应用。(读取Reg密钥不是一个选项,因为我们希望在DSC中使用它,而DSC使用Get-Winevent cmdlet。是的,它在DSC中也失败了,因为验证更改的测试总是失败的)
知道这是怎么回事吗?
发布于 2017-11-02 02:04:26
我不确定为什么Get-WinEvent没有提供更新值,但您可以使用DSC Registry resource而不是Get-WinEvent来检查注册表值。
https://stackoverflow.com/questions/46836012
复制相似问题