Inaktive Konten und User ohne Passwörter im AD deakivieren mit Freeware und PowerShell

    Windows-Logon mit Username und PasswortEine regel­mäßige Wartung ist von zen­traler Bedeutung für die Sicherheit des Active Directory. Dazu gehört das Aufspüren und Korrigieren von Konten, die kein Pass­wort benötigen bzw. das nie abläuft, oder von verwaisten Accounts. Eine ein­fache Möglich­keit dafür bietet die Kombi­nation aus Specops Password Auditor und PowerShell.

    Ein erster Schritt zur Erhöhung der AD-Sicherheit besteht darin, sich einen Überblick über den aktuellen Status des Ver­zeichnisses zu verschaffen. Mit den gewonnenen Erkenntnissen lassen sich dann Maßnahmen umsetzen.

    Nachdem die grafischen Bordmittel nur rudimentäre Reporting-Fähigkeiten besitzen, bietet sich statt­dessen PowerShell an. Wenn man jedoch den ganzen Prozess von den Abfragen bis zum Ändern der Konten mit Scripts abdecken möchte, dann erfordert dies einigen Entwicklungs- und Wartungs­aufwand sowie entsprechende PowerShell-Kenntnisse.

    Specops-Report in PowerShell nutzen

    Eine einfachere Alternative bietet die hier vorgestellte Kombination aus dem kostenlosen Specops Password Auditor und PowerShell. Die vorgefertigten Berichte der Freeware liefern die nötigen Daten, die man im CSV-Format exportieren und dann mit wenigen Zeilen PowerShell weiter­verarbeiten kann.

    Specops Password Auditor generiert mehrere Reports, die helfen, Benutzerkonten zu schützen.

    Zu den mitgelieferten Berichten des Tools gehören solche zu Admin-Konten, die lange nicht mehr benutzt wurden, zu Accounts, die kein Passwort erfordern oder deren Kennwort nie abläuft bzw. das bereits abgelaufen ist. Außerdem gibt es Auskunft darüber, welche User administrative Rechte besitzen.

    Konten mit PowerShell deaktivieren

    Fördert Specops Password Auditor Konten zutage, die offenbar unberechtigt administrative Privilegien haben oder die inaktiv sind, dann könnte man diese deaktivieren, bis ihr Status geklärt ist.

    Dazu liest man die CSV-Datei in PowerShell ein, zeigt sie mit Out-GridView in einer grafischen Tabelle an und übergibt die dort ausgewählten Datensätze an das Cmdlet Disable-ADAccount:

    Import-Csv -Path .\admin-accounts.csv | Out-GridView -PassThru |
    foreach {Disable-ADAccount -Identity $_.SAMAccountName }

    Die in der Liste ausgewählten Admin-Konten werden durch Disable-ADAccount deaktiviert.

    User zu Kennwort verpflichten

    Analog könnte man verfahren, um Benutzer zur Verwendung eines Kennworts zu zwingen. Dazu zeigt man die CSV-Ausgabe des Reports Password not required in Out-GridView an und leitet die gewählten Datensätze an Set-ADUser weiter:

    Import-Csv -Path .\PW-not-required.csv | Out-GridView -PassThru |
    foreach {Set-ADUser -Identity $_.SAMAccountName -PasswordNotRequired $false}

    Wie man sieht, reicht auch hier ein simples PowerShell-Kommando aus, wenn man sich den Report von Specops Password Auditor zunutze macht.

    Ablaufdatum für Passwörter

    Weitgehend gleich ist das Vorgehen, wenn man dafür sorgen möchte, dass die Passwörter der Benutzer nicht unbegrenzt gültig sind:

    Import-Csv -Path .\PW-never-expires-users.csv | Out-GridView -PassThru |
    foreach {Set-ADUser -Identity $_.SAMAccountName -PasswordNeverExpires $false}

    Zwei ausgewählte Konten ändern, so dass ihre Kennwörter zukünftig ablaufen

    Ein Vorteil dieses Vorgehens besteht darin, dass man die Aktion sehr einfach auf bestimmte Konten beschränken kann.

    Zwei Beispielkonten vor und nach dem Aufruf Set-ADUser -PasswordNeverExpires.

    Triviale und kompromittierte Kennwörter

    Die größte Bedrohung für die Passwort­sicherheit besteht indes darin, dass Benutzer zu einfache oder kompromittierte Kennwörter verwenden. Specops Password Auditor vergleicht die Hashes aller Passwörter mit einer umfang­reichen Liste von gestohlenen Kennwörtern, die vom Hersteller regelmäßig aktualisiert wird.

    Hier könnte man nach dem gleichen Muster vorgehen wie oben beschrieben. In diesem Fall würde man alle im Report aufgeführten User zwingen, ihr Kennwort bei der nächsten Anmeldung zu ändern (siehe dazu auch: Schwache AD-Passwörter finden und mit PowerShell beseitigen).

    Der Aufruf dafür sieht dann so aus:

    Import-Csv -Path .\ breached-PW-users.csv | Out-GridView -PassThru |
    foreach {Set-ADUser -Identity $_.SAMAccountName -ChangePasswordAtLogon $true}

    Ungeeignete Kennwörter ausschließen

    Die von Specops Software entwickelte Lösung Specops Password Policy kann praktisch beliebige Regeln vorgeben, wie ein neues Passwort auszusehen hat. Dadurch gelangen schwache oder kompromittierte Kennwörter erst gar nicht in das AD. Admins können damit auch die Nutzung von Passphrasen anstatt von Passwörtern erzwingen.

    Die Anwender erkennen bereits bei der Eingabe, ob Passwörter den gewünschten Kriterien entsprechen und erhalten genaue Hinweise, welche Zeichen noch erforderlich sind oder wann die notwendige Länge erreicht ist.

    Specops Password Policy zeigt dem User beim Wechsel des Passworts an, welchen Vorgaben es genügen muss.

    Mehr Informationen und eine kostenlose Demo von Password Password Policy erhalten Sie auf dieser Seite. Sie interessieren für unsere Preise? Dann können Sie hier direkt eine Anfrage senden.

    *Dies ist ein bezahlter Beitrag von Specops Software.