Del via


Tilordne administratorroller til Microsoft 365-brukerkontoer med PowerShell

Denne artikkelen gjelder for både Microsoft 365 Enterprise og Office 365 Enterprise.

Du kan enkelt tilordne roller til brukerkontoer ved hjelp av PowerShell for Microsoft 365.

Obs!

Lær hvordan du tilordner administratorroller til brukerkontoer med Administrasjonssenter for Microsoft 365.

Hvis du vil ha en liste over flere ressurser, kan du se Administrere brukere og grupper.

Tilordne roller til brukerkontoer ved hjelp av Microsoft Graph PowerShell

Obs!

Azure Active Directory-modulen erstattes av Microsoft Graph PowerShell SDK. Du kan bruke Microsoft Graph PowerShell SDK til å få tilgang til alle Microsoft Graph API-er. Hvis du vil ha mer informasjon, kan du se Komme i gang med Microsoft Graph PowerShell SDK.

Først må du bruke en Microsoft Entra DC-administrator eller Cloud Application Admin-konto for å koble til Microsoft 365-leieren. Cmdletene i denne artikkelen krever tillatelsesomfanget RoleManagement.ReadWrite.Directory eller en av de andre tillatelsene som er oppført på referansesiden List subscribedSkus Graph API. Noen kommandoer i denne artikkelen kan kreve ulike tillatelsesomfang, i så fall vil dette bli notert i den aktuelle delen.

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

Hvis du vil ha mer informasjon, kan du se Om administratorroller.

Deretter identifiserer du påloggingsnavnet for brukerkontoen du vil legge til i en rolle (for eksempel: fredsm@contoso.com). Dette er også kjent som brukerhovednavn (UPN).

Deretter bestemmer du navnet på rollen. Se Microsoft Entra innebygde roller.

Obs!

Noen rollenavn er forskjellige for Azure Active Directory (Azure AD) PowerShell. SharePoint-administratorrollen i Administrasjonssenter for Microsoft 365 er for eksempel SharePoint-tjenesteadministrator i Azure AD PowerShell.

Deretter fyller du ut bruker-UPN- og rollenavnene og kjører disse kommandoene:

$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 fullført kommandosett som tilordner Exchange-administratorrollen til adelev@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 vise listen over bruker-ID-er for en bestemt administratorrolle, kan du bruke disse kommandoene.

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

Se også