Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
How to get the full username(displayname) from the AD
Message
 
 
À
08/02/2005 08:27:59
Albert Beermann
Piepenbrock Service Gmbh & Cokg
Osnabrück, Allemagne
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 8 SP1
OS:
Windows Server 2003
Divers
Thread ID:
00984699
Message ID:
00984716
Vues:
44
This message has been marked as the solution to the initial question of the thread.
>Hello everybody
>
>How can i retrieve the full username(displayname) from the active directory with VFP8.0
>
>I get the current user by doing the following code
>* user und standardmessage ???
<snip>
* FUNCTION GetADUserInfo
LPARAMETERS tcNTUserName, tlAdUserObject
LOCAL lcNTUserName, lcUserDomain, lcUserName, loNetwork, ccADS_NAME_INITTYPE_GC, ccADS_NAME_TYPE_NT4
LOCAL ccADS_NAME_TYPE_1779, lcDN, loNameTrans
ccADS_NAME_INITTYPE_GC = 3
ccADS_NAME_TYPE_NT4 = 3
ccADS_NAME_TYPE_1779 = 1

loNetwork = CreateObject("WScript.Network")
lcUserName = loNetwork.UserName
lcUserDomain = loNetwork.UserDomain

lcNTUserName = UPPER(IIF( Empty(tcNTUserName) Or VarType(tcNTUserName) <> "C", ;
					lcUserName,  ALLTRIM(tcNTUserName)))

* Use NameTranslate object to get DN based on NT Login Name
loNameTrans = CREATEOBJECT("NameTranslate")					
loNameTrans.Init( ccADS_NAME_INITTYPE_GC, "")
TRY
	loNameTrans.Set(ccADS_NAME_TYPE_NT4, lcUserDomain + "\" + lcNTUserName)
	lcDN = loNameTrans.Get(ccADS_NAME_TYPE_1779)
	loAdUser = GETOBJECT("LDAP://" + lcDN)
CATCH TO oExp WHEN oExp.Errorno = 1426
	loAdUser = Null
ENDTRY	

IF ISNULL(loAdUser) 
	RETURN Null
ENDIF

IF tlAdUserObject
	RETURN loAdUser 
ENDIF	

loAdUserInfo = NEWOBJECT("Empty")
ADDPROPERTY(loAdUserInfo, "cn", loAdUser.cn)        
ADDPROPERTY(loAdUserInfo, "department", loAdUser.department)                                            
ADDPROPERTY(loAdUserInfo, "displayname", loAdUser.displayName)                                          
ADDPROPERTY(loAdUserInfo, "fax", loAdUser.facsimileTelephoneNumber)                                     
ADDPROPERTY(loAdUserInfo, "emailaddr", LOWER(NVL(loAdUser.mail,"")))
ADDPROPERTY(loAdUserInfo, "lastname", loAdUser.sn)  
ADDPROPERTY(loAdUserInfo, "FirstName", loAdUser.givenName)                                              
ADDPROPERTY(loAdUserInfo, "telephone", loAdUser.telephoneNumber)                                  
ADDPROPERTY(loAdUserInfo, "dn", loAdUser.distinguishedName)                                             
ADDPROPERTY(loAdUserInfo, "upn", loAdUser.userPrincipalName)                                            
ADDPROPERTY(loAdUserInfo, "title", loAdUser.title)  

RETURN loAdUserInfo
--sb--
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform