[R] Age mot de passe

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
mitch03
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 28 avr. 2008 15:17
Status : Hors ligne

[R] Age mot de passe

#1

Message par mitch03 »

Bonjour les gens! :)

J'abandonne le bon vieux KixTart pour le tout beau AutoIt! Je suis en train de retravailler mes scripts (basiques) et je voudrais savoir par quel moyen récupérer l'âge du mot de passe de l'utilisateur courant (@PWAGE en Kix)?

Merki! :)
Modifié en dernier par mitch03 le mar. 29 avr. 2008 12:24, modifié 1 fois.
Avatar du membre
sylvanie
Niveau 11
Niveau 11
Messages : 1556
Enregistré le : jeu. 26 juil. 2007 21:31
Localisation : Paris
Status : Hors ligne

Re: [..] Age mot de passe

#2

Message par sylvanie »

tout est ici

http://www.autoitscript.fr/forum/viewto ... ilisateurs

(réponse de Arrkhan en particulier)

ps : j'aime bien Kix aussi ^^
Toi qui cherche à mettre le doigt sur la solution, appuie sur F1.
mitch03
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 28 avr. 2008 15:17
Status : Hors ligne

Re: [..] Age mot de passe

#3

Message par mitch03 »

Merci pour cette réponse!

Mais j'aurais aimé l'âge exacte (en jours) du mot de passe de l'utilisateur (identique à @PWAGE dans Kix) et pas un booléen (expiré : true/false) comme dans la classe Win32_UserAccount. Je doute que @PWAGE aille interroger le domaine, cela doit être sûrement être inscrit en local (date de la mise en place du mot de passe peut-être?).

Merci pour votre temps consacré!
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Age mot de passe

#4

Message par ani »

vu que tu connait le win32_useraccount, il existe il me semble une variante a @pwage mais je ne suis plus trop sure vu que ceux-ci je l'avait vu y a fort longtemp PasswordAge qu'on pêut récuperer dans Win32_NetworkLoginProfile,ou encore par le ldap m'active directory...ect, mais faudrait jouer avec les objet.
je fait un test avant de poster ... comme je le dit plus haut c'est vieux ...
mitch03
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 28 avr. 2008 15:17
Status : Hors ligne

Re: [..] Age mot de passe

#5

Message par mitch03 »

Ayé j'ai trouvé et c'est vraiment trivial! ;)

Code : Tout sélectionner

$obj = ObjGet("WinNT://DOMAINE/USER")

$intPasswordAge = Round($obj.PasswordAge/86400) ; Conversion en jours (1 jour = 86400 secondes)

MsgBox(0, "Test", $intPasswordAge)
Modifié en dernier par mitch03 le mar. 29 avr. 2008 12:37, modifié 1 fois.
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [..] Age mot de passe

#6

Message par ani »

ok, :)
le PasswordAge est défini en seconde, donc pour ceux qui ce demande a quoi correspond le 86400 = 60(seconde)*60(minute)*24(heure)

c'était facile , c'est bien mitch03, t'a de la connaissance en la matière :)
mitch03
Niveau 1
Niveau 1
Messages : 4
Enregistré le : lun. 28 avr. 2008 15:17
Status : Hors ligne

Re: [..] Age mot de passe

#7

Message par mitch03 »

ani a écrit :c'était facile , c'est bien mitch03, t'a de la connaissance en la matière :)
Héhé! 8) :mrgreen:

Bon je m'attaque au reste! (je risque encore de poser des questions :P )
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Age mot de passe

#8

Message par Tlem »

Il semble que si il n'y à pas de date d'expiration cela ne fonctionne pas.
A moins que ce ne soit lier à autre chose, mais en tout cas chez moi ça ne fonctionne pas, et affiche le message : Variable must be of type "Object" :P
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
ani
Niveau 11
Niveau 11
Messages : 1826
Enregistré le : lun. 23 juil. 2007 12:31
Localisation : Bureau
Status : Hors ligne

Re: [R] Age mot de passe

#9

Message par ani »

Tout le monde a une date

Essaye cette cmd sous dos : WMIC path win32_NetworkLoginProfile get PasswordAge

Concernant l'erreur c'est normal, si tu tape un nom ou un domaine inexistant tu obtiend Variable must be of type "Object" , pour connaitre les domaine/user il faudra taper toujours sous ms-dos : wmic path win32_useraccount get caption, tu verra la liste

chez moi 954 jours ^__^

voilà :)
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Age mot de passe

#10

Message par Tlem »

Effectivement, je n'avais pas mis à jour la valeur "//DOMAINE/USER" par ma propre valeur ... :?
Désolé.
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11796
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [R] Age mot de passe

#11

Message par Tlem »

J'aime bien aussi la réponse de ptrex sur le forum Anglais.
Voici son code amélioré visuellement :

Code : Tout sélectionner

$strComputer = "."
$userName = @UserName

 $objWMIService = ObjGet("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & $strComputer & "\root\cimv2")

 $colItems = $objWMIService.ExecQuery ("Select * from Win32_NetworkLoginProfile where caption = '" & StringUpper($userName) &"'")

For $objItem in $colItems
    
    $Var = int($objItem.PasswordAge)
    $Sec = StringRight($Var, 2)
    $Min = Stringleft(StringRight($Var, 4), 2)
    $Hour = Stringleft(StringRight($Var, 6), 2)
    $Day = Stringleft($Var, Stringlen($Var)-6)
    MsgBox (64, "Age du mot de passe : ", $Day & " Jour(s) " & $Hour & "h " & $Min & "mn " & $Sec & "s" & @TAB)

Next
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Répondre