Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2067 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
SuppotDeSa​Tante
Aka dje69r
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 SuppotDeSaTante le 19-12-2011 à 15:05:06

---------------
Soyez malin, louez entre voisins !

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 ADStocker 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


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR