我一直在创建一个powershell脚本,用户directorysearcher列出一个特定的组成员,而不是构建一个只包含其SAN属性的数组:
$UserSANList = foreach ($UserDN in $UsersDNList){
$objSrcDomainUser = New-Object System.DirectoryServices.DirectoryEntry("LDAP://$strSrcDomainServer/$UserDN", $strSrcUser, $strSrcPass)
$objSrcDomainUser.Properties["samaccountname"].Value
}
我一直在尝试使用几个不同的用户名运行此代码以确保它有效(因为powershell应该格式化LDAP查询它不应该是一个大问题) 它适用于我正在尝试的每个特殊字符,但每当我尝试在CN中使用“/”时(例如:LDAP:// dc / CN = a / bc,ou = ou1,dc = dc1,dc = domain )我收到以下错误:
Cannot index into a null array.
At C:\****.ps1:258 char:31
+ $objSrcDomainUser.Properties[ <<<< "samaccountname"].Value
+ CategoryInfo : InvalidOperation: (samaccountname:String) [], RuntimeException
+ FullyQualifiedErrorId : NullArray
如果删除“/”字符,一切似乎都有效, 我有一种感觉,因为我正在使用特定的DC,但是 - 因为这段代码是为了连接到远程域而没有与当前域的信任关系,所以我必须使用它。
是否还有其他人碰到同样的事情?
提前感谢任何答案