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 }