Disabilitare l'accesso ai servizi di Microsoft 365 con PowerShell

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

Quando a un account Microsoft 365 viene assegnata una licenza da un piano di licenza, i servizi di Microsoft 365 vengono resi disponibili all'utente da tale licenza. È tuttavia possibile controllare i servizi di Microsoft 365 a cui l'utente può accedere. Ad esempio, anche se la licenza consente l'accesso al servizio SharePoint Online, è possibile disabilitare l'accesso. È possibile usare PowerShell per disabilitare l'accesso a un numero qualsiasi di servizi per un piano di licenza specifico per:

  • Un singolo account.
  • Un gruppo di account.
  • Tutti gli account nell'organizzazione.

Nota

Esistono dipendenze del servizio Microsoft 365 che possono impedire la disabilitazione di un servizio specificato quando altri servizi dipendono da esso.

Usare Microsoft Graph PowerShell SDK

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.

L'assegnazione e la rimozione di licenze per un utente richiedono l'ambito di autorizzazione User.ReadWrite.All o una delle altre autorizzazioni elencate nella pagina di riferimento "Assegna licenza" API Graph.

L'ambito di autorizzazione Organization.Read.All è necessario per leggere le licenze disponibili nel tenant.

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

Usare quindi questo comando per visualizzare i piani di licenza disponibili, noti anche come SkuPartNumber:

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

Per altre informazioni, vedere Visualizzare licenze e servizi con PowerShell.

Per visualizzare i risultati prima e dopo le procedure in questo argomento, vedere Visualizzare i dettagli relativi alla licenza dell'account e al servizio con PowerShell.

Disabilitare specifici servizi di Microsoft 365 per utenti specifici per un piano di licenza specifico

Per disabilitare un set specifico di servizi di Microsoft 365 per gli utenti per un piano di licenza specifico, seguire questa procedura:

Elencare innanzitutto i piani di licenza disponibili nel tenant usando il comando seguente.

Get-MgSubscribedSku | Select SkuPartNumber

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

Usare quindi SkuPartNumber dal comando precedente, elencare i piani di servizio disponibili per un determinato piano di licenza (SKU).

Nell'esempio seguente sono elencati tutti i piani di servizio disponibili per 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

Per un elenco completo dei piani di licenza (noti anche come nomi di prodotto), dei piani di servizio inclusi e dei nomi descrittivi corrispondenti, vedere Nomi dei prodotti e identificatori del piano di servizio per le licenze. Cercare il nome descrittivo corrispondente del piano di servizio usando ServicePlanId.

L'esempio seguente assegna SPE_E5 (Microsoft 365 E5) con i servizi MICROSOFTBOOKINGS (Microsoft Bookings) e LOCKBOX_ENTERPRISE (Customer Lockbox) disattivati:

$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 @()

La DisabledPlans proprietà del -AddLicenses parametro in Set-MgUserLicense sovrascriverà il valore esistente DisabledPlans dell'utente. Per mantenere lo stato dei piani di servizio esistenti, è necessario unire lo stato corrente dei piani di servizio dell'utente con i nuovi piani che verranno disabilitati.

Se non si include l'esistente DisabledPlans , verrà abilitato il piano disabilitato in precedenza dell'utente.

Nell'esempio seguente viene aggiornato un utente con SPE_E5 (Microsoft 365 E5) e vengono disattivati i piani di servizio Sway e Forms lasciando nello stato corrente i piani disabilitati esistenti dell'utente:

## 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 @()

Gestire gli account utente, le licenze e i gruppi di Microsoft 365 con PowerShell

Gestire Microsoft 365 con PowerShell

Guida introduttiva a PowerShell per Microsoft 365