Anmeldedaten für Active Directory mit PowerShell überprüfen


    Tags: ,

    Möchte man feststellen, ob mit einem bestimmten Paar aus Benutzername und Kennwort die Anmeldung an einem ActiveDirectory möglich ist, dann kann man dies über PowerShell tun. Dazu muss man ein PrincipalContext-Objekt im Namespace System.DirectoryServices.AccountManagement anlegen. Er ist Bestandteil der Assembly-Bibliothek System.­DirectoryServices.­AccountManagement, die ihrereseits zur .NET 3.5-Laufzeit gehört.

    Die Library lässt sich einfach per Add-Type-Cmdlet laden (auf einem XP-Computer, auf dem nur .NET 2.0 installiert ist, wird es daher nicht funktionieren). Wurde das PrincipalContext-Objekt mit dem Namen der Domäne angelegt, kann die Gültigkeit eines Paares aus Benutzername und Kennwort über dessen ValidateCredentials-Methode überprüft werden.

    Einfache Variante des Credentials-Tests

    Die Funktion Test-Credentials verpackt den beschriebenen Aufruf so, dass der Test wie folgt durchgeführt wird:

    Test-ADCredentials -Username <Username> -Password "Kennwort" -Domain "<Fqdn>"

    Dass das Kennwort in dieser Aufrufvariante im Klartext übergeben wird, ist nur dem Wunsch nach Einfachheit geschuldet. Es sind drei weitere Zeilen erforderlich, um ein Kennwort über Tastatur als SecureString entgegenzunehmen und es als String-Objekt weiterzugeben:

    Damit kann die Funktion etwas sicherer aufgerufen werden:

    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 Peter Monadjemi

    Peter Monadjemi lebt als freier IT-Journalist, Buchautor und Trainer mit Schwerpunkten PowerShell und .NET-Programmierung in Esslingen am Neckar.

     

    Verwandte Beiträge

    Weitere Links