我正在尝试将审计规则应用于此代码
function add-acl($Right,$Access)
{
$audit = "mydomain\myaccount","$Right","containerinherit","none","$Access"
$r = new-object system.security.accesscontrol.registryauditrule $audit
$acl.addauditrule($r)
}
$acl = get-acl hklm:\software\_test
add-acl "CreateSubKey" "Success"
add-acl "Delete" "Success"
add-acl "Delete" "Failure"
$acl | set-acl但是这段代码编写的审计规则没有考虑到前面的规则。因此,我希望在应用代码之前检索审计规则。为此,我使用了getauditrules()方法:
$acl.getauditrules($true,$true,??)在??位置,我尝试了NTaccount object和windowsSecurity。它不会返回错误,实际上也不会返回任何东西。这真的很令人失望,因为在使用windows界面时,我可以看到应用了一个审计规则。我不明白什么类型的对象需要getauditrules()方法。有人能帮帮我吗?
发布于 2012-11-22 18:06:08
尝试将-audit参数添加到get-acl cmdlet (此检索SACL、System Access Control List)。
$acl = get-acl hklm:\software\_test -audit您可以使用:
$acl.getauditrules($true,$true, [System.Security.Principal.NTAccount] )或
$acl.getauditrules($true,$true, [System.Security.Principal.SecurityIdentifier] )基于你的目标。
https://stackoverflow.com/questions/13509667
复制相似问题