Page 1 sur 1
[R] Vérification Ldap utilisateur & mot de passe
Posté : jeu. 24 juil. 2008 22:54
par Yogui
Toujours pour mon problème de repertoire perso je me rend compte maintenant que j'ai vraiment besoin d'une vérification avec mon Ldap..
J'ai passé du temps sur le forum anglais

(je ne comprend pas vraiment tout)
j'ai trouvé l'inculde :
http://www.autoitscript.com/forum/index ... 78&hl=Ldap
et la fonction qui devrait aller bien
ObjectExists : Returns 1 if the given object (SamAccountName) exists in the local AD Tree
mais je n'arrive pas à l'utiliser
j'abandonne pour la journée, si quelqu'un l'a déjà utilisé et a un exemple à me montrer
Merci
Re: [..] Vérification Ldap utilisateur & mot de passe
Posté : ven. 25 juil. 2008 10:14
par Yogui
► Afficher le texte
#include <GUIConstants.au3>
#include <Misc.au3>
Const $ADS_NAME_INITTYPE_GC = 3
Const $ADS_NAME_TYPE_NT4 = 3
Const $ADS_NAME_TYPE_1779 = 1
DIM $unlock
DIM $mgrvalue
DIM $mgrsplit
DIM $manager
DIM $mgr
DIM $title
DIM $pwdexpires
$oMyError = ObjEvent("AutoIt.Error", "ComError")
$objRootDSE = ObjGet("LDAP://RootDSE")
$username = InputBox("Nom d'utilisateur","Taper ici le login d'un utilisateur:")
If @error Then
MsgBox(0, "Nom d'utilisateur", "le nom d'utilisateur n'existe pas ou il n'est pas possible de joindre le domaine " & @LogonDomain)
exit
Else
; DNS domain name.
$objTrans = ObjCreate("NameTranslate")
$objTrans.Init ($ADS_NAME_INITTYPE_GC, "")
$objTrans.Set ($ADS_NAME_TYPE_1779, @LogonDomain)
$objTrans.Set ($ADS_NAME_TYPE_NT4, @LogonDomain & "\" & $username)
$strUserDN = $objTrans.Get ($ADS_NAME_TYPE_1779)
$UserObj = ObjGet("LDAP://" & $strUserDN)
If @error Then
MsgBox(0, "Nom d'utilisateur", "le nom d'utilisateur n'existe pas ou il n'est pas possible de joindre le domaine " & @LogonDomain)
exit
Else
MsgBox(0, "Nom d'utilisateur", "le nom d'utilisateur n'existe pas dans le domaine " & @LogonDomain)
EndIf
EndIf
$UserObj = ""
$oMyError = ObjEvent("AutoIt.Error", "")
Voilà c'est pas vraiment ce qui est demandé dans le titre mais au moins ça recherche un utilisateur dans mon active directory sans vérifier le mot de passe ...
si quelqu'un à une solution avec mot de passe je suis toujours prenneur Merci
Re: [..] Vérification Ldap utilisateur & mot de passe
Posté : mar. 29 juil. 2008 13:17
par Yogui
Bon je laisse tombé la vérification du mot de passe via Ldap :s je n'y arrive vraiment pas
j'ai trouvé une "parade" sur le forum anglais qui fonctionne je la dépose ici au cas ou quelqu'un recherche la même chose
► Afficher le texte
Code : Tout sélectionner
$User = InputBox('User', "Nom d'utilisateur")
$Domain = InputBox('Domain', 'domaine')
$Pass = InputBox('Password', 'Mot de passe', '', '*')
MsgBox(0, 'Test nom loggin et mot de passe', _CheckUserPass($User, $Pass, $Domain))
Func _CheckUserPass($sUsername, $sPassword, $sComputerName)
Local $iCheck = True
RunAs($sUsername, $sComputerName, $sPassword, 0,@ComSpec & " /c echo vérification du mot de passe..", @TempDir, @SW_HIDE)
If @error Then $iCheck = False
Return $iCheck
EndFunc