Desativar o acesso aos serviços do Microsoft 365 com o PowerShell

Este artigo aplica-se ao Microsoft 365 Enterprise e ao Office 365 Enterprise.

Quando é atribuída uma licença a uma conta do Microsoft 365 a partir de um plano de licenciamento, os serviços do Microsoft 365 são disponibilizados ao utilizador a partir dessa licença. No entanto, pode controlar os serviços do Microsoft 365 aos quais o utilizador pode aceder. Por exemplo, apesar de a licença permitir o acesso ao serviço SharePoint Online, pode desativar o acesso ao mesmo. Pode utilizar o PowerShell para desativar o acesso a qualquer número de serviços para um plano de licenciamento específico para:

  • Uma conta individual.
  • Um grupo de contas.
  • Todas as contas na sua organização.

Nota

Existem dependências de serviço do Microsoft 365 que podem impedi-lo de desativar um serviço especificado quando outros serviços dependem dele.

Utilizar o SDK do PowerShell do Microsoft Graph

Nota

O módulo do Azure Active Directory está a ser substituído pelo SDK do PowerShell do Microsoft Graph. Pode utilizar o SDK do PowerShell do Microsoft Graph para aceder a todas as APIs do Microsoft Graph. Para obter mais informações, veja 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.

Atribuir e remover licenças de um utilizador requer o âmbito de permissão User.ReadWrite.All ou uma das outras permissões listadas na página de referência da Graph API "Atribuir licença".

O âmbito de permissão Organization.Read.All é necessário para ler as licenças disponíveis no inquilino.

Connect-Graph -Scopes User.ReadWrite.All, Organization.Read.All

Em seguida, utilize este comando para ver os planos de licenciamento disponíveis, também conhecidos como SkuPartNumber:

Get-MgSubscribedSku | Select SkuId, SkuPartNumber, ServicePlans | Sort SkuPartNumber

Para obter mais informações, veja Ver licenças e serviços com o PowerShell.

Para ver os resultados anteriores e posteriores dos procedimentos neste tópico, veja Ver detalhes da licença da conta e do serviço com o PowerShell.

Desativar serviços específicos do Microsoft 365 para utilizadores específicos para um plano de licenciamento específico

Para desativar um conjunto específico de serviços do Microsoft 365 para os utilizadores para um plano de licenciamento específico, execute os seguintes passos:

Em primeiro lugar, liste os planos de licenciamento disponíveis no seu inquilino com o seguinte comando.

Get-MgSubscribedSku | Select SkuPartNumber

SkuPartNumber
-------------
EMSPREMIUM
SPE_E5
RIGHTSMANAGEMENT_ADHOC

Em seguida, utilize o SkuPartNumber do comando acima, liste os planos de serviço disponíveis para um determinado plano de licença (SKU).

O exemplo seguinte lista todos os planos de serviço disponíveis para SPE_E5 (Microsoft 365 E5).

Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5' |  select -ExpandProperty ServicePlans
AppliesTo ProvisioningStatus ServicePlanId                        ServicePlanName
--------- ------------------ -------------                        ---------------
User      Success            b21a6b06-1988-436e-a07b-51ec6d9f52ad PROJECT_O365_P3
User      Success            64bfac92-2b17-4482-b5e5-a0304429de3e MICROSOFTENDPOINTDLP
User      Success            199a5c09-e0ca-4e37-8f7c-b05d533e1ea2 MICROSOFTBOOKINGS
User      Success            6db1f1db-2b46-403f-be40-e39395f08dbb CUSTOMER_KEY
User      Success            4a51bca5-1eff-43f5-878c-177680f191af WHITEBOARD_PLAN3
User      Success            07699545-9485-468e-95b6-2fca3738be01 FLOW_O365_P3
User      Success            9c0dab89-a30c-4117-86e7-97bda240acd2 POWERAPPS_O365_P3
User      Success            e212cbc7-0961-4c40-9825-01117710dcb1 FORMS_PLAN_E5
User      Success            57ff2da0-773e-42df-b2af-ffb7a2317929 TEAMS1
User      Success            21b439ba-a0ca-424f-a6cc-52f954a5b111 WIN10_PRO_ENT_SUB
User      Success            eec0eb4f-6444-4f95-aba0-50c24d67f998 AAD_PREMIUM_P2
User      Success            c1ec4a95-1f05-45b3-a911-aa3fa01094f5 INTUNE_A
User      Success            7547a3fe-08ee-4ccb-b430-5077c5041653 YAMMER_ENTERPRISE
User      Success            a23b959c-7ce8-4e57-9140-b90eb88a9e97 SWAY
User      Success            e95bec33-7c88-4a70-8e19-b10bd9d0c014 SHAREPOINTWAC
User      Success            5dbe027f-2339-4123-9542-606e4d348a72 SHAREPOINTENTERPRISE
User      Success            b737dad2-2f6c-4c65-90e3-ca563267e8b9 PROJECTWORKMANAGEMENT
User      Success            43de0ff5-c92c-492b-9116-175376d08c38 OFFICESUBSCRIPTION
User      Success            0feaeb32-d00e-4d66-bd5a-43b5b83db82c MCOSTANDARD
User      Success            9f431833-0334-42de-a7dc-70aa40db46db LOCKBOX_ENTERPRISE
User      Success            efb87545-963c-4e0d-99df-69c6916d9eb0 EXCHANGE_S_ENTERPRISE

Para obter uma lista completa dos planos de licença (também conhecidos como nomes de produtos), os planos de serviço incluídos e os nomes amigáveis correspondentes, veja Nomes de produtos e identificadores do plano de serviço para licenciamento. (Pesquise com o ServicePlanId para procurar o nome amigável correspondente do plano de serviço).

O exemplo seguinte atribui SPE_E5 (Microsoft 365 E5) com os serviços MICROSOFTBOOKINGS (Microsoft Bookings) e LOCKBOX_ENTERPRISE (Customer Lockbox) desativados:

$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
$disabledPlans = $e5Sku.ServicePlans | `
    Where ServicePlanName -in ("LOCKBOX_ENTERPRISE", "MICROSOFTBOOKINGS") | `
    Select -ExpandProperty ServicePlanId

$addLicenses = @(
    @{
        SkuId = $e5Sku.SkuId
        DisabledPlans = $disabledPlans
    }
)

Set-MgUserLicense -UserId "belinda@litwareinc.com" -AddLicenses $addLicenses -RemoveLicenses @()

A DisabledPlans propriedade do -AddLicenses parâmetro em Set-MgUserLicense substituirá o valor existente DisabledPlans do utilizador. Para preservar o estado dos planos de serviço existentes, os planos de estado de serviço atuais do utilizador têm de ser intercalados com os novos planos que vão ser desativados.

A não inclusão do existente DisabledPlans resultará na ativação do plano anteriormente desativado do utilizador.

O exemplo seguinte atualiza um utilizador com SPE_E5 (Microsoft 365 E5) e desativa os planos de serviço do Sway e do Forms, deixando os planos desativados existentes do utilizador no estado atual:

## Get the services that have already been disabled for the user.
$userLicense = Get-MgUserLicenseDetail -UserId "belinda@fdoau.onmicrosoft.com"
$userDisabledPlans = $userLicense.ServicePlans | `
    Where ProvisioningStatus -eq "Disabled" | `
    Select -ExpandProperty ServicePlanId

## Get the new service plans that are going to be disabled
$e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
$newDisabledPlans = $e5Sku.ServicePlans | `
    Where ServicePlanName -in ("SWAY", "FORMS_PLAN_E5") | `
    Select -ExpandProperty ServicePlanId

## Merge the new plans that are to be disabled with the user's current state of disabled plans
$disabledPlans = ($userDisabledPlans + $newDisabledPlans) | Select -Unique

$addLicenses = @(
    @{
        SkuId = $e5Sku.SkuId
        DisabledPlans = $disabledPlans
    }
)
## Update user's license
Set-MgUserLicense -UserId "belinda@litwareinc.onmicrosoft.com" -AddLicenses $addLicenses -RemoveLicenses @()

Gerir contas de utilizador, licenças e grupos do Microsoft 365 com o PowerShell

Gerir o Microsoft 365 com o PowerShell

Introdução ao PowerShell para Microsoft 365