Zuweisen von Administratorrollen zu Microsoft 365-Benutzerkonten mit PowerShell

Dieser Artikel gilt sowohl für Microsoft 365 Enterprise als auch für Office 365 Enterprise.

Sie können Benutzerkonten mithilfe von PowerShell für Microsoft 365 ganz einfach Rollen zuweisen.

Hinweis

Erfahren Sie, wie Sie Benutzerkonten mit dem Microsoft 365 Admin Center Administratorrollen zuweisen.

Eine Liste zusätzlicher Ressourcen finden Sie unter Verwalten von Benutzern und Gruppen.

Verwenden der Azure Active Directory PowerShell für Graph-Module

Verwenden Sie zunächst einen Azure AD DC-Administrator, ein Cloud Application Admin- oder ein globales Administratorkonto, um eine Verbindung mit Ihrem Microsoft 365-Mandanten herzustellen.

Weitere Informationen finden Sie unter Informationen zu Administratorrollen.

Identifizieren Sie als Nächstes den Anmeldenamen des Benutzerkontos, das Sie einer Rolle hinzufügen möchten (Beispiel: fredsm@contoso.com). Dies wird auch als Benutzerprinzipalname (USER Principal Name, UPN) bezeichnet.

Ermitteln Sie nun den Namen der Rolle. Siehe integrierte Azure AD-Rollen.

Hinweis

Achten Sie auf die Hinweise in diesem Artikel. Einige Rollennamen unterscheiden sich für Azure Active Directory (Azure AD) PowerShell. Beispielsweise ist die SharePoint-Administratorrolle in der Microsoft 365 Admin Center SharePoint-Dienstadministrator in Azure AD PowerShell.

Geben Sie als Nächstes die Anmelde- und Rollennamen ein, und führen Sie die folgenden Befehle aus:

$userName="<sign-in name of the account>"
$roleName="<admin role name>"
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
if ($role -eq $null) {
$roleTemplate = Get-AzureADDirectoryRoleTemplate | Where {$_.displayName -eq $roleName}
Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
}
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId (Get-AzureADUser | Where {$_.UserPrincipalName -eq $userName}).ObjectID

Hier ist ein Beispiel für einen abgeschlossenen Befehlssatz, der dem Konto die SharePoint-Dienstadministratorrolle zuweist belindan@contoso.com :

$userName="belindan@contoso.com"
$roleName="SharePoint Service Administrator"
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
if ($role -eq $null) {
$roleTemplate = Get-AzureADDirectoryRoleTemplate | Where {$_.displayName -eq $roleName}
Enable-AzureADDirectoryRole -RoleTemplateId $roleTemplate.ObjectId
$role = Get-AzureADDirectoryRole | Where {$_.displayName -eq $roleName}
}
Add-AzureADDirectoryRoleMember -ObjectId $role.ObjectId -RefObjectId (Get-AzureADUser | Where {$_.UserPrincipalName -eq $userName}).ObjectID

Verwenden Sie diese Befehle, um die Liste der Benutzernamen für eine bestimmte Administratorrolle anzuzeigen.

$roleName="<role name>"
Get-AzureADDirectoryRole | Where { $_.DisplayName -eq $roleName } | Get-AzureADDirectoryRoleMember | Ft DisplayName

Verwenden des Microsoft Azure Active Directory-Moduls für Windows PowerShell

Verwenden Sie zunächst ein globales Administratorkonto, um eine Verbindung mit Ihrem Microsoft 365-Mandanten herzustellen.

Bei einer einzelnen Rollenänderung

Die am häufigsten verwendeten Methoden zum Angeben des Benutzerkontos sind der Anzeigename oder der E-Mail-Name, der auch als Anmeldename oder Benutzerprinzipalname (USER Principal Name, UPN) bezeichnet wird.

Anzeigenamen von Benutzerkonten

Wenn Sie es gewohnt sind, mit den Anzeigenamen von Benutzerkonten zu arbeiten, ermitteln Sie die folgenden Informationen:

  • Das Benutzerkonto, das Sie konfigurieren möchten

    Beim Angeben des Benutzerkontos müssen Sie seinen Anzeigenamen bestimmen. Verwenden Sie den folgenden Befehl, um eine vollständige Liste der Konten abzurufen:

    Get-MsolUser -All | Sort DisplayName | Select DisplayName | More
    

    Mit diesem Befehl wird der Anzeigename der Benutzerkonten nach Anzeigename sortiert angezeigt, jeweils einer auf einem Bildschirm. Sie können die Liste mit dem Where -Cmdlets weiter eingrenzen. Beispiel:

    Hinweis

    Das Microsoft Azure Active Directory-Modul für Windows PowerShell-Modul und Cmdlets mit Msol im Namen werden von PowerShell Core nicht unterstützt. Führen Sie diese Cmdlets über Windows PowerShell aus.

    Get-MsolUser -All | Where DisplayName -like "John*" | Sort DisplayName | Select DisplayName | More
    

    Mit diesem Befehl werden nur die Benutzerkonten angezeigt, deren Anzeigename mit „John“ beginnt.

  • Die Rolle, die Sie zuweisen möchten

    Verwenden Sie den folgenden Befehl, um die Liste der verfügbaren Administratorrollen anzuzeigen, die Sie Benutzerkonten zuweisen können:

    Get-MsolRole | Sort Name | Select Name,Description
    

Nachdem Sie den Anzeigenamen des Kontos und den Namen der Rolle ermittelt haben, verwenden Sie die folgenden Befehle, um die Rolle dem Konto zuzuweisen:

$dispName="<The Display Name of the account>"
$roleName="<The admin role name you want to assign to the account>"
Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser -All | Where DisplayName -eq $dispName).UserPrincipalName -RoleName $roleName

Fügen Sie die Befehle in Editor ein. Ersetzen Sie für die Variablen $dispName und $roleName den Beschreibungstext durch ihre Werte. Entfernen Sie die < Zeichen, > aber behalten Sie die Anführungszeichen bei. Fügen Sie die geänderten Zeilen in das Microsoft Azure Active Directory Modul ein, damit Windows PowerShell Fenster sie ausführen kann. Alternativ können Sie die Windows PowerShell ISE (Integrated Script Environment) verwenden.

Hier ist ein Beispiel für einen abgeschlossenen Befehlssatz:

$dispName="Scott Wallace"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser -All | Where DisplayName -eq $dispName).UserPrincipalName -RoleName $roleName

Anmeldenamen von Benutzerkonten

Wenn Sie es gewohnt sind, mit den Anmeldenamen oder UPNs von Benutzerkonten zu arbeiten, ermitteln Sie die folgenden Informationen:

  • UPN des Benutzerkontos

    Wenn Sie den UPN nicht kennen, verwenden Sie diesen Befehl:

    Get-MsolUser -All | Sort UserPrincipalName | Select UserPrincipalName | More
    

    Dieser Befehl listet den UPN Ihrer Benutzerkonten, sortiert nach UPN, jeweils einen Bildschirm auf. Sie können das Cmdlet "Where " verwenden, um die Liste zu filtern. Hier ist ein Beispiel:

    Get-MsolUser -All | Where DisplayName -like "John*" | Sort UserPrincipalName | Select UserPrincipalName | More
    

    Mit diesem Befehl werden nur die Benutzerkonten angezeigt, deren Anzeigename mit „John“ beginnt.

  • Die Rolle, die Sie zuweisen möchten

    Um die Liste der verfügbaren Rollen anzuzeigen, die Benutzerkonten zugeordnet werden können, verwenden Sie den folgenden Befehl:

    Get-MsolRole | Sort Name | Select Name,Description
    

Nachdem Sie über den UPN des Kontos und den Namen der Rolle verfügen, verwenden Sie die folgenden Befehle, um die Rolle dem Konto zuzuweisen:

$upnName="<The UPN of the account>"
$roleName="<The role name you want to assign to the account>"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName

Kopieren Sie die Befehle, und fügen Sie sie in Editor ein. Für die Variablen $upnName und $roleName . Ersetzen Sie den Beschreibungstext durch ihre Werte. Entfernen Sie die < Zeichen, > aber behalten Sie die Anführungszeichen bei. Fügen Sie die geänderten Zeilen in Microsoft Azure Active Directory Modul ein, damit Windows PowerShell Fenster sie ausführen kann. Alternativ können Sie die Windows PowerShell ISE verwenden.

Hier ist ein Beispiel für einen abgeschlossenen Befehlssatz:

$upnName="scottw@contoso.com"
$roleName="SharePoint Service Administrator"
Add-MsolRoleMember -RoleMemberEmailAddress $upnName -RoleName $roleName

Mehrere Rollenänderungen

Ermitteln Sie bei mehreren Rollenänderungen die folgenden Informationen:

  • Welche Benutzerkonten Sie konfigurieren möchten. Sie können die Methoden im vorherigen Abschnitt verwenden, um den Satz von Anzeigenamen oder UPNs zu sammeln.

  • Rollen, die Sie jedem Benutzerkonto zuweisen möchten. Um die Liste der verfügbaren Rollen anzuzeigen, die Benutzerkonten zugeordnet werden können, verwenden Sie den folgenden Befehl:

    Get-MsolRole | Sort Name | Select Name,Description
    

Erstellen Sie als Nächstes eine CSV-Textdatei (Comma-Separated Value), die den Anzeigenamen oder upn- und Rollennamenfelder enthält. Dies ist in Microsoft Excel ganz einfach.

Hier ist ein Beispiel für Anzeigenamen:

DisplayName,RoleName
"Belinda Newman","Billing Administrator"
"Scott Wallace","SharePoint Service Administrator"

Geben Sie anschließend den Speicherort der CSV-Datei an, und führen Sie die resultierenden Befehle in der PowerShell-Eingabeaufforderung aus.

$fileName="<path and file name of the input CSV file that has the role changes, example: C:\admin\RoleUpdates.CSV>"
$roleChanges=Import-Csv $fileName | ForEach {Add-MsolRoleMember -RoleMemberEmailAddress (Get-MsolUser | Where DisplayName -eq $_.DisplayName).UserPrincipalName -RoleName $_.RoleName }

Hier ist ein Beispiel für UPNs:

UserPrincipalName,RoleName
"belindan@contoso.com","Billing Administrator"
"scottw@contoso.com","SharePoint Service Administrator"

Geben Sie anschließend den Speicherort der CSV-Datei an, und führen Sie die resultierenden Befehle in der PowerShell-Eingabeaufforderung aus.

$fileName="<path and file name of the input CSV file that has the role changes, example: C:\admin\RoleUpdates.CSV>"
$roleChanges=Import-Csv $fileName | ForEach { Add-MsolRoleMember -RoleMemberEmailAddress $_.UserPrincipalName -RoleName $_.RoleName }

Siehe auch