2015-07-13 66 views
4

我正在尝试在AD中的计算机对象上使用Set-Acl。首先我得到的ACL使用:AD计算机上的Set-ACL对象

$acl = (Get-Acl AD:\'CN=Tester1,OU=Ou1,OU=OU2,OU=OU3,DC=Contoso,DC=com').Access 

这给我所有的计算机对象的ACL。然后我使用:

$acl.AddAccessRule((New-Object System.Security.AccessControl.FileSystemAccessRule("Computername","FullControl"))) 

任何正确的方向指针会有所帮助。我的目标是将计算机对象添加到计算机对象'Tester1'并授予完全访问权限。

回答

5

ActiveDirectory不是文件系统。您必须为AD对象创建一个新的ACE,作为ActiveDirectoryAccessRule

$path = "AD:\CN=Tester1,OU=Ou1,OU=OU2,OU=OU3,DC=Contoso,DC=com" 
$acl = Get-Acl -Path $path 
$ace = New-Object Security.AccessControl.ActiveDirectoryAccessRule('DOMAIN\Computername','FullControl') 
$acl.AddAccessRule($ace) 
Set-Acl -Path $path -AclObject $acl