2008-11-18 4 views
4

Je dois interroger Active Directory pour obtenir la liste des utilisateurs dont le mot de passe est sur le point d'expirer. L'évidente (et facile) façon de le faire est avec:Comment interroger des utilisateurs avec un mot de passe expiré dans Active Directory?

dsquery user -stalepwd n 

Le problème est que je dois ajouter des filtres supplémentaires pour ne regarder que pour les utilisateurs qui sont dans certains groupes de sécurité. C'est difficile à faire avec la syntaxe "dsquery user" qui a l'option intégrée -stalepwd, donc j'ai utilisé l'option "dsquery * -filter" qui vous permet d'utiliser la syntaxe de requête LDAP. Malheureusement, alors qu'il est relativement facile d'appliquer les autres filtres avec une requête LDAP, j'ai du mal à filtrer les utilisateurs dont l'âge de mot de passe est supérieur à n. Est-ce que quelqu'un connaît la syntaxe (ou si c'est même possible) pour filtrer les anciens mots de passe en utilisant la méthode "dsquery * -filter" au lieu de la méthode "dsquery user -stalepwd".

Répondre

1

Il existe de meilleurs outils que dsquery à utiliser. Joeware fera la même chose que stalepwd et autorisera un filtre à travers son commutateur -f.

Le filtre alors ressembler à:

&(objectCategory=user)(memberof=CN=User Group,OU=Test,DC=foo,dc=com) 

Consultez également adfind et des outils AdMod de joeware qui sont plus puissants que les outils ligne de commande de requête de Microsoft, mais peut être un peu plus difficile à apprendre.

3

Vous pouvez écrire une requête LDAP qui compare les mots de passe « périmé » en comparant l'attribut pwdLastSet sur l'objet utilisateur:

(&(objectClass=person)(objectClass=User)(pwdLastSet<=n)) 

ActiveDirectory utilise un format très spécifique pour ce horodatage. Je crois que c'est un fichier-temps, mais je voudrais vérifier sur le web.

+0

En effet. Je peux faire des recherches comme ça, mais j'aimerais simplement obtenir la valeur de pwdLastSet pour chaque personne. Malheureusement, "pwdLastSet" n'est pas dans la liste (énorme) des attributs retournés par 'ldapsearch' pour n'importe quel utilisateur. Des idées? Merci! –

Questions connexes