So deaktivieren Sie inaktive Benutzerkonten mit PowerShell
Mar 17, 2015
Inaktive Active Directory (AD) Benutzerkonten können ein Sicherheitsrisiko für Organisationen darstellen, in Situationen wie wenn ehemalige Mitarbeiter Monate nach ihrem Ausscheiden aus dem Unternehmen noch aktive Konten haben, weil die Personalabteilung die IT nicht informiert hat, oder wenn Konten für einen bestimmten Zweck erstellt, aber nach dem Ereignis nie gelöscht werden. Was auch immer der Grund für die Existenz solcher Konten sein mag, Active Directory kann schnell außer Kontrolle geraten, was wiederum Ihre Systeme schwieriger zu prüfen und weniger sicher macht.
Active Directory-Modul für PowerShell
Das PowerShell-Modul für Active Directory ermöglicht es Systemadministratoren, Active Directory abzufragen und Berichte mit den resultierenden Daten zu generieren. Das AD-Modul für PowerShell ist standardmäßig auf Windows Server 2012-Domänencontrollern installiert, oder alternativ können Sie das Remote Server Administration Tools (RSAT) for Windows 8.1 herunterladen und das Modul mit dem untenstehenden Befehl installieren.
Melden Sie sich als lokaler Administrator an, öffnen Sie eine PowerShell-Eingabeaufforderung, geben Sie den untenstehenden Code ein und drücken Sie ENTER, um das AD-Modul für PowerShell zu installieren:
Install-WindowsFeature RSAT-AD-PowerShell
Suche in Active Directory nach inaktiven Konten
Das Cmdlet Search-ADAccount bietet eine einfache Möglichkeit, Active Directory nach inaktiven Benutzerkonten zu durchsuchen:
Search-ADAccount –UsersOnly –AccountInactive
Der obige Befehl gibt alle inaktiven Konten zurück. Um die Ergebnisse auf einen bestimmten Zeitraum einzugrenzen, können Sie den Parameter –TimeSpan zum Search-ADAccount hinzufügen. Im folgenden Beispiel definiert eine Variable den Wert für den –TimeSpan Parameter, unter Verwendung des New-Timespan Cmdlets, um die Eingabe zu vereinfachen:
$timespan = New-Timespan –Days 90 Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan
Alternativ können Sie den –DateTime-Parameter angeben, um Konten zurückzugeben, die seit einem bestimmten Datum inaktiv sind. Im folgenden Befehl werden Konten zurückgegeben, die seit dem 5. Mai 2014 nicht aktiv waren:
Search-ADAccount –UsersOnly –AccountInactive -DateTime ‘5/20/2014’
Um benutzerfreundlichere Informationen über die Konten zu erhalten, leiten Sie die Ergebnisse an das Get-ADUser Cmdlet weiter und wählen Sie dann die Spalten aus, die im Ausgabeformat mit Select: angezeigt werden sollen.
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Select Name,Department,Title,DistinguishedName
Die Ergebnisse können auch nach einem bestimmten Feld sortiert werden, in diesem Beispiel nach dem Attribut LastLogOnDate, das von LastLogonTimestamp abgeleitet und in ein lesbares Format umgewandelt wird:
Search-ADAccount –UsersOnly –AccountInactive | Get-ADuser -Properties Department,Title | Sort LastLogOnDate | Select Name,Department,Title,DistinguishedName
Es ist erwähnenswert, dass im Gegensatz zum Attribut LastLogOn, LastLogonTimestamp zwischen den Domänencontrollern synchronisiert wird, aber 9 bis 14 Tage veraltet sein kann, daher sollten Sie dies bei der Verarbeitung Ihrer Ergebnisse berücksichtigen.
Eine weitere Möglichkeit, die Ausgabe zu vereinfachen und die Anzahl der inaktiven Benutzer zu zählen, besteht darin, die Ergebnisse an das Cmdlet Measure zu leiten:
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Measure
Wie bei allen anderen PowerShell-Cmdlets können die Ergebnisse an Out-GridView weitergeleitet oder in eine kommagetrennte Datei exportiert werden, sodass die Ergebnisse in Excel importiert werden können.
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Out-GridView
Deaktivieren Sie inaktive Konten
Sobald Sie die gewünschten Ergebnisse erhalten haben, müssen Sie diese nur noch an das Cmdlet Disable-ADAccount weiterleiten, wie hier gezeigt, um die Konten zu deaktivieren:
Search-ADAccount –UsersOnly –AccountInactive –TimeSpan $timespan | Disable-ADAccount
Netwrix Auditor beinhaltet die Fähigkeit, inaktive Benutzerkonten über alle unterstützten Windows-Versionen hinweg zu erkennen und zu deaktivieren, und die Ergebnisse werden in die Datenbank, Berichterstattung und Benachrichtigungsfunktionen des Produkts integriert, sodass keine zusätzlichen Skripte ausgeführt und separat gewartet werden müssen. Netwrix Auditor kann inaktive Konten deaktivieren, ein zufälliges Passwort setzen, Konten in eine bestimmte Organisationseinheit (OU) verschieben oder die Konten löschen.
Jetzt ist es an der Zeit, Ihre Meinung in der untenstehenden Umfrage zu hinterlassen. Beachten Sie, dass es nur eine richtige Antwort gibt!
Teilen auf
Erfahren Sie mehr
Über den Autor
Russell Smith
IT-Berater
IT-Berater und Autor, der sich auf Management- und Sicherheitstechnologien spezialisiert hat. Russell verfügt über mehr als 15 Jahre Erfahrung in der IT, er hat ein Buch über Windows-Sicherheit geschrieben und er hat einen Text für die Official Academic Course (MOAC) Serie von Microsoft mitverfasst.
Erfahren Sie mehr zu diesem Thema
Konfigurationsmanagement für sichere Endpoint-Kontrolle
Datenschutzgesetze der Bundesstaaten: Unterschiedliche Ansätze zum Datenschutz
Beispiel für Risikoanalyse: Wie man Risiken bewertet
Das CIA-Dreieck und seine Anwendung in der realen Welt
Was ist elektronisches Records Management?