web-dev-qa-db-fra.com

Comment vérifier tous les utilisateurs AD pour un mot de passe "vide"?

Comment puis-je vérifier tous les utilisateurs de l'AD pour un mot de passe vide? ET Filtrez-les ....

Je sais comment vérifier tous les utilisateurs mais je ne peux pas les filtrer ...

Voici ce que j'ai:

Get-ADUser -Filter * -SearchBase "OU=SomeOU,DC=mydomain,DC=forest,DC=local" | ForEach {
   $_.SamAccountName
   (new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "").psbase.name -ne $null
   Write-Host ""
}

Maintenant, je veux savoir comment filtrer la sortie ...

7
Max Havelareas

Il n'y a aucun moyen de le faire nativement.

DS Internals Test-PaswordQualité:

https://github.com/MichaelGrafnetter/DSInternals/blob/master/Documentation/PowerShell/Test-PasswordQuality.md#test-passwordquality

Install-Module -Name DSInternals -Force

Il existe également une application gratuite ici qui utilise DSInternals:

https://thycotic.com/solutions/free-it-tools/weak-password-Finder/

6
Greg Askew

Vous pouvez trouver des utilisateurs où PasswordLastSet est nul:

Get-ADUser -Filter * -SearchBase "OU=SomeOU,DC=mydomain,DC=forest,DC=local" -Properties PasswordLastSet | where { $_.PasswordLastSet -eq $null}
6
Swisstone

Vous pouvez utiliser les éléments suivants pour obtenir les résultats avec un vrai ou un faux, indiquant que les utilisateurs ont un mot de passe vide ou non:

Get-ADUser -Filter * -SearchBase "OU=someOU,DC=your,DC=domain" | ForEach {    $_.SamAccountName    (new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "").psbase.name -ne $null    Write-Host "" }
1
Gn0m3