|
Ou se trouve le DN dans le LDAP !!! |
Débuté par mickael.masse, 16 fév. 2006 13:22 - 5 réponses |
| |
| | | |
|
| |
Posté le 16 février 2006 - 13:22 |
Bonjour,
G rencontrer un probleme concernant le DN (Distinguished name), G reussi a me connecter sur un annuaire ldap afin de récupérer le login et le mot de passe, mais maintenant ce que je voudrais faire c'est lister tous les attributs des objets dans l'AD (Active Directory), afin de recuperer les groupes auquels il appartiennent.
Pour cela g cru comprendre qu il fallait faire un LDAPLISTEATTRIBUT mais lorsque je manipule cette fonction il me demande le nom de session:(ca c bon) mais ensuite le DN, et lorsque je fais ENTER il me demande de parcourir... pour chercher je suppose l objet . donc voila je suis un peu embetter ..
Merci de me répondre. |
| |
| |
| | | |
|
| | |
| |
Posté le 16 février 2006 - 17:27 |
Facile ton DN comme tu l'as dis c'est bien le Distingueshed Name c'est a dire la base de ton domaine par exemple google.fr le DN c'est dc=google,dc=fr c'est le domaine sur lequel est ton active directory autre exemple si tu veux parcourir la rubrique Computers dans l'active directory c'est de la forme
cn=Computers,dc=google,dc=fr par exemple voila j espere t avoir aidé par contre n oublie pas les " " "cn=Computers,dc=google,dc=fr" de cette forme Ciao |
| |
| |
| | | |
|
| | |
| |
Posté le 16 février 2006 - 17:27 |
si je fais :
lstComputersDN = LDAPRecherche(SessionName,"dc=bopack,dc=com","(objectclass=computer)") ComputersDN = ExtraitChaîne(lstComputersDN,rangPremier,CRLF) WHILE ComputersDN<>EOT Trace(">>>>>>>>>>>>>>>>>>>>>"+ComputersDN) Trace(LDAPListeAttribut(SessionName,ComputersDN)) ComputersDN = ExtraitChaîne(lstComputersDN, rangSuivant,CRLF) END
je recupére les attributs des computers de l'ADSI |
| |
| |
| | | |
|
| | |
| |
Posté le 16 février 2006 - 17:28 |
Un exemple complet de scan de objets de la classe computers i est un entier SessionName est une chaîne = "LDAP" DomainName, lstComputersDN, ComputersDN, lstAttribut, Attribut sont des chaînes
DomainName = LDAPGetDomainName() LDAPRAZ() LDAPSession.Hote = LDAPGetServerName(DomainName) LDAPSession.Port = 389 LDAPSession.Version = 2 LDAPSession.Utilisateur = RéseauUtilisateur+"@"+DomainName LDAPSession.MotDePasse = <<<LE MOT DE PASSE>>> IF LDAPConnecte(SessionName) THEN lstComputersDN = LDAPRecherche(SessionName,"dc=bopack,dc=com","(objectclass=computer)") ComputersDN = ExtraitChaîne(lstComputersDN,rangPremier,CRLF) WHILE ComputersDN<>EOT Trace("---------------------------------------------") Trace("DN du computer ="+ComputersDN) lstAttribut = LDAPListeAttribut(SessionName,ComputersDN) Attribut = ExtraitChaîne(lstAttribut,rangPremier,CRLF) WHILE Attribut<>EOT IF LDAPNbValeur(SessionName,ComputersDN,Attribut)>0 THEN Trace("Attribut ="+Attribut) FOR i=1 TO LDAPNbValeur(SessionName, ComputersDN, Attribut) Trace(TAB+ChaîneConstruit("Valeur %1=%2",i,LDAPValeur(SessionName, ComputersDN, Attribut,i))) END END Attribut = ExtraitChaîne(lstAttribut,rangSuivant,CRLF) END ComputersDN = ExtraitChaîne(lstComputersDN, rangSuivant,CRLF) Multitâche(-1) END LDAPDéconnecte(SessionName) ELSE Erreur("Buggggg") END
************************************* Par contre tu écris "...afin de récupérer le login et le mot de passe..." peut tu m'expliquer comment tu récupére le mot de passe ????? ************************************* |
| |
| |
| | | |
|
| | |
| |
Posté le 17 février 2006 - 10:37 |
//pour recuperer le login ainsi que le mot de pase jet t envoie mon code qui marche c //tester
//il faut o prealable il faut faire deux fenetres !! et dont une login (nouvelle //fenetre-standard-mot de passe/login)
bVerif est un booléen sHotepik est une chaîne sUserpik est une chaîne sPasswd est une chaîne bPingpik est un booléen
sHotepik = "nom de domaine" //(exemple: google.fr) sUserpik=Login.SAIS_PSEUDO //login etant la fenetre login et sais_pseudo etant le le champ ou tu rentre ton log !!! sPasswd=Login.SAIS_MDP //login etant la fenetre login et sais_mdp etant le champ ou tu rentre ton Mdp!!! bPingpik =Ping("nom de domaine") //(exemple:google.fr) sUserpik = sUserpik + "@nom de domaine" //(exemple:@google.fr)
LDAPRAZ() LDAPSession.Hote = sHotepik LDAPSession.Port = 389 LDAPSession.Version = 3 LDAPSession.Utilisateur = sUserpik LDAPSession.MotDePasse = sPasswd test est un booléen=LDAPConnecte("mickybox33")
si test=Vrai alors ouvre(2eme fenetre) //celle que tu a creer o debut !! sinon Info("Le mot de passe est incorrect, Veuillez le ressaisir ou appeller votre Administrateur !!!") FIN FIN
//et voila j espere que ca t ora aider ds ton projet ....
// a oui une chose n oulier po lorsque vous rentrer ensuite votre login et mot de passe ne //metter que le nom et non po le nom@nom de domaine... dans le sais_pseudo..
//Sur ce TCHOU !! et bonne progra ! |
| |
| |
| | | |
|
| | |
| |
Posté le 17 février 2006 - 11:47 |
C'est bien ce que je pensais, TU NE PEUT PAS RECUPERER le mot de passe windows, tu ne fais que le vérifier aprés une RE-SAISIE !!!
Hors IBM à un programme Client Access, émulateur en autre pour les AS/400, et je ne sais pas comment ils font, mais ils utilisent le mot de passe windows (alors qu'il n'a été saisi qu'a l'ouverture de windows) pour authentifier le login sur la session AS/400 !!! |
| |
| |
| | | |
|
| | | | |
| | |
|