Tags: Microsoft 365, Lizenzierung, PowerShell, Microsoft Teams
Über die grafische Oberfläche des Microsoft 365 Admin Portal können Firmen ihre Lizenzen an ausgewählte User zuweisen. Effizienter ist die gruppenbasierte Lizenzierung, die aber ein Azure AD Premium P1 voraussetzt. Wenn man die Kosten dafür sparen möchte, kann man das Management über PowerShell automatisieren.
Die Automatisierung der Lizenzverwaltung beschränkt sich natürlich nicht nur auf die Zuweisung von Lizenzen, sondern betrifft auch deren Entzug. Ein weiteres gängiges Anliegen besteht darin, die Lizenzen im Tenant bei Bedarf auf andere Benutzer umzuschichten.
Vorbereitungen
In den meisten Fällen sollen die User durch die Mitgliedschaft in einer lokalen Active Directory-Gruppe automatisch eine Lizenz in Microsoft 365 erhalten. Dies ist möglich, wenn die entsprechende Gruppe über Azure Active Directory Connect (AAD Connect) nach Microsoft 365 synchronisiert wurde.
Im ersten Schritt muss man erwartungsgemäß mit PowerShell eine Verbindung zu Microsoft 365 herstellen. Wie man dabei vorgeht, beschreibt diese Anleitung.
Vorhandene Lizenzen abfragen
Nun wird man sich einen Überblick verschaffen wollen, welche Lizenzen denn überhaupt zur Verfügung stehen. Dies geht mit dem Cmdlet
Get-AzureADSubscribedSku
Wenn man prüfen möchte, wie viele Lizenzen aus dem Kontingent bereits vergeben sind, dann kann man dies mit folgendem Befehl erfragen:
Get-AzureADSubscribedSku |
Select -Property Sku*,ConsumedUnits -ExpandProperty PrepaidUnits
Des Weiteren kann man auch für einzelne Benutzer die jeweils zugewiesene Lizenz ermitteln. Wichtig hierbei ist immer die so genannte SkuID. Die SKUPartNumber, unter welcher der normale Paket- bzw. Lizenzname steht, hilft leider hier nicht weiter.
Get-AzureADUser -objectid cb5e0cb0-b07a-482f-bb4d-3ade2426b7e9 |
Select -ExpandProperty AssignedLicenses
Jetzt kann man anhand der SkuID herausfinden, um welches Lizenzpaket es sich dabei handelt:
Get-AzureADSubscribedSku |
Where {$_.SkuId -eq "29a2f828-8f39-4837-b8ff-c957e86abe3c"}
Es gibt hierzu allerdings noch einen anderen Weg, welcher zeigt, welche Features einer Lizenz für einen User aktiviert wurden. In vielen Umgebungen sind nämlich aus verschiedenen Gründen die Lizenzen nicht immer in vollem Umfang zugeteilt.
Get-AzureADUser -objectid cb5e0cb0-b07a-482f-bb4d-3ade2426b7e9 |
Select -ExpandProperty AssignedPlans
In diesem Fall sind alle Features der Lizenz beim User aktiviert, wie die Spalte CapabilityStatus anhand des Werts Enabled zeigt.
Mit diesen Informationen könnte man bereits einem User eine Lizenz zuweisen:
Oftmals soll aber, wie erwähnt, eine Lizenz nicht in vollem Umfang zur Verfügung gestellt werden, da gewisse Funktionen im Unternehmen noch nicht implementiert sind oder der User sie schlicht nicht nutzen darf.
Hier wäre es gut zu wissen, wie die einzelnen Programmabschnitte, welche in der Lizenz enthalten sind, heißen (zum Beispiel: Sharepoint, Teams, Exchange etc.). Dies kann folgender Befehl herausfinden:
(Get-AzureADSubscribedSku |
where {$_.SkuPartNumber –eq 'TEAMS_COMMERCIAL_TRIAL'}).ServicePlans
Wichtig ist hier eigentlich nur die Spalte ServicePlaneName.
Für die granulare Zuweisung finde ich persönlich das alte MSOnline-Modul einfacher:
Lizenz entziehen
Irgendwann muss einem User natürlich auch wieder die Lizenz entzogen werden. Sollte es sich um ein Offboarding handeln, so kann man das Konto einfach in AAD Connect aus der Synchronisation zum Azure AD entfernen und seine Lizenz wird dann automatisch wieder freigegeben.
Wenn jedoch ein User mehrere Lizenzen besitzt und ihm eine davon weggenommen werden soll, dann kann man folgendermaßen vorgehen:
Den Erfolg des Befehls kann man wie folgt kontrollieren:
Get-AzureADUser -ObjectId $UserUPN |
Select -ExpandProperty AssignedPlans
Er bestätigt, dass die Lizenz dem Benutzer nun entzogen worden ist.
Täglich Know-how für IT-Pros mit unserem Newsletter
Roland Eich ist gelernter Fachinformatiker für Systemintegration und in der IT seit über 14 Jahren zu Hause. Roland deckt aufgrund seiner Erfahrungen ein breites Spektrum der Microsoft-Produktpalette ab.
Zudem besitzt er verschiedene Zertifizierungen (MCITP, MCSA und MCSE, ITIL, PRINCE2).
// Kontakt: E-Mail //
Verwandte Beiträge
- Statt Mail-Alerts: Systemnachrichten über Webhooks an Microsoft Teams senden
- Microsoft Teams über PowerShell verwalten: Teams anlegen, ändern löschen und Benutzer hinzufügen
- VMware bringt künftig vCenter- vor ESXi-Releases, vSphere 8 U1 als IA verfügbar
- Postfächer aus Microsoft 365 in eine PST-Datei exportieren mit PowerShell
- Exchange Online: Admins können nun mehrere Lizenzen parallel zuweisen
Weitere Links
1 Kommentar
Das ist nicht ganz korrekt. Ich habe mehrere Tests gemacht und die Gruppen-Lizensierung benötigt nicht unbedingt eine P1 Lizenz. Die Gruppenberechtigungen sind möglich sobald sich Office 365 E3 Lizenzen im Tenant befinden, das ist auch auf der Website von Microsoft nochmal hinterlegt: https://docs.microsoft.com/de-de/azure/active-directory/fundamentals/act.... Befinden sich also E3 Lizenzen im Tenant ist alles gut. Aus eigener Erfahrung kann ich sagen, die Gruppen Lizenzierung ist das einzig richtige. Sollten manuell Lizenzen vergeben worden sein, ist das kein Problem - Gruppen erstellen - User zuweisen und anschließend per Script die manuell zugewiesenen wieder entfernen. Lizenzen werden zwar nie doppelt gezählt, aber wenn beispielsweise ein User von E3 auf E1 Heruntergestuft wird und der User noch eine frühere E3 über das Admin Center zugewiesen bekommen hat, besitzt er diese Lizenz weiterhin. Das ist etwas "grütze" aber works as designed :)