web-dev-qa-db-fra.com

Powershell - Trouver tous les utilisateurs avec un mot de passe n'expire jamais

Je cherche à interroger AD via Powershell afin de voir tous les comptes d'utilisateurs de ma forêt qui ont leur mot de passe défini pour ne jamais expirer.

J'ai trouvé quelques scripts en ligne en utilisant une recherche rapide sur Google, mais aucun ne semble fonctionner comme prévu. J'ai ensuite trouvé ce qui suit sur technet ( https://technet.Microsoft.com/en-us/library/finding_users_whose_password_never_expires%28v=ws.10%29.aspx ) cependant lorsque j'exécute la ligne:

Search-ADAccount -PasswordNeverExpires | FT Name,ObjectClass -A

Je ne reçois qu'un très petit nombre de résultats et je sais que la liste renvoyée manque un grand nombre d'utilisateurs dont je sais que cette option est définie.

S'il vous plaît quelqu'un peut-il me dire ce qui est incorrect avec ce script ou quelle pourrait être la raison du petit ensemble de résultats?

4
David Hirst

J'utilise le ci-dessous pour et cela fonctionne.

get-aduser -filter * -properties Name, PasswordNeverExpires | where { $_.passwordNeverExpires -eq "true" } | where {$_.enabled -eq "true"} 

Il recherche dans la base de données AD pour trouver l'utilisateur avec "PasswordNeverExpires" défini sur "True", puis renvoie les résultats dans la console Powershell.

modifier pour le libellé et la mauvaise applet de commande et pour ajouter ce qui suit Pour nettoyer les résultats, ajoutez ceci à la fin du code PowerShell ci-dessus

| Format-Table -Property Name, PasswordNeverExpires -AutoSize
5
Art.Vandelay05

Vous pouvez utiliser quelque chose comme ceci:

Get-ADUser -filter { (PasswordNeverExpires -eq $true) -and (enabled -eq $true)} -searchbase "OU=,OU=,DC=,DC=" -Properties Surname,givenname, userprincipalName,PasswordNeverExpires| FT Name,ObjectClass,PasswordNeverExpires -A
3
Sorcha