Отключение доступа к службам Microsoft 365 с помощью PowerShell

Эта статья относится к Microsoft 365 корпоративный и Office 365 корпоративный.

Если учетной записи Microsoft 365 назначена лицензия из плана лицензирования, службы Microsoft 365 становятся доступными для пользователя из этой лицензии. Однако вы можете управлять службами Microsoft 365, к которым пользователь может получить доступ. Например, несмотря на то, что лицензия разрешает доступ к службе SharePoint Online, вы можете отключить доступ к ней. PowerShell можно использовать для отключения доступа к любому количеству служб для определенного плана лицензирования для:

  • отдельная учетная запись;
  • группа учетных записей;
  • все учетные записи в организации.

Примечание.

Существуют зависимости служб Microsoft 365, которые могут препятствовать отключению указанной службы, если от нее зависят другие службы.

Использование пакета SDK Для Microsoft Graph PowerShell

Примечание.

Модуль Azure Active Directory заменяется пакетом SDK Для Microsoft Graph PowerShell. Можно использовать пакет SDK Microsoft Graph PowerShell для доступа ко всем API Microsoft Graph. Дополнительные сведения см. разделе Начало работы с пакетом SDK Microsoft Graph PowerShell.

Сначала используйте учетную запись администратора Microsoft Entra контроллера домена, Администратор облачного приложения или глобального администратора для подключения к клиенту Microsoft 365.

Для назначения и удаления лицензий для пользователя требуется разрешение User.ReadWrite.All область или одно из других разрешений, перечисленных на странице справочника API Graph "Назначение лицензии".

Для чтения лицензий, доступных в клиенте, требуется область разрешения Organization.Read.All.

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

Затем используйте эту команду, чтобы просмотреть доступные планы лицензирования, также известные как SkuPartNumber:

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

Дополнительные сведения см. в разделе Просмотр лицензий и служб с помощью PowerShell.

Чтобы просмотреть результаты процедур до и после выполнения процедур, описанных в этом разделе, см . раздел Просмотр сведений о лицензии и службе учетной записи с помощью PowerShell.

Отключение определенных служб Microsoft 365 для определенных пользователей для определенного плана лицензирования

Чтобы отключить определенный набор служб Microsoft 365 для пользователей для определенного плана лицензирования, выполните следующие действия.

Сначала выведите список планов лицензирования, доступных в клиенте, с помощью следующей команды.

Get-MgSubscribedSku | Select SkuPartNumber

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

Затем используйте SkuPartNumber из приведенной выше команды и выведите список планов обслуживания, доступных для определенного плана лицензирования (SKU).

В следующем примере перечислены все планы обслуживания, доступные для 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

Полный список лицензионных планов (также известных как названия продуктов), включенных планов обслуживания и соответствующих понятных имен см. в разделе Названия продуктов и идентификаторы планов обслуживания для лицензирования. (Выполните поиск с помощью ServicePlanId для поиска соответствующего понятного имени плана службы.

В следующем примере назначается SPE_E5 (Microsoft 365 E5) с отключенными службами MICROSOFTBOOKINGS (Microsoft Bookings) и LOCKBOX_ENTERPRISE (защищенное хранилище клиента).

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

Свойство DisabledPlans-AddLicenses параметра в Set-MgUserLicense перезапишет существующее DisabledPlans значение пользователя. Чтобы сохранить состояние существующих планов обслуживания, текущее состояние планов обслуживания пользователя должно быть объединено с новыми планами, которые будут отключены.

Если не включить существующий DisabledPlans , ранее отключенный план пользователя будет включен.

В следующем примере пользователь обновляет SPE_E5 (Microsoft 365 E5) и отключает планы обслуживания Sway и Forms, оставляя существующие отключенные планы пользователя в текущем состоянии:

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

Управление учетными записями пользователей Microsoft 365, лицензиями и группами с помощью PowerShell

Управление Microsoft 365 с помощью PowerShell

Начало работы с PowerShell для Microsoft 365