In einer Active Directory (AD)-Umgebung können inaktive Active Directory Benutzer ein Sicherheitsrisiko darstellen. Möglicherweise besitzen sie noch Berechtigungen, die Angreifer ausnutzen könnten. Es ist daher ratsam, solche Konten regelmäßig zu identifizieren und zu deaktivieren oder zu entfernen.
Genau für die Aufgabe kannst du sehr einfach die Windows PowerShell verwenden. Diese Anleitung zeigt dir, wie du eine Liste der Benutzer erstellen kannst, die sich seit mehr als 180 Tagen nicht angemeldet haben.
Voraussetzungen
- Du benötigst administrative Rechte auf dem Domänencontroller, um Active Directory Benutzer bearbeiten zu können.
- Grundlegen PowerShell Kenntnisse
- PowerShell Editor wie Visual Studio Code oder PowerShell ISE
Active Directory Benutzer nach dem letzten Log-in auffinden
Öffne PowerShell mit Administratorrechten. Dies kannst du tun, indem du mit der rechten Maustaste auf das PowerShell-Icon klickst und „als Administrator ausführen“ wählst.
Du kannst entweder direkt das Windows Terminal verwenden, die Windows PowerShell ISE oder am besten Visual Studio Code.
Mit diesem Script identifizierst du inaktive Benutzerkonten, welche sich seit mehr als 180 Tage nicht mehr an der Domäne angemeldet haben.
Get-ADUser -Filter * -Properties LastLogonDate |
Where-Object {$.LastLogonDate -ne $null -and $.LastLogonDate -lt (Get-Date).AddDays(-180)}
Select-Object SamAccountName, LastLogonDate, DistinguishedName
Sort-Object LastLogonDate
Erläuterung des Kommandos:
- Get-ADUser -Filter -Properties LastLogonDate: Ruft alle Benutzer aus dem AD ab und schließt die Eigenschaft LastLogonDate ein.
- Where-Object: Filtert Benutzer, deren LastLogonDate nicht leer ist und die sich seit mehr als 180 Tagen nicht angemeldet haben.
- Select-Object: Wählt die wichtigsten Eigenschaften wie SamAccountName (Benutzername), LastLogonDate und den DistinguishedName aus.
- Sort-Object: Sortiert die Ausgabe basierend auf dem Datum der letzten Anmeldung.
Abschließend kannst du die Ergebnisse prüfen
Nach dem Ausführen des Befehls erhältst du eine übersichtliche Liste mit:
- SamAccountName: Benutzername
- LastLogonDate: Datum der letzten Anmeldung
- DistinguishedName: Active Directory Pfad des Benutzers
- Optional: Ergebnisse exportieren (siehe nächstes Skript)
Wenn du die Ergebnisse für die Dokumentation oder Weiterverarbeitung speichern möchtest, kannst du die Ausgabe in eine CSV-Datei exportieren. Dadurch hast du anschließend die einfache Option, die Daten zu filtern und zu bearbeiten.
Für den Export verwendest du dabei am besten das PowerShell Cmdlet Export-CSV. Anschließend musst du nur noch den entsprechenden Pfad angeben.
Get-ADUser -Filter \* -Properties LastLogonDate |
Where-Object \{$.LastLogonDate -ne $null -and $.LastLogonDate -lt (Get-Date).AddDays(-180)} |
Select-Object SamAccountName, LastLogonDate, DistinguishedName |
Sort-Object LastLogonDate | Export-Csv -Path "C:\InactiveUsers.csv" -NoTypeInformation -Encoding UTF8

Datensicherung und Backup erstellen
Grundsätzlich solltest du immer von deinen Systemen eine Datensicherung erstellen. Vor allem, wenn du aber tiefergreifende Änderungen vornimmst, ist es vorher umso ratsamer, eine Sicherung zu erstellen. Du kannst hierfür z. B.bordeigene Tools wie die Windows Server Sicherung verwenden, oder aber professionelle Sicherungsprogramme wie EaseUS Todo Backup Business*, welche dir mehr Optionen bieten.
Den Active Directory Account deaktivieren
Überprüfe die exportierte Liste und entscheide, ob die betroffenen Konten deaktiviert oder gelöscht werden sollen.
Active Directory Benutzer deaktivieren
Disable-ADAccount -Identity "SamAccountName"
Active Directory Benutzer löschen
Remove-ADUser -Identity "Benutzername" -Confirm
Fazit
Mit diesem PowerShell-Script kannst du verlässlich Benutzerkonten identifizieren, die sich seit mehr als 180 Tagen nicht angemeldet haben. Die Tage lassen sich dabei je nach Bedarf natürlich beliebig wählen. Um mehr Ordnung und Sicherheit in deinem System zu haben, solltest du gelegentlich genau dies prüfen.
Keine Produkte gefunden.




