Tags: Azure, Active Directory, PowerShell
Azure Active Directory lässt sich über das Web-Portal oder mit PowerShell administrieren. Letztere setzt jedoch die Integration des Azure AD-Moduls für PowerShell voraus. Damit lassen sich unter anderem Benutzer und Gruppen in Scripts oder auf der Kommandozeile verwalten.
PowerShell kann helfen, wiederkehrende Vorgänge oder Massenänderungen auch bei Azure Active Directory zu beschleunigen. Zudem deckt das Web-Portal einige Verwaltungsaufgaben 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-Rechenzentren verfügbar sind. Eine Übersicht über die aktuell angebotenen 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 Voraussetzungen erfüllt, dann kann das 6,03 MB große AzureAD Modul in der aktuellen 2.0.0.33 GA Version (General Availability) heruntergeladen und installiert werden.
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 Beschreibung aufzulisten, gibt man
Get-Help AzureAD | more
ein.
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 Verwaltungsaufgaben wie beispielsweise das Anlegen neuer Benutzer überhaupt stattfinden können, ist eine Online-Verbindung mit entsprechenden Zugangsdaten 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 eingegebenen 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.
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 Synchronisierung 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"
Auch das Einlesen einer CSV-Datei mit einer großen Anzahl von Usern lässt sich mit PowerShell bewerkstelligen.
Täglich Know-how für IT-Pros mit unserem Newsletter
Marcel Küppers arbeitet seit über 25 Jahren in der IT, aktuell als Team Leader, zuvor als Consultant und Infrastructure Architect unter anderem für den japanischen Konzern JTEKT/TOYODA mit Verantwortung über die Europastandorte Krefeld und Paris. Darüber hinaus wirkte er als Berater im EU-Projekt-Team für alle Lokationen des Konzerns mit und ist spezialisiert auf hochverfügbare virtualisierte Microsoft-Umgebungen plus Hybrid Cloud Solutions. Zertifizierungen: MS Specialist und MCTS für Hyper-V/SCVMM, MCSE, MCITP, MCSA. Zusätzlich zertifiziert für PRINCE2 Projektmanagementmethode.
// Kontakt: E-Mail, Twitter, LinkedIn //
Ähnliche Beiträge
- Gruppen in Azure Active Directory mit PowerShell verwalten
- Microsoft fasst alle Authentifizierungsmethoden des Azure AD in einer Policy zusammen
- Azure AD: Bevorzugte Methode für Multi-Faktor-Authentifizierung festlegen
- Verfügbare Azure-VMs in einer Region mit PowerShell anzeigen
- Microsoft Entra ergänzt Azure Active Directory um Berechtigungs-Management und Verified ID
Weitere Links