Magic Quadrant™ für Privileged Access Management 2025: Netwrix zum vierten Jahr in Folge anerkannt. Laden Sie den Bericht herunter.

Plattform
Ressourcen­zentrumBlog
So deaktivieren Sie inaktive Benutzerkonten mit PowerShell

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
      
Image

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
      
Image

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

Asset Not Found

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.