Mot passe AD

Mot passe AD - VB/VBA/VBS - Programmation

Marsh Posté le 14-12-2011 à 10:40:27    

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

Reply

Marsh Posté le 14-12-2011 à 10:40:27   

Reply

Marsh Posté le 19-12-2011 à 15:04:07    

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 !
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed