Asignación de roles de administrador a cuentas de usuario de Microsoft 365 con PowerShell

Este artículo afecta tanto a Office 365 Enterprise como a Microsoft 365 Enterprise

Puede asignar fácilmente roles a cuentas de usuario mediante PowerShell para Microsoft 365.

Nota:

Obtenga información sobre cómo asignar roles de administrador a cuentas de usuario con el Centro de administración de Microsoft 365.

Para obtener una lista de recursos adicionales, consulte Administración de usuarios y grupos.

Asignación de roles a cuentas de usuario mediante Microsoft Graph PowerShell

Nota:

El sdk de PowerShell de Microsoft Graph reemplaza el módulo de Azure Active Directory. Puede usar el SDK de PowerShell de Microsoft Graph para acceder a todas las API de Microsoft Graph. Para más información, consulte Introducción al SDK de PowerShell de Microsoft Graph.

En primer lugar, use un administrador de controlador de dominio de Microsoft Entra, una Administración de aplicación en la nube o una cuenta de administrador global para conectarse a su inquilino de Microsoft 365. Los cmdlets de este artículo requieren el ámbito de permiso RoleManagement.ReadWrite.Directory o uno de los demás permisos enumerados en la página de referencia "List subscribedSkus" Graph API. Algunos comandos de este artículo pueden requerir ámbitos de permisos diferentes, en cuyo caso esto se anotará en la sección correspondiente.

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

Para más información, consulteSobre los roles de administrador.

A continuación, identifique el nombre de inicio de sesión de la cuenta de usuario que desea agregar a un rol (por ejemplo: fredsm@contoso.com). Esto también se conoce como nombre principal de usuario (UPN).

A continuación, determine el nombre del rol. Consulte Microsoft Entra roles integrados.

Nota:

Preste atención a las notas de este artículo. Algunos nombres de rol son diferentes para PowerShell de Azure Active Directory (Azure AD). Por ejemplo, el rol Administrador de SharePoint en el Centro de administración de Microsoft 365 es Administrador de servicios de SharePoint en PowerShell de Azure AD.

A continuación, rellene el UPN de usuario y los nombres de rol y ejecute estos comandos:

$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

Este es un ejemplo de un conjunto de comandos completado que asigna el rol Administrador de servicios de SharePoint a la belindan@contoso.com cuenta:

$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

Para mostrar la lista de identificadores de usuario para un rol de administrador específico, use estos comandos.

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

Vea también