【发布时间】:2020-05-06 10:12:48
【问题描述】:
我正在尝试使用 powershell 脚本为 AD OU 分配权限,该脚本应该创建一个类型为 System.Security.Principal.NTAccount 和 System.DirectoryServices.ActiveDirectoryAccessRule 的新对象,我现在拥有的代码在没有备用凭据的情况下工作,但现在我需要使用具有备用凭据的相同代码。
没有备用凭据的工作代码:
$ADSI = [ADSI]"LDAP://$OUPath"
$NTAccount = New-Object System.Security.Principal.NTAccount($ClientGroupED)
$IdentityReference = $NTAccount.Translate([System.Security.Principal.SecurityIdentifier])
$ActiveDirectoryRights = [System.DirectoryServices.ActiveDirectoryRights] "GenericAll"
$AccessControlType = [System.Security.AccessControl.AccessControlType] "Deny"
$Inherit = [System.DirectoryServices.ActiveDirectorySecurityInheritance] "All" #All, Children, Descendents, None, SelfAndChildren
$ACE = New-Object System.DirectoryServices.ActiveDirectoryAccessRule($IdentityReference,$ActiveDirectoryRights,$AccessControlType,$Inherit)
$ADSI.psbase.ObjectSecurity.SetAccessRule($ACE)
$ADSI.psbase.commitchanges()
我尝试使用 -Credential $Cred 传递备用凭据,并且在调用 New-Object 时也传递了 -ArgumentList $Cred 都不起作用。在这个问题上需要一些帮助。
【问题讨论】:
标签: powershell active-directory adsi