Question Age du mot de passe dans AD (Résolu)

Plus d'informations
il y a 17 ans 7 mois #2650 par rodriguez
Bonjour,

Je cherche a déterminer depuis quand le mot de passe a ete changé.
Afin par la suite de savoir quand celui-ci va expirer et à ma grande peine:

passwordage,maxpasswordage
ne me retourne rien:

le script:

[code:1]
$user = New-Object DirectoryServices.DirectoryEntry(‘LDAP://cn=prenom nom,ou=Utilisateurs,DC=fr,DC=compass,DC=local')
$user
$user | select cn,displayname,description,physicalDeliveryOfficeName,telephoneNumber,givenName,initials,sn,company,
homeDrive,homeDirectory,profilePath,scriptPath,sAMAccountName,mail,passwordage,maxpasswordage

[code:1]


resultat:


cn : {prenom NOM}
displayname : {prenom NOM}
description : {D.R.H. - Formation - Marseille}
physicalDeliveryOfficeName : {}
telephoneNumber : {}
givenName : {prenom}
initials : {}
sn : {NOM}
company : {}
homeDrive : {U:}
homeDirectory : {\\smars-fic01\pnom$}
profilePath : {}
scriptPath : {commun.bat}
sAMAccountName : {pnom}
mail : {}
passwordage :
maxpasswordage :



Donc si vous savez quel est l'attribut ou est notifié ce renseignement. je vous en serais gré.

Merci. [/code:1]<br><br>Message édité par: Arnaud, à: 20/08/08 09:37

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2651 par Robin Lemesle
Salut,

Je crois qu'il faut utiliser la propriété \&quot;PasswordLastChanged\&quot;. Je n'ai pas AD pour tester ce soir, je regarderai demain.

Robin

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2652 par Robin Lemesle
Tu auras également besoin de convertir cette date en date compréhensible, voir notre tuto dessus ;) : powershell-scripting.com/index.php?optio...id=104&Itemid=73

Robin MVP PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2653 par rodriguez
Réponse de rodriguez sur le sujet Re:age du mot de passe dans AD.
Merci pour l'argument alors pour info voici le retour de cet argument via l'AD.

write-host $user.PasswordLastChanged:

31/07/2008 10:05:31


Par contre:

write-host $user.PasswordLastChanged.ticks
ou
$user.PasswordLastChanged.ticks

donne bien la valeur en 64bits.
633530955310000000

J'ai pu donc calculer la difference en 64bits entre le PasswordLastChanged.ticks et la date du jour.

Mais je n'arrive pas à déterminer combien fait 5 jours en 64bits afin de créer ma condition d'envois de Mail.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2655 par rodriguez
Réponse de rodriguez sur le sujet Re:age du mot de passe dans AD.
Changement d'orientation:

voici mon script pour calculer la difference des jours..basé sur le jour de l'année.


$userschange= $user.PasswordLastChanged.dayofyear
$date = get-date
$dayofyear = $date.dayofyear


# si jour de l'année est superieur a 275 on doit inverser le calcul sinon sur un chevauchement d'année le retour sera en négatif. rétention du mot de passe en 90 jours

if ($dayofyear &gt; 275)
{
$difference = $userschange -365 + $dayofyear
}
else
{

$difference = $date.dayofyear - $userschange
}


Maintenant recherche d'envois de mail par powershell...

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 17 ans 7 mois #2657 par rodriguez
Réponse de rodriguez sur le sujet Re:age du mot de passe dans AD.
Voila j'ai donc ma structure avec mon envois d'email fonctionnel et mon attribut de indiquant l'age de mon mot de passe.

Mais y a un truc que je comprends pas.

[code:1]
$user = New-Object DirectoryServices.DirectoryEntry(‘LDAP://cn=prenom nom,ou=Utilisateurs,DC=fr,DC=compass,DC=local')

$userschange= $user.PasswordLastChanged.dayofyear
[/code:1]

j'ai un retour.

Par contre si je rentre:

[code:1]
$ldapquery = [ADSI] 'LDAP://OU=Utilisateurs,DC=fr,DC=compass,DC=local'
$objrechercher = New-object system.directoryservices.directorysearcher($ldapQuery)
$objrechercher.filter='(&amp;(objectCategory=person)(objectClass=user))'


$boucle = $objrechercher.findall()


# write-host $boucle.PasswordLastChanged.dayofyear

$boucle.PasswordLastChanged.dayofyear
[/code:1]

j'ai rien; c'est vide

Où ai-je raté un truc ???
Merci.<br><br>Message édité par: Arnaud, à: 7/08/08 08:54

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.075 secondes
Propulsé par Kunena