Abgelaufene Kennwörter auslesen mit Powershell

Mit der Windows Powershell ist es möglich, alle Benutzer des Active Directorys auszulesen, deren Passwörter abgelaufen sind. Abgelaufene Kennwörter auszulesen kann dem Administrator bei Ferndiagnosen (z.B. wenn der betroffene Mitarbeiter im Home Office ist) durchaus behilflich sein.

DQo8cD48YnIvPg0KPHNjcmlwdCBhc3luYyBzcmM9Imh0dHBzOi8vcGFnZWFkMi5nb29nbGVzeW5kaWNhdGlvbi5jb20vcGFnZWFkL2pzL2Fkc2J5Z29vZ2xlLmpzIj48L3NjcmlwdD4NCjwhLS0gVEVDSEZBUSAtIEltIEFydGlrZWwgLS0+DQo8aW5zIGNsYXNzPSJhZHNieWdvb2dsZSINCiAgICAgc3R5bGU9ImRpc3BsYXk6YmxvY2siDQogICAgIGRhdGEtYWQtY2xpZW50PSJjYS1wdWItOTI5NDg1MzEyMDc1NDI3OSINCiAgICAgZGF0YS1hZC1zbG90PSI1MDc3NjQ3MTY5Ig0KICAgICBkYXRhLWFkLWZvcm1hdD0iYXV0byINCiAgICAgZGF0YS1mdWxsLXdpZHRoLXJlc3BvbnNpdmU9InRydWUiPjwvaW5zPg0KPHNjcmlwdD4NCiAgICAgKGFkc2J5Z29vZ2xlID0gd2luZG93LmFkc2J5Z29vZ2xlIHx8IFtdKS5wdXNoKHt9KTsNCjwvc2NyaXB0Pjxici8+PC9wPg0K

Welche Benutzerkennwörter sind abgelaufen?

Die meisten Benutzer erneuern Ihre Kennwörter sehr zuverlässig, wenn Sie kurz vor Ablauf darauf aufmerksam gemacht werden. Es gibt aber überall unbelehrbare Mitmenschen, die jegliche Warnungen und Hinweise ignorieren und sich dann lautstark beschweren, wenn Active Sync oder der VPN-Zugang nicht mehr funktionieren. Als Administrator ist es daher hilfreich, über abgelaufene Kennwörter Bescheid zu wissen – am besten, bevor derartige Anrufe eintrudeln.

Über die Windows Powershell ist es sehr einfach, abgelaufene Kennwörter der AD-Benutzer auszulesen.

Abgelaufene Kennwörter auslesen per Powershell
Das Kennwort dieses Benutzers ist abgelaufen. Einfaches Auslesen der Benutzer, deren Passwort abgelaufen ist.

Die notwendigen Daten erhalten wir über das CmdLet „Get-ADUser“ und dem damit verknüpften Objekt „PasswordExpired„. Außerdem habe ich das Objekt „PasswordLastSet“ integriert, um zu sehen, ob der Benutzer möglicherweise schon längere Zeit inaktiv ist. Beachtet werden natürlich nur aktivierte Benutzerkonten und auch nur die, deren Kennwort auslaufen kann.

get-aduser -filter {Enabled -eq $True -and PasswordNeverExpires -eq $False} -properties PasswordExpired, PasswordLastSet | 
select Name, PasswordLastSet, PasswordExpired | 
sort -property PasswordLastset -Descending | 
Where{$_.PasswordExpired -eq "TRUE"}

Über den Operator „sort“ habe ich die Ergebnisse so sortiert, dass die Benutzer oben stehen, deren Kennwort erst vor Kurzem abgelaufen ist, bzw. deren letzte Kennwortänderung am kürzesten zurückliegt. Im obigen Beispiel ist gut zu erkennen, dass er in diesem Active Directory einige Benutzer gibt, die bereits einige Zeit keine Kennwortänderung durchgeführt haben und demzufolge bereits sehr lange nicht mehr angemeldet gewesen sein können. Somit lässt sich dieses Skript sogar zusätzlich dazu nutzen, inaktive Benutzerkonten aufzuspüren.

Ebenfalls interessant:

Dieser Artikel ist wie alle anderen auf dieser Seite kostenlos für Dich und ich hoffe, ich konnte Dir weiterhelfen. Wer möchte, kann diesem Blog eine kleine Aufmerksamkeit in Form einer kleinen Spende (PayPal) oder über die Amazon Wunschliste zukommen lassen. Bitcoins gerne hier hin: 17zAdJSDYkukxeWFfSu5qjnmMtKamWzRuD.

Schreibe einen Kommentar