Wie überprüfe ich alle AD-Benutzer auf ein "leeres" Passwort?


7

Wie kann ich alle Benutzer in der AD auf ein leeres Kennwort überprüfen? UND filtern sie ....

Ich weiß, wie man alle Benutzer überprüft, aber ich kann sie nicht filtern ...

Folgendes habe ich:

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 ""
}

Jetzt möchte ich wissen, wie man die Ausgabe filtert ...

Antworten:



6

Sie können Benutzer finden, bei denen PasswordLastSet null ist:

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

Schließt dies Benutzer aus, bei deren Erstellung ein ursprüngliches Kennwort festgelegt, dieses jedoch nie geändert wurde (z. B. weil sie sich noch nicht angemeldet haben)?
Maz

Ja, wenn Sie einen Benutzer erstellen und ein anfängliches Kennwort festlegen, wird das PasswordLastSet-Attribut aktualisiert und nicht null. Wenn der Benutzer jedoch bei der nächsten Anmeldung sein Passwort ändern muss, ist auch dieses Attribut null!
Swisstone

Gut, danke!
Maz

1

Sie können Folgendes verwenden, um die Ergebnisse mit "Richtig" oder "Falsch" abzurufen und anzugeben, ob der Benutzer ein leeres Kennwort hat oder nicht:

Get-ADUser -Filter * -SearchBase "OU=someOU,DC=your,DC=domain" | ForEach {    $_.SamAccountName    (new-object directoryservices.directoryentry "", ("domain\" + $_.SamAccountName), "").psbase.name -ne $null    Write-Host "" }
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.