Atribuir funções de administrador a contas de utilizador do Microsoft 365 com o PowerShell
Esse artigo se aplica ao Microsoft 365 Enterprise e ao Office 365 Enterprise.
Pode atribuir facilmente funções a contas de utilizador com o PowerShell para Microsoft 365.
Observação
Saiba como atribuir funções de administrador a contas de utilizador com o centro de administração do Microsoft 365.
Para obter uma lista de recursos adicionais, veja Gerir utilizadores e grupos.
Atribuir funções a contas de utilizador com o Microsoft Graph PowerShell
Observação
O módulo do Azure Active Directory está a ser substituído pelo SDK do PowerShell do Microsoft Graph. Você pode usar o Microsoft Graph SDK do PowerShell para acessar todas as APIs do Microsoft Graph. Para saber mais, confira Introdução ao SDK do PowerShell do Microsoft Graph.
Primeiro, utilize uma conta de administrador do Microsoft Entra DC ou de Administrador de Aplicações na Cloud para ligar ao seu inquilino do Microsoft 365. Os cmdlets neste artigo requerem o âmbito de permissão RoleManagement.ReadWrite.Directory ou uma das outras permissões listadas na página de referência da Graph API "List subscribedSkus". Alguns comandos neste artigo podem exigir âmbitos de permissão diferentes, caso em que será indicado na secção relevante.
Connect-MgGraph -Scopes "RoleManagement.ReadWrite.Directory"
Para obter mais informações, confira o artigo Sobre funções de administrador.
Em seguida, identifique o nome de início de sessão da conta de utilizador que pretende adicionar a uma função (exemplo: fredsm@contoso.com). Isto também é conhecido como o nome principal de utilizador (UPN).
Em seguida, determine o nome da função. Consulte Funções incorporadas do Microsoft Entra.
Observação
Preste atenção às notas neste artigo. Alguns nomes de funções são diferentes para o PowerShell do Azure Active Directory (Azure AD). Por exemplo, a função de Administrador do SharePoint no centro de administração do Microsoft 365 é Administrador de Serviços do SharePoint no Azure AD PowerShell.
Em seguida, preencha o UPN do utilizador e os nomes das funções e execute estes 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
Eis um exemplo de um conjunto de comandos concluído que atribui a função de Administrador de Serviço do SharePoint à belindan@contoso.com conta:
$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 apresentar a lista de IDs de utilizador para uma função de administrador específica, utilize estes comandos.
$roleName="<role name>"
Connect-MgGraph -Scopes "Directory.Read.All"
Get-MgDirectoryRole | Where-Object { $_.DisplayName -eq $roleName } | ForEach-Object { Get-MgDirectoryRoleMember -DirectoryRoleId $_.Id }