使用下列代码来获取Active Directory中用户的“cn”属性:
On Error Resume Next
Set objUser = GetObject _
("LDAP://cn=myerken,ou=management,dc=NA,dc=fabrikam,dc=com")
arrMembersOf = objUser.GetEx("cn")
If Err.Number <> 0 Then
WScript.Echo "Error: " & Err.Number
Else
For Each strMemberOf in arrMembersOf
WScript.Echo strMemberOf
Next
End If
如果脚本返回空白或没有值,可能是由于以下原因之一导致的:
用户对象没有“cn”属性;
计算机用户帐户的“cn”属性是空白的;
所有者的名称是空白的;
在Active Directory 注册表Editing和Fixup命令中,注册表键值“Top”、“Indc”或“PhyComp”被设置成了不正确的数值。
要解决这些问题中的任何一个,您可以尝试以下操作:
检查用户对象在Active Directory中的结构和属性;
若要在脚本中检查计算机用户帐户的“cn”属性,您可以使用如下语句:
If objUser.sAMAccountType = 805306369 Then
WScript.Echo "This is a computer account."
Else
WScript.Echo objUser.cn
End If
检查所有者的名称是否包含空白字符;
如果需要,请使用Active Directory注册表Editing或Fixup命令重置注册表中的键值。