这是一个打开审计规则的脚本:
$path = 'C:\...\*'
$ACL = new-object System.Security.AccessControl.FileSecurity
$AccessRule = new-object System.Security.AccessControl.FileSystemAuditRule("everyone","ExecuteFile","success")
$ACL.SetAuditRule($AccessRule)
$dircont = gci $path -include "*.dot"
foreach ($file in $dircont)
{
$ACL | Set-Acl $file
}
但我想要做的是,对于任何给定的文件,删除任何和所有审计规则。因此,假设您不知道哪些用户设置了审核或执行了哪些操作,您只想摆脱这一切......就像我想我可以做的事情:
$AccessRule = new-object System.Security.AccessControl.FileSystemAuditRule("everyone","ExecuteFile","none")
但这只有在您知道哪些用户已配置为对该文件进行审核时才有帮助……希望这是有道理的。谢谢你的帮助。
删除规则有点棘手,你必须查看每个文件......
GetAuditRules 文档(及其神秘参数)
这不能解决您的问题,我不知道如何,但是您的脚本可以稍微清理一下: