Konten im Active Directory entsperren oder aktivieren mit PowerShell


    Tags: , ,

    Gesperrte Konten freischalten mit PowerShellDas AD-Modul für PowerShell umfasst Cmdlets, mit denen Admins Benutzerkonten durchsuchen und ändern können. Search-ADAccount hilft beim Auf­spüren gesperrter und deak­tivierter Konten, Unlock-ADAccount und Enable-ADAccount ent­sperren bzw. aktivieren sie wieder.

    Wenn sich Benutzer nicht am Active Directory anmelden können und deswegen den Helpdesk kontaktieren, dann liegt es meist daran, dass sie sich wegen zu häufiger Fehl­eingabe eines Passworts ausge­sperrt haben. Als Ursache in Frage kommt auch, dass der Account (versehentlich) deaktiviert wurde oder abge­laufen ist.

    Betroffene Konten anzeigen

    Diese drei Zustände eines Kontos lassen sich mit dem PowerShell-Cmdlet Search-ADAccount relativ einfach abfragen.

    Sperre, Deaktivierung und Ablaufdatum eines Kontos in AD-Benutzer und -Computer.

    Im einfachsten Fall kontaktiert es den Standard-DC (für die Domäne, welcher der lokale PC angehört) und durchforstet das ganze Verzeichnis:

    Search-ADAccount -LockedOut -UsersOnly

    Der Schalter UsersOnly schränkt die Suche auf Benutzer­konten ein. Möchte man die Abfrage auf eine OU eingrenzen kann man das über den Parameter SearchBase tun:

    Search-ADAccount -LockedOut -UsersOnly -SearchBase "OU=IT,DC=contoso,DC=com"

    Nach dem gleichen Muster findet man alle Konten, die deaktiviert wurden. Anstelle des Schalters LockedOut verwendet man dann AccountDisabled.

    Deaktivierte Konten finden und aktivieren mit PowerShell.

    Befristete Konten finden

    Das AD bietet bekanntlich die Möglichkeit, Benutzerkonten zeitlich zu befristen, indem man sie mit einem Ablaufdatum versieht. Konten, die bereits abgelaufen sind, lassen sich mit einem Aufruf nach dem obigen Vorbild ermitteln, der entsprechende Schalter lautet dann AccountExpired:

    Search-ADAccount -AccountExpired -UsersOnly

    Möchte man herausfinden, ob bestimmte Konten während der nächsten 10 Tage ablaufen, dann würde der Befehl so aussehen:

    Search-ADAccount -AccountExpiring -TimeSpan "10"

    Wenn man für den Zeitraum auch Stunden und Minuten spezifizieren möchte, dann kann man das durch eine Zeitangabe im Format dd:hh:mm tun.

    Accounts entsperren oder aktivieren

    Meistens sollen den Erkenntnissen über gesperrte oder deaktivierte Konten auch Taten folgen. Für das Entsperren, Aktivieren oder Verlängern des Ablauf­datums existiert jeweils ein eigenes PowerShell-Cmdlet.

    Will man eine Konto­sperre aufheben, dann greift man zu Unlock-ADAccount. Es erwartet einen Wert für den verpflichtenden Parameter Identity. Diesen kann man einfach in Form des Kontonamens (SamAccountName), aber auch als Distinguished Name oder SID übergeben:

    Unlock-ADAccount -Identity amueller

    Falls man dem Cmdlet auf mehrere Benutzernamen anwenden möchte, dann scheitert man schnell daran, dass der Parameter nur einen akzeptiert. In diesem Fall muss man zu einer Schleife greifen:

    "amueller","SCooper"|%{Enable-ADAccount $_}

    Alternativ kann man dem Cmdlet zum Entsperren eines Kontos auch die Ausgabe von Search-ADAccount übergeben. Dies geschieht nach dem gleichen Muster wie das Aktivieren eines deaktivierten Kontos:

    Search-ADAccount -AccountDisabled -UsersOnly -SearchBase "OU=IT,DC=contoso,DC=local" |
    Enable-ADAccount

    Ablaufdatum verlängern

    Will man schließlich das Ablaufdatum eines Accounts verlängern, dann tut man dies mit Hilfe von Set-ADAccountExpiration. Wie die beiden letzten besprochenen Cmdlets kann man ihm das Konto über den Parameter Identity mitteilen oder ihm den Output von Search-ADAccount durchreichen:

    Search-ADAccount -AccountExpiring -TimeSpan "15"|
    Set-ADAccountExpiration -DateTime 30.04.2017

    In diesem Beispiel würde die Gültigkeitsdauer aller Konten, die innerhalb von 15 Tagen ablaufen, bis zum 30.04.2017 um 00:00 Uhr verlängert. Möchte man statt eines festen Datums eine Frist angeben, dann kann man das wie weiter oben gezeigt mit dem Parameter TimeSpan tun.

    Täglich Know-how für IT-Pros mit unserem Newsletter

    Wir ver­wenden Ihre Mail-Adresse nur für den Ver­sand der News­letter.
    Es erfolgt keine per­sonen­be­zogene Auswertung.

    Bild von Wolfgang Sommergut
    Wolfgang Sommergut hat lang­jährige Erfahrung als Fach­autor, Berater und Kon­ferenz­sprecher zu ver­schie­denen Themen der IT. Da­ne­ben war er als System­ad­mi­ni­stra­tor und Con­sultant tätig.
    // Kontakt: E-Mail, XING, LinkedIn //

    Verwandte Beiträge

    Weitere Links