【发布时间】:2013-02-07 20:17:49
【问题描述】:
我试图在 AD 中为新创建的用户设置一些权限。 创建文件夹后,我尝试像这样设置各种权限:
$Rights = [System.Security.AccessControl.FileSystemRights]::FullControl
$Inherit = @([System.Security.AccessControl.InheritanceFlags]::ContainerInherit,[System.Security.AccessControl.InheritanceFlags]::ObjectInherit)
$Propagation = [System.Security.AccessControl.PropagationFlags]::None
$Access =[System.Security.AccessControl.AccessControlType]::Allow
$ACL = New-Object System.Security.Principal.NTAccount "localdomain\$userprincipalname"
$objACE = New-Object System.Security.AccessControl.FileSystemAccessRule($ACL, $Rights, $Inherit, $Propagation, $Access)
$ACL = Get-Acl -Path $userDir
$ACL.AddAccessRule($objACE)
Set-ACL -Path $userDir -AclObject $ACL
我得到的错误与我传递给 AddAccessRule 的参数有关
Exception calling "AddAccessRule" with "1" argument(s): "Some or all identity references could not be translated."
+ CategoryInfo : NotSpecified: (:) [], MethodInvocationException
+ FullyQualifiedErrorId : DotNetMethodException
但我在这里看不到任何错误,所以我真的很感激另一双眼睛。
【问题讨论】:
-
你检查过
$userprincipalname的值吗?也许不正确? -
是的,
$userprincipalname和$userDir都是正确的,正如前面在脚本中指定的那样。 -
我可以说您在我的域中的代码可以在
$userprincipalname处提供现有的 samUserName 和到$userDir的现有路径。 -
我想我只是在某个地方搞砸了一些参数,我让它工作了。因为这不是一个真正的问题/答案线程 - 我应该删除它吗?
-
@Alexander 不,只需自己发布答案并接受即可。该问题有一个有用的代码示例,应该保留。
标签: active-directory powershell-2.0 file-permissions user-permissions