Tildel administratorroller til Microsoft 365-brugerkonti med PowerShell

Denne artikel gælder både for Microsoft 365 Enterprise og Office 365 Enterprise.

Du kan nemt tildele roller til brugerkonti ved hjælp af PowerShell til Microsoft 365.

Bemærk!

Få mere at vide om, hvordan du tildeler administratorroller til brugerkonti med Microsoft 365 Administration.

Du kan finde en liste over yderligere ressourcer under Administrer brugere og grupper.

Tildel roller til brugerkonti ved hjælp af Microsoft Graph PowerShell

Bemærk!

Azure Active Directory-modulet erstattes af Microsoft Graph PowerShell SDK. Du kan bruge Microsoft Graph PowerShell SDK til at få adgang til alle Microsoft Graph-API'er. Du kan få flere oplysninger under Kom i gang med Microsoft Graph PowerShell SDK.

Brug først en Microsoft Entra DC-administrator, cloudprogram Administration eller global administratorkonto til at oprette forbindelse til din Microsoft 365-lejer. Cmdlet'erne i denne artikel kræver tilladelsesomfanget RoleManagement.ReadWrite.Directory eller en af de andre tilladelser, der er angivet på graf-API-referencesiden 'List subscribedSkus'. Nogle kommandoer i denne artikel kan kræve forskellige tilladelsesområder, og i så fald vil dette blive bemærket i det relevante afsnit.

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

Du kan få mere at vide under Om administratorroller.

Identificer derefter logonnavnet på den brugerkonto, du vil føje til en rolle (f.eks.: fredsm@contoso.com). Dette kaldes også brugerens hovednavn (UPN).

Derefter skal du bestemme navnet på rollen. Se Microsoft Entra indbyggede roller.

Bemærk!

Vær opmærksom på noterne i denne artikel. Nogle rollenavne er forskellige for Azure Active Directory (Azure AD) PowerShell. SharePoint-administratorrollen i Microsoft 365 Administration er f.eks. SharePoint Service-administrator i Azure AD PowerShell.

Udfyld derefter brugerens UPN og rollenavne, og kør følgende kommandoer:

$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

Her er et eksempel på et fuldført kommandosæt, der tildeler rollen SharePoint Service-administrator til belindan@contoso.com kontoen:

$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

Hvis du vil have vist en liste over bruger-id'er for en bestemt administratorrolle, skal du bruge disse kommandoer.

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

Se også