try changeing uid=@userid to cn=@FullName
or maybe even better try this code:
Code:
Global $UserdistinguishedName,$defaultNamingContext
$objRootDSE = GetObject("LDAP://rootDSE")
$defaultNamingContext = $objRootDSE.Get("defaultNamingContext")
GetUserdistinguishedName(@FULLNAME,@DOMAIN)
? "UserdistinguishedName: " + $UserdistinguishedName
$objOU = GetObject("LDAP://"+$UserdistinguishedName)
;? $objOU.Name
$objUser.GetInfo
$FirstName = $objUser.Get("givenName")
$LastName = $objUser.Get("sn")
$DisplayName = $objUser.Get("displayName")
$Title = $objUser.Get("title")
? $FirstName
? $LastName
? $DisplayName
? $Title
? "Done!"
Get $a
Function GetUserDistinguishedName($FullName,$Domain)
$ADS_UF_ACCOUNTDISABLE = 2
$ObjConnectION = CreateObject("ADODB.ConnectION")
$ObjConnectION.Open("PROVIDER=ADSDSOOBJECT;")
$ObjCOMMAND = CreateObject("ADODB.COMMAND")
$ObjCOMMAND.ActiveConnectION = $ObjConnectION
$ObjCOMMAND.COMMANDTEXT = "<GC://" + $defaultNamingContext + ">;(OBJECTCATEGORY=User);UserACCOUNTCONTROL,DistinguishedName;SUBTREE"
$ObjRecordset = $ObjCOMMAND.Execute
While Not $ObjRecordset.EOF
$POSITIVE = InStr($ObjRecordset.Fields("DistinguishedName"),"CN=" + $FullName)
If $POSITIVE <> 0
$ObjUser = GetObject("LDAP://" + $ObjRecordset.Fields("DistinguishedName"))
$ObjUser.GetInfo
$UserDistinguishedName = $ObjUser.Get("DistinguishedName")
EndIf
$ObjRecordset.MoveNext
Loop
$ObjConnectION.Close
EndFunction