I use AD Explorer to add values to the roomNumber attribute of users. When I
read these later using VBScript, I get Type Mismatch errors whenever there is
a value present... it's a Unicode string, yet it doesn't act like a string!
Always errors out when I attempt to read it.
Example:
Dim objComm, objRecordSet, strDNSDomain, objConn
Dim strQuery, strFilter
set objComm = CreateObject("ADODB.Connection")
objComm.Provider = "ADsDSOObject"
objComm.Open "Active Directory Provider"
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("defaultNamingContext")
set objConn = CreateObject("ADODB.Command")
objConn.ActiveConnection = objComm
objConn.Properties("Page Size") = 10
strFilter = "(&(objectClass=person)(objectClass=user)(objectCategory=Person))"
objConn.CommandText = "<LDAP://DC=corp,DC=mydomain,DC=net>;" & strFilter &
";cn,sAMAccountName,roomNumber,distinguishedName;subtree"
Set objRecordset = objConn.Execute(strQuery)
objRecordset.MoveFirst
While Not objRecordSet.EOF
WScript.Echo objRecordSet.Fields("roomNumber")
objRecordSet.MoveNext
Wend