Powershell User mit altem Passwort auslesen

Simcrack

Lt. Junior Grade
Registriert
März 2011
Beiträge
392
Hallo Zusammen

Ich versuche gerade aus unserem Activedirectory alle user mit einem Kennwort, das älter ist als 3 Monate mit Powershell auszulesen. Ich habe heute erst mit Powershell begonnen und habe nicht so ein Händchen mit dieser Sprache.

Um diese Aufgabe zu erledigen habe ich eine erste Codesequenz geschrieben, mit der ich erstmal das Datum des Passwortes auslesen will, einen Teil davon habe ich aus Google, folglich verstehe ich den Code auch nicht 100%ig.

Code:
Import-Module ActiveDirectory
cd AD:
cd "DC=domaene, DC=ch"
cd "OU=domaene"
cd "OU=domaenen_users"
$Variable1 = date
$searcher = New-Object DirectoryServices.DirectorySearcher
$Users = Get-ADUser -filter *
$Users | Foreach {
$searcher.Filter="(&(samaccountname=$_.samaccountname))"
$result = $searcher.Findone()
$result.properties.pwdLastSet[0]
}

Die zweitletzte Zeile verursacht leider einen Fehler. Das verstehe ich nicht, wenn ich nämlich die Befehle nacheinander in der Konsole eintippe, kommt der Fehler nicht.

Fehler:
In einem NULL-Array kann kein Index erstellt werden.
 
Kann hier denn niemand Powershell?
 
Ich glaube, so geht es einfacher:

Code:
$datum = get-date
$datum = $datum.adddays(-90)
$datum
$users = get-aduser -filter * -Properties PasswordExpired, PasswordLastSet

foreach ($user in $users) {
	if($user.PasswordLastSet -le $datum)
	{
		echo "User: " 
		$user.SamAccountName 
		echo "last password reset: " 
		$user.PasswordLastSet
	}

}
 
Vielen Dank für deine Hilfe, jetzt funktionierts.
 
Zurück
Oben