Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Reading active directory infos
Message
De
08/06/2007 06:39:18
Albert Beermann
Piepenbrock Service Gmbh & Cokg
Osnabrück, Allemagne
 
 
À
Tous
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Titre:
Reading active directory infos
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Database:
MySQL
Divers
Thread ID:
01231513
Message ID:
01231513
Vues:
58
Hello Everybody !

Our application use the following procedure at start to get some infos about the current user.

*********************
Procedure GET_AD_INFOS
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)
ADDPROPERTY(loAdUserInfo, "employeeid", loAdUser.employeeid)

RETURN loAdUserInfo
endproc
***********************

I just copied it from an example file ! ;-)
Everything works as expected, nevertheless i don't really understand it !!!

Now i have to sync a SAP System with our application.
I have a cursor with employeeids and some spezial infos from SAP and
i need to find the ad infos for a given employeeid (not for the current logon user).

I don't know how to handle this.
Can someone give me an example, how to read the ad infos for a given employeeid ???????

Any help welcomed
Best regards
Albert
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform