我正在尝试使用以下 Powershell 脚本对ACLsWin.txt
位于\%Windows%\System32
(例如)中的多个文件(在 中列出)设置审核控制:aaclient.dll
$FileList = Get-Content ".\ACLsWin.txt"
$ACL = New-Object System.Security.AccessControl.FileSecurity
$AccessRule = New-Object System.Security.AccessControl.FileSystemAuditRule("Everyone", "Delete", "Failure")
$ACL.AddAuditRule($AccessRule)
foreach($File in $FileList)
{
Write-Host "Changing audit on $File"
$ACL | Set-Acl $File
}
每当我运行脚本时,我都会收到错误消息PermissionDenied [Set-Acl] UnauthorizedAccessException
。
这似乎来自这些文件的所有者是TrustedInstaller
. 我以管理员身份运行这些脚本(即使我使用的是内置管理员帐户),但它仍然失败。我可以使用“安全”选项卡手动设置这些审核控制,但至少有 200 个文件手动操作可能会导致人为错误。
如何TrustedInstaller
使用 Powershell 绕过和设置这些审计控制?