Beheerdersrollen toewijzen aan Microsoft 365-gebruikersaccounts met PowerShell

Dit artikel is van toepassing op Microsoft 365 Enterprise en Office 365 Enterprise.

U kunt eenvoudig rollen toewijzen aan gebruikersaccounts met behulp van PowerShell voor Microsoft 365.

Opmerking

Meer informatie over het toewijzen van beheerdersrollen aan gebruikersaccounts met de Microsoft 365-beheercentrum.

Zie Gebruikers en groepen beheren voor een lijst met aanvullende resources.

Rollen toewijzen aan gebruikersaccounts met Behulp van Microsoft Graph PowerShell

Opmerking

De Azure Active Directory-module wordt vervangen door de Microsoft Graph PowerShell SDK. U kunt de Microsoft Graph PowerShell SDK gebruiken voor toegang tot alle Microsoft Graph API's. Zie Aan de slag met de Microsoft Graph PowerShell SDK voor meer informatie.

Gebruik eerst een Microsoft Entra DC-beheerder, cloudtoepassingsaccount Beheer of globale beheerder om verbinding te maken met uw Microsoft 365-tenant. De cmdlets in dit artikel vereisen het machtigingsbereik RoleManagement.ReadWrite.Directory of een van de andere machtigingen die worden vermeld op de Graph API referentiepagina 'List subscribedSkus'. Voor sommige opdrachten in dit artikel zijn mogelijk verschillende machtigingsbereiken vereist, in welk geval dit wordt vermeld in de relevante sectie.

Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"

ZieOver beheerdersrollen voor meer informatie.

Identificeer vervolgens de aanmeldingsnaam van het gebruikersaccount dat u wilt toevoegen aan een rol (bijvoorbeeld: fredsm@contoso.com). Dit wordt ook wel de user principal name (UPN) genoemd.

Bepaal vervolgens de naam van de rol. Zie ingebouwde rollen Microsoft Entra.

Opmerking

Let op de notities in dit artikel. Sommige rolnamen verschillen voor Azure Active Directory (Azure AD) PowerShell. De rol SharePoint-beheerder in de Microsoft 365-beheercentrum is bijvoorbeeld SharePoint-servicebeheerder in Azure AD PowerShell.

Vul vervolgens de UPN- en rolnamen van de gebruiker in en voer deze opdrachten uit:

$userUPN="<user UPN>"
$roleName="<role name>"
$role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
if ($role -eq $null) {
    $roleTemplate = (Get-MgDirectoryRoleTemplate | Where-Object {$_.displayName -eq $roleName}).id
    New-MgDirectoryRole -DisplayName $roleName -RoleTemplateId $roleTemplate
    $role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
}
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
$newRoleMember =@{
    "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
    }
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $role.Id -BodyParameter $newRoleMember

Hier volgt een voorbeeld van een voltooide opdrachtenset waarmee de rol SharePoint-servicebeheerder wordt toegewezen aan het belindan@contoso.com account:

$userUPN="adelev@contoso.com"
$roleName="Exchange Administrator"
$role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
if ($role -eq $null) {
    $roleTemplate = (Get-MgDirectoryRoleTemplate | Where-Object {$_.displayName -eq $roleName}).id
    New-MgDirectoryRole -DisplayName $roleName -RoleTemplateId $roleTemplate
    $role = Get-MgDirectoryRole | Where-Object {$_.displayName -eq $roleName}
}
$userId = (Get-MgUser -Filter "userPrincipalName eq '$userUPN'").Id
$newRoleMember =@{
    "@odata.id"= "https://graph.microsoft.com/v1.0/users/$userId"
    }
New-MgDirectoryRoleMemberByRef -DirectoryRoleId $role.Id -BodyParameter $newRoleMember

Gebruik deze opdrachten om de lijst met gebruikers-id's voor een specifieke beheerdersrol weer te geven.

$roleName="<role name>"
Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgDirectoryRole | Where-Object { $_.DisplayName -eq $roleName } | ForEach-Object { Get-MgDirectoryRoleMember -DirectoryRoleId $_.Id }

Zie ook