Azure Active Directory mit PowerShell AzureAD-Modul v2 administrieren

    PowerShell-Modul für Azure AD v2Azure Active Directory lässt sich über das Web-Portal oder mit Power­Shell admini­strieren. Letztere setzt jedoch die Integration des Azure AD-Moduls für Power­Shell voraus. Damit lassen sich unter anderem Benutzer und Gruppen in Scripts oder auf der Kommando­zeile verwalten.

    PowerShell kann helfen, wieder­kehrende Vorgänge oder Massen­änderungen auch bei Azure Active Directory zu beschleunigen. Zudem deckt das Web-Portal einige Verwaltungs­aufgaben nicht ab, so dass sie PowerShell vorbehalten bleiben.

    Die für das Azure AD zuständigen Cmdlets sind im AzureAD-Modul 2.0.0.33 zusammengefasst und dienen ausschließlich der AD-Cloud Verwaltung (Bei einer Installation des PowerShell-Moduls für AD DS siehe diese Anleitung).

    Beschrieben hatte ich bereits die grundlegenden Cmdlets der Version 1.1.166.0, diese wurden angeführt mit dem Präfix "Msol". Durch das neue Modul ändert sich die Syntax beginnend mit "AzureAD".

    Auch sei bei dieser Gelegenheit erwähnt, dass derzeit nicht alle AD-Dienste in den deutschen Azure-Rechen­zentren verfügbar sind. Eine Übersicht über die aktuell ange­botenen Services bietet diese Tabelle.

    Voraussetzungen und Installation des AD-Moduls

    Das PowerShell-Modul läuft auf Client-Systemen und wird unter Windows Server mit PowerShell Version ab 3.0 unterstützt. Sind diese Voraus­setzungen erfüllt, dann kann das 6,03 MB große AzureAD Modul in der aktuellen 2.0.0.33 GA Version (General Availability) herunter­geladen und installiert werden.

    Modul für Azure AD mit NuGet herunterladen und installieren.

    Ein Download erfolgt über

    Save-Module -Name AzureAD -Path C:\Folder

    und installiert, wenn nötig, den erforderlichen NuGet-Provider gleich mit. So kann das Modul auf dem lokalen System inspiziert werden um es anschließend mit

    Install-Module -Name AzureAD -Scope CurrentUser

    zu integrieren.

    Sollten die Cmdlets für Azure AD in PowerShell nicht zur Verfügung stehen, dann sollte man versuchen, das Modul mit

    Import-Module AzureAD

    explizit zu laden.

    Da das PowerShell-Modul für Azure Active Directory regelmäßigen Updates unterliegt, lohnt sich immer wieder ein Blick auf die aktuell installierte Version mit der Abfrage:

    Get-Module -Name AzureAD

    Ein Abgleich mit der aktuellen Version aus der Microsoft PowerShell Gallery bringt hier Licht ins Dunkel. Auch ein Find-Module AzureAD zeigt das aktuelle Modul in der PSGallery und Update-Module AzureAD -Force aktualisiert die vorhandene Version.

    Verbindung zum Azure AD Online-Dienst herstellen

    Um anschließend die Cmdlets des Moduls inklusive einer kurzen Beschrei­bung aufzulisten, gibt man

    Get-Help AzureAD | more

    ein.

    Liste der Cmdlets im Modul für Azure AD mit Get-Help anzeigen.

    Hervorgehoben habe ich einige der häufig benötigten Cmdlets, darunter auch jenes für die Initiierung einer sicheren HTTPS-Verbindung mit dem Azure Active Directory. Denn bevor Verwaltungs­aufgaben wie beispiels­weise das Anlegen neuer Benutzer überhaupt stattfinden können, ist eine Online-Verbindung mit ent­sprechenden Zugangs­daten nötig:

    $MyCred = Get-Credential
    Connect-AzureAD -Credential $MyCred

    Mit dem Schalter zur Environment

    Connect-AzureAD -AzureEnvironmentName AzureGermanyCloud

    könnte man sich dann speziell zu den Azure-Rechenzentren in Deutschland verbinden. Auch der Disconnect ist jetzt möglich mit Disonnect-AzureAD.

    Die Variable $MyCred merkt sich die interaktiv einge­gebenen Azure-Zugangsdaten eines AAD-Administrators, um sie im Connect wiederzuverwenden. Ein Network Trace mit dem Message Analyzer zeigt die gesicherte Verbindung in die Azure Cloud.

    Der Network Trace mit dem Message Analyzer zeigt die gesicherte Verbindung.

    Azure AD PowerShell Cmdlets verwenden

    Ist die Verbindung zum Azure AD-Service erst hergestellt, dann lassen sich die verschiedenen Funktionen der Cmdlets ausprobieren. Möchte man den detaillierten Status des Mandanten ("Tenant") inkl. verifizierter Domänen ausgeben, dann erfüllt das Cmdlet

    Get-AzureADTenantDetail | fl

    diesen Zweck.

    Um die Liste aller im Azure-AD vorhandenen Benutzer anzuzeigen, ruft man das Cmdlet

    Get-AzureADUser

    auf. Kommt AAD Connect für die Synchroni­sierung mit dem On-Premise Windows AD zum Einsatz, dann sind synchronisierte Benutzer mit dem Cmdlet

    Get-AzureADUser -Filter "DirSyncEnabled"

    verifizierbar.

    Wurden Gruppen im Cloud-Verzeichnis konfiguriert, dann sind diese in PowerShell mit

    Get-AzureADGroup

    erreichbar.

    Eine immer wiederkehrende Aufgabe wird es sein, neue Benutzer anzulegen und das bequem im Enterprise Umfeld mit einem Template für PowerShell zu bewerkstelligen. Neue User können nach folgendem Muster eingepflegt werden:

    $Password = New-Object "Microsoft.Open.AzureAD.Model.PasswordProfile"
    $Password.ForceChangePasswordNextLogin = $True
    $Password.Password = "Passw0rd"

    Durch Festlegung dieses Passwort-Profils, wird beim nächsten Login eine Änderung des temporären Passworts erzwungen. Der Benutzer wird jetzt angelegt mit:

    New-AzureADUser -UserPrincipalName abaum@LabAAD16.onmicrosoft.com `
     -DisplayName "Baum, Amylie" -GivenName "Amylie" `
     -Surname "Baum" -PasswordProfile $Password `
     -AccountEnabled $true -MailNickName "abaum"

    Neuen Benutzer anlegen in Azure AD mit PowerShell

    Auch das Einlesen einer CSV-Datei mit einer großen Anzahl von Usern lässt sich mit PowerShell bewerk­stelligen.

    Keine Kommentare