J'ai cherché sur Google comment répertorier les comptes verrouillés et trouvé jusqu'à présent deux méthodes, qui ne fonctionnent pas toutes les deux ...
Requête enregistrée - (&(&(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))))
Répertorie un certain nombre de comptes, dont beaucoup ne sont pas verrouillés. Si j'en déverrouille un dont je sais qu'il est verrouillé, il est toujours renvoyé par la requête.
Commande Powershell - Search-ADAccount -LockedOut
Ne fait rien.
Alors non plus - est-ce que je fais quelque chose de mal? Ou - Existe-t-il une méthode qui fonctionne réellement?
Réponses:
Je ne ferais pas nécessairement confiance
Get-ADUser -LDAPFilter "(&(objectCategory=Person)(objectClass=User)(lockoutTime>=1))" -Properties LockedOut
, car cela ne me donne pas de résultats fiables non plus, mais je ne peux pas non plus contacter directement mon PDCe pour le moment. Pour de meilleurs résultats, vous souhaitez cibler directement votre émulateur PDC, car il dispose toujours des informations les plus à jour sur les verrouillages de compte dans tout le domaine.C'est ce que je parie que vous voyez ici un retard dans la réplication:
Essayez donc de
Search-ADAccount -LockedOut -Server DC-PDCE
voir si vos résultats sont meilleurs.En outre, voici autre chose à considérer lors de la création de requêtes autour de l'attribut lockoutTime:
Edit: En guise d'ingénierie inverse
Microsoft.ActiveDirectory.Management.dll
, je peux vous dire queSearch-ADAccount -LockedOut
, qui me semble produire des résultats assez fiables, exécute le code suivant:Il semble donc que l'
Search-ADAccount -LockedOut
on regarde également l'attribut AccountLockoutTime!Éditez un peu plus pour une grande justice: Richard Mueller, Dir. Services MVP, dit ceci:
Je peux le vérifier ainsi:
Enfin, je voudrais terminer sur ce billet de blog sur le sujet , qui explique pourquoi l'
lockoutTime>=1
approche de la meilleure solution, mais ce n'est qu'une partie de l'histoire. Vous devez filtrer davantage la liste pour n'inclure que les utilisateurs dont le lockoutTime est supérieur à $ (la durée de verrouillage de votre domaine) minutes dans le passé.la source
userAccountControl
bit a cessé d'être valide. Cela a bien fonctionné dans le passé, si ma mémoire est bonne. Cela me fait me demander si la fonctionnalité a été supprimée dans une révision ultérieure du code AD. Hmm ...