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- eller Cloud Application Administration-konto 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!
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 Exchange-administratorrollen adelev@contoso.com til 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 }