Assegnare ruoli di amministratore agli account utente di Microsoft 365 con PowerShell

Questo articolo si applica sia a Microsoft 365 Enterprise che a Office 365 Enterprise.

È possibile assegnare facilmente ruoli agli account utente usando PowerShell per Microsoft 365.

Nota

Informazioni su come assegnare ruoli di amministratore agli account utente con il interfaccia di amministrazione di Microsoft 365.

Per un elenco di risorse aggiuntive, vedere Gestire utenti e gruppi.

Assegnare ruoli agli account utente tramite Microsoft Graph PowerShell

Nota

Il modulo Azure Active Directory viene sostituito da Microsoft Graph PowerShell SDK. È possibile usare Microsoft Graph PowerShell SDK per accedere a tutte le API di Microsoft Graph. Per altre informazioni, vedere Inizia a usare Attività iniziali con Microsoft Graph PowerShell SDK.

Per connettersi al tenant di Microsoft 365, usare prima di tutto un amministratore del controller di dominio Microsoft Entra, un'applicazione cloud Amministrazione o un account amministratore globale. I cmdlet in questo articolo richiedono l'ambito di autorizzazione RoleManagement.ReadWrite.Directory o una delle altre autorizzazioni elencate nella pagina di riferimento 'List subscribedSkus' API Graph. Alcuni comandi in questo articolo possono richiedere ambiti di autorizzazione diversi, nel qual caso questa operazione verrà annotata nella sezione pertinente.

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

Per altre informazioni, vedere Informazioni sui ruoli di amministratore.

Identificare quindi il nome di accesso dell'account utente che si vuole aggiungere a un ruolo (ad esempio: fredsm@contoso.com). Questo nome è noto anche come nome dell'entità utente (UPN).

Successivamente, determinare il nome del ruolo. Vedere Microsoft Entra ruoli predefiniti.

Nota

Prestare attenzione alle note in questo articolo. Alcuni nomi di ruolo sono diversi per Azure Active Directory (Azure AD) PowerShell. Ad esempio, il ruolo amministratore di SharePoint nel interfaccia di amministrazione di Microsoft 365 è Amministratore del servizio SharePoint in Azure AD PowerShell.

Compilare quindi l'UPN utente e i nomi dei ruoli ed eseguire questi comandi:

$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

Di seguito è riportato un esempio di set di comandi completato che assegna il ruolo di amministratore del servizio SharePoint all'account belindan@contoso.com :

$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

Per visualizzare l'elenco degli ID utente per un ruolo di amministratore specifico, usare questi comandi.

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

Vedere anche