Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide Recherche
1456 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Mot passe AD

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Mot passe AD

n°2116602
Drift76
Posté le 14-12-2011 à 10:40:27  profilanswer
 

Bonjour à tous  
 
Voila je suis actuellement en stage dans une grande entreprise et je reprend le travail de mon tuteur.
Il y a quelque temps deja il a ecrit un programme en VB 6 et j'ai pour projet de tout remettre en VB.NET.
Je but sur un petit probleme, je doit récuperer la date d'expiration d'un mot de passe utilisateur dans une AD.
Le problème est que j'ai trouvé un bout de code qui me permet de récuperer la date mais c'est celle de ma session sur mon poste.
Je n'arrive pas a modifier la requete pour changer l'utilisateur.
Pouvez-vous m'aider s'il vous plait.
 
Voici mon code
 

Citation :

Const ADS_UF_DONT_EXPIRE_PASSWD = &h10000
Const E_ADS_PROPERTY_NOT_FOUND  = &h8000500D
Const ONE_HUNDRED_NANOSECOND    = .000000100
Const SECONDS_IN_DAY            = 86400
 
Set objADSystemInfo = CreateObject("ADSystemInfo" )              
Set objUser = GetObject("LDAP://" & objADSystemInfo.UserName)  
 
 
intUserAccountControl = objUser.Get("userAccountControl" )
 
    dtmValue = objUser.PasswordLastChanged
   Set objDomain = GetObject("LDAP://" & objADSystemInfo.DomainDNSName)
    Set objMaxPwdAge = objDomain.Get("maxPwdAge" )
 
    dblMaxPwdNano = Abs(objMaxPwdAge.HighPart * 2^32 + objMaxPwdAge.LowPart)
    dblMaxPwdSecs = dblMaxPwdNano * ONE_HUNDRED_NANOSECOND
    dblMaxPwdDays = Int(dblMaxPwdSecs / SECONDS_IN_DAY)
 
    If intTimeInterval >= dblMaxPwdDays Then
        WScript.Echo "Le mot de passe a expiré."
    Else
        WScript.Echo "le mot de passe expire le  " & DateValue(dtmValue + dblMaxPwdDays) & " (" & Int((dtmValue + dblMaxPwdDays) - Now) & " jours avant la fin)."    
    End If

mood
Publicité
Posté le 14-12-2011 à 10:40:27  profilanswer
 

n°2117257
dje69r
Arme de distraction massive
Posté le 19-12-2011 à 15:04:07  profilanswer
 

C'est normal puisque tu utilises objADSystemInfo.UserName
 
Et ca, bah ca renvoit ton user. Avec le bon domaine etc.
 
Essaie de mettre en ligne 8 :
msgbox objADSystemInfo.UserName
 
Ca va te renvoyer :
CN=TonUser,DC=TonDomaine etc.
 
Il te faut donc préciser quel user tu veux.
Du genre :
Set objUser = GetObject("LDAP://IP_De_Ton_Serveur/CN=" & Le_User_Cherché & ",DC=" & Le_Nom_Du_Domaine & " )"


Message édité par dje69r le 19-12-2011 à 15:05:06

---------------
Plus tu pédales moins vite, moins tu avances plus vite

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Mot passe AD

 

Sujets relatifs
Requête Firebird qui passe pasVBS: verifier existance OU dans l'AD
Changement de couleur d'un label : FF OK, IE passe pas. Pourquoi ?Login avec l'AD
[Shell/Batch] Mise à jour de l'annuaire ADProbleme page perso free demande mot de passe
Stocker des mots de passe dans une BDD[VBS]Tester l'appartenance d'un utilisateur à un groupe AD
[PHP]Protéger l'accès à un fichier php contenant des mots de passe[Résolu]-[BATCH DOS] modification Mot De Passe dans l'Active Directory
Plus de sujets relatifs à : Mot passe AD


Hit-Parade
Copyright © 1997-2012 Hardware.fr SARL / Groupe LDLC / LesNumeriques.com / Version anglaise du site: BeHardware