Wyłączanie dostępu do usług Microsoft 365 przy użyciu programu PowerShell

Ten artykuł dotyczy zarówno Microsoft 365 Enterprise, jak i Office 365 Enterprise.

Gdy konto platformy Microsoft 365 ma przypisaną licencję z planu licencjonowania, usługi platformy Microsoft 365 są udostępniane użytkownikowi z tej licencji. Możesz jednak kontrolować usługi platformy Microsoft 365, do których użytkownik może uzyskać dostęp. Na przykład nawet jeśli licencja zezwala na dostęp do usługi SharePoint Online, możesz wyłączyć do niej dostęp. Program PowerShell umożliwia wyłączenie dostępu do dowolnej liczby usług dla określonego planu licencjonowania dla:

  • Indywidualne konto.
  • Grupa kont.
  • Wszystkie konta w organizacji.

Uwaga

Istnieją zależności usługi platformy Microsoft 365, które mogą uniemożliwić wyłączenie określonej usługi, gdy od niej zależą inne usługi.

Korzystanie z zestawu Microsoft Graph PowerShell SDK

Uwaga

Moduł usługi Azure Active Directory jest zastępowany przez zestaw Microsoft Graph PowerShell SDK. Aby uzyskać dostęp do wszystkich interfejsów API programu Microsoft Graph, możesz użyć zestawu Microsoft Graph PowerShell SDK. Aby uzyskać więcej informacji, zobacz Wprowadzenie do zestawu Microsoft Graph PowerShell SDK.

Najpierw użyj Microsoft Entra administratora kontrolera domeny, Administracja aplikacji w chmurze lub konta administratora globalnego, aby nawiązać połączenie z dzierżawą platformy Microsoft 365.

Przypisywanie i usuwanie licencji dla użytkownika wymaga zakresu uprawnień User.ReadWrite.All lub jednego z innych uprawnień wymienionych na stronie odwołania interfejs Graph API "Przypisywanie licencji".

Zakres uprawnień Organization.Read.All jest wymagany do odczytu licencji dostępnych w dzierżawie.

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

Następnie użyj tego polecenia, aby wyświetlić dostępne plany licencjonowania, znane również jako SkuPartNumber:

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

Aby uzyskać więcej informacji, zobacz Wyświetlanie licencji i usług za pomocą programu PowerShell.

Aby wyświetlić przed i po wynikach procedur w tym temacie, zobacz Wyświetlanie licencji konta i szczegółów usługi za pomocą programu PowerShell.

Wyłączanie określonych usług Platformy Microsoft 365 dla określonych użytkowników dla określonego planu licencjonowania

Aby wyłączyć określony zestaw usług Platformy Microsoft 365 dla użytkowników dla określonego planu licencjonowania, wykonaj następujące kroki:

Najpierw wyświetl listę planów licencjonowania dostępnych w dzierżawie przy użyciu następującego polecenia.

Get-MgSubscribedSku | Select SkuPartNumber

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

Następnie użyj polecenia SkuPartNumber z powyższego polecenia, aby wyświetlić listę planów usług dostępnych dla danego planu licencji (SKU).

W poniższym przykładzie wymieniono wszystkie plany usług dostępne dla 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

Aby uzyskać pełną listę planów licencji (znanych również jako nazwy produktów), ich dołączone plany usług i odpowiadające im przyjazne nazwy, zobacz Nazwy produktów i identyfikatory planów usług na potrzeby licencjonowania. (Wyszukaj przy użyciu identyfikatora ServicePlanId, aby wyszukać odpowiednią przyjazną nazwę planu usługi wyszukiwania).

Poniższy przykład przypisuje SPE_E5 (Microsoft 365 E5) z wyłączonymi usługami MICROSOFTBOOKINGS (Microsoft Bookings) i LOCKBOX_ENTERPRISE (Customer Lockbox):

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

Właściwość DisabledPlans parametru -AddLicenses w Set-MgUserLicense pliku spowoduje zastąpienie istniejącej DisabledPlans wartości użytkownika. Aby zachować stan istniejących planów usług, bieżący stan planów usług użytkownika musi zostać scalony z nowymi planami, które zostaną wyłączone.

Brak dołączenia istniejącego DisabledPlans spowoduje włączenie wcześniej wyłączonego planu użytkownika.

Poniższy przykład aktualizuje użytkownika przy użyciu SPE_E5 (Microsoft 365 E5) i wyłącza plany usług Sway i Forms, pozostawiając istniejące wyłączone plany użytkownika w bieżącym stanie:

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

Zarządzanie kontami, licencjami i grupami użytkowników platformy Microsoft 365 przy użyciu programu PowerShell

Zarządzanie platformą Microsoft 365 za pomocą programu PowerShell

Wprowadzenie do programu PowerShell dla platformy Microsoft 365