Synced Accounts – MFA Lizenz zuweisen und MFA erzwingen
Standardmäßig sind Synced Accounts nach der Erstsynchronisation unlizenziert; lediglich die Anmeldung am Microsoft Online Portal ist möglich.
Um dies zu Automatisieren, gibt es mehrere Möglichkeiten:
- Gruppen-basiert
- per Script
Ich widme mich der Script Methode, weil dadurch nach der Lizenzierung auch Folge-Tasks recht einfach ausgeführt werden können. Im folgenden Beispiel möchte ich für alle unlizenzierten Synced Accounts meiner Custom Domain Multi-Faktor-Authentifizierung lizenzieren und erzwingen.
Dazu erhalten die entsprechenden Accounts das MFA Lizenz-Addon und MFA wird aktiviert.
Azure Active Directory Modules Version 1:
# PowerShell Module importieren Import-Module MSOnline # Anmelden an Microsoft Online Connect-MsolService # Standort (Usage Location) für alle Accounts mit leerem Wert setzen Get-MsolUser -All | Where-Object {$_.UsageLocation -eq $null} | Set-MsolUser -UsageLocaton "DE" # Abfrage aller unlizenzierten Benutzer unserer Custom Domain $users = Get-MsolUser -DomainName <your.domain> -UnlicensedUserOnly -All # Zuweisung des Lizenz-Addons "MFA" und MFA Aktivierung/Erzwingung $users | foreach { Set-MsolUserLicense -UserPrincipalName $_.UserPrincipalName -AddLicenses "<Tenant-Name>:MFA_PREMIUM" $auth = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement $auth.RelyingPart = "*" $auth.State = "Forced" Set-MsolUser -UserPrincipalName $_.UserPrincipalName -StrongAuthentication Requirements $auth }
Azure Active Directory Modules Version 2:
# PowerShell Module importieren Import-Module AzureAD # Anmelden an Microsoft Online Connect-AzureAD # Standort (Usage Location) für alle Accounts mit leerem Wert setzen Get-AzureADUser -All | Where-Object {$_.UsageLocation -eq $null} | Set-AzureADUser -UsageLocaton "DE" # Abfrage aller unlizenzierten Benutzer unserer Custom Domain $users = Get-AzureADUser -DomainName <your.domain> -UnlicensedUserOnly -All # Zuweisung des Lizenz-Addons "MFA" und MFA Aktivierung/Erzwingung $users | foreach { Set-AzureADUserLicense -UserPrincipalName $_.UserPrincipalName -AssignedLicenses "<Tenant-Name>:MFA_PREMIUM" $auth = New-Object -TypeName Microsoft.Online.Administration.StrongAuthenticationRequirement $auth.RelyingPart = "*" $auth.State = "Forced" Set-AzureADUser -UserPrincipalName $_.UserPrincipalName -StrongAuthentication Requirements $auth }
MFA ist auch in mehreren Bundles enthalten, z.B. in Enterprise Mobility & Security E1; die im Script zu verwendende SKU richtet sich dementsprechend danach, welche Lizenz oder welches Lizenzbundle verwendet werden soll.
Eine Liste einiger SKUs findet ihr hier.
Eure lizenzierten SKUs könnt ihr mit folgendem Einzeiler abfragen (V1/V2):
Get-MsolAccountSku Get-AzureADSubscribedSku
Update 20.11.2020
Auf Grund der Einführung der neuen az
Module muss der obige Beitrag überarbeitet werden. Danke für euer Verständnis, dass der Beitrag nicht vollständig/korrekt ist.
Das Beispiel für „Azure Active Directory Modules Version 2“ funktioniert so nicht.
Die verwendeten Optionen -AddLicenses und -StrongAuthentication gibt es nicht.