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.

1 Antwort

  1. Kai-Uwe Rommel sagt:

    Das Beispiel für „Azure Active Directory Modules Version 2“ funktioniert so nicht.
    Die verwendeten Optionen -AddLicenses und -StrongAuthentication gibt es nicht.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Diese Website verwendet Akismet, um Spam zu reduzieren. Erfahre mehr darüber, wie deine Kommentardaten verarbeitet werden.