Отключение доступа к службам во время назначения лицензийDisable access to services while assigning user licenses

Сводка. Узнайте, как назначать лицензии пользователям и одновременно отключать определенные планы обслуживания, используя PowerShell для Office 365.Summary: Learn how to assign licenses to user accounts and disable specific service plans at the same time using Office 365 PowerShell.

Подписки на Office 365 включают в себя планы обслуживания для отдельных служб. Администраторам Office 365 часто нужно отключать определенные планы при назначении лицензий для пользователей. Следуя инструкциям в этой статье, вы можете с помощью PowerShell назначить лицензию на Office 365 для одной или нескольких учетных записей пользователей, при этом отключив определенные планы обслуживания.Office 365 subscriptions come with service plans for individual services. Office 365 administrators often need to disable certain plans when assigning licenses to users. With the instructions in this article, you can assign an Office 365 license while disabling specific service plans using PowerShell for an individual user account or multiple user accounts.

Примечание

В основе этой статьи лежит работа Siddhartha Parmar, специалиста технической поддержки Майкрософт, занимающегося эскалированными запросами на обслуживание.This article is based on the work of Siddhartha Parmar, a Microsoft Support Escalation Engineer.

Перед началом работыBefore you begin

Для процедур, описанных в этой статье, требуется подключение к PowerShell в Office 365. Указания см. в статье Подключение к Office 365 PowerShell.The procedures in this topic require you to connect to Office 365 PowerShell. For instructions, see Connect to Office 365 PowerShell.

Соберите сведения о подписках и планах обслуживанияCollect information about subscriptions and service plans

Выполните эту команду, чтобы увидеть текущие подписки:Run this command to see your current subscriptions:

Get-MsolAccountSku

Значение составляющих команды Get-MsolAccountSku:In the display of the Get-MsolAccountSku command:

  • AccountSkuId — это подписка вашей организации в формате <НазваниеОрганизации>:<Подписка>. <НазваниеОрганизации> — значение, которое вы указали при регистрации в Office 365 (уникальное для организации). <Подписка> — значение, обозначающее конкретную подписку. Например, в случае litwareinc:ENTERPRISEPACK название организации — litwareinc, а название подписки — ENTERPRISEPACK (Office 365 корпоративный E3).AccountSkuId is a subscription for your organization in <OrganizationName>:<Subscription> format. The <OrganizationName> is the value that you provided when you enrolled in Office 365, and is unique for your organization. The <Subscription> value is for a specific subscription. For example, for litwareinc:ENTERPRISEPACK, the organization name is litwareinc, and the subscription name is ENTERPRISEPACK (Office 365 Enterprise E3).

  • ActiveUnits количество лицензий, которые вы приобрели для подписки.ActiveUnits is the number of licenses that you've purchased for the subscription.

  • WarningUnits количество лицензий для не продленной подписки, срок действия которой истекает через 30 дней льготного периода.WarningUnits is the number of licenses in a subscription that you haven't renewed, and that will expire after the 30-day grace period.

  • ConsumedUnits количество лицензий, которые вы назначили пользователям для подписки.ConsumedUnits is the number of licenses that you've assigned to users for the subscription.

Укажите AccountSkuId для подписки на Office 365, где обозначены пользователи, которым вы хотите назначить лицензию. Убедитесь, что лицензий для назначения достаточно (отнимите ConsumedUnits от ActiveUnits ).Note the AccountSkuId for your Office 365 subscription that contains the users you want to license. Also, ensure that there are enough licenses to assign (subtract ConsumedUnits from ActiveUnits ).

Затем выполните эту команду, чтобы просмотреть сведения о планах обслуживания Office 365, доступных для каждой из ваших подписок:Next, run this command to see the details about the Office 365 service plans that are available in all your subscriptions:

Get-MsolAccountSku | Select -ExpandProperty ServiceStatus

Просмотрите результаты команды и определите, какие планы обслуживания нужно отключить при назначении лицензий пользователям.From the display of this command, determine which service plans you would like to disable when you assign licenses to users.

Ниже приведен неполный список планов обслуживания и соответствующих им служб Office 365.Here is a partial list of service plans and their corresponding Office 365 services.

План обслуживанияService plan ОписаниеDescription
SWAYSWAY
SwaySway
INTUNE_O365INTUNE_O365
Управление мобильными устройствами для Office 365Mobile Device Management for Office 365
YAMMER_ENTERPRISEYAMMER_ENTERPRISE
YammerYammer
RMS_S_ENTERPRISERMS_S_ENTERPRISE
Azure Rights Management (RMS)Azure Rights Management (RMS)
OFFICESUBSCRIPTIONOFFICESUBSCRIPTION
Office профессиональный плюсOffice Professional Plus
MCOSTANDARDMCOSTANDARD
Skype для бизнеса OnlineSkype for Business Online
SHAREPOINTWACSHAREPOINTWAC
Office OnlineOffice Online
SHAREPOINTENTERPRISESHAREPOINTENTERPRISE
SharePoint OnlineSharePoint Online
EXCHANGE_S_ENTERPRISEEXCHANGE_S_ENTERPRISE
Exchange Online (план 2)Exchange Online Plan 2

Теперь, когда у вас есть AccountSkuId и планы обслуживания, которые нужно отключить, вы можете назначить лицензии для одного или нескольких пользователей.Now that you have the AccountSkuId and the service plans to disable, you can assign licenses for an individual user or for multiple users.

Для одного пользователяFor a single user

Введите имя участника-пользователя из учетной записи пользователя, AccountSkuId и список отключаемых планов обслуживания, удалив при этом пояснительный текст и символы < и >. После этого выполните полученные команды в командной строке PowerShell.For a single user, fill in the user principal name of the user account, the AccountSkuId, and the list of service plans to disable and remove the explanatory text and the < and > characters. Then, run the resulting commands at the PowerShell command prompt.

$userUPN="<the user's account name in email format>"
$accountSkuId="<the AccountSkuId from the Get-MsolAccountSku command>"
$planList=@( <comma-separated, double-quote enclosed list of the service plans to disable> )
$licenseOptions=New-MsolLicenseOptions -AccountSkuId $accountSkuId -DisabledPlans $planList
$user=Get-MsolUser -UserPrincipalName $userUPN
$usageLocation=$user.Usagelocation
Set-MsolUserLicense -UserPrincipalName $userUpn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
Sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $userUpn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue
Set-MsolUser -UserPrincipalName $userUpn -UsageLocation $usageLocation

Ниже приведен пример блока команд для учетной записи belindan@contoso.com. В этом случае указана лицензия contoso:ENTERPRISEPACK, а отключить нужно планы обслуживания RMS_S_ENTERPRISE, SWAY, INTUNE_O365 и YAMMER_ENTERPRISE.Here is an example command block for the account named belindan@contoso.com, for the contoso:ENTERPRISEPACK license, and the service plans to disable are RMS_S_ENTERPRISE, SWAY, INTUNE_O365, and YAMMER_ENTERPRISE:

$userUPN="belindan@contoso.com"
$accountSkuId="contoso:ENTERPRISEPACK"
$planList=@( "RMS_S_ENTERPRISE","SWAY","INTUNE_O365","YAMMER_ENTERPRISE" )
$licenseOptions=New-MsolLicenseOptions -AccountSkuId $accountSkuId -DisabledPlans $planList
$user=Get-MsolUser -UserPrincipalName $userUPN
$usageLocation=$user.Usagelocation
Set-MsolUserLicense -UserPrincipalName $userUpn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
Sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $userUpn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue
Set-MsolUser -UserPrincipalName $userUpn -UsageLocation $UsageLocation

Для нескольких пользователейFor multiple users

Чтобы выполнить эту задачу администрирования для нескольких пользователей, создайте текстовый файл с разделителями-запятыми (CSV-файл), содержащий поля UserPrincipalName и UsageLocation. Пример:To perform this administration task for multiple users, create a comma-separated value (CSV) text file that contains the UserPrincipalName and UsageLocation fields. Here is an example:

UserPrincipalName,UsageLocation
ClaudeL@contoso.onmicrosoft.com,FR
LynneB@contoso.onmicrosoft.com,US
ShawnM@contoso.onmicrosoft.com,US

После этого укажите расположение входного и выходного CSV-файлов, ИД SKU учетной записи и список планов обслуживания, которые нужно отключить. Затем выполните полученные команды в командной строке PowerShell.Next, fill in the location of the input and output CSV files, the account SKU ID, and the list of service plans to disable, and then run the resulting commands at the PowerShell command prompt.

$inFileName="<path and file name of the input CSV file that contains the users, example: C:\admin\Users2License.CSV>"
$outFileName="<path and file name of the output CSV file that records the results, example: C:\admin\Users2License-Done.CSV>"
$accountSkuId="<the AccountSkuId from the Get-MsolAccountSku command>"
$planList=@( <comma-separated, double-quote enclosed list of the plans to disable> )
$users=Import-Csv $inFileName
$licenseOptions=New-MsolLicenseOptions -AccountSkuId $accountSkuId -DisabledPlans $planList
ForEach ($user in $users)
{
$user.Userprincipalname
$upn=$user.UserPrincipalName
$usageLocation=$user.UsageLocation
Set-MsolUserLicense -UserPrincipalName $upn -AddLicenses $AccountSkuId -ErrorAction SilentlyContinue
sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $upn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue
Set-MsolUser -UserPrincipalName $upn -UsageLocation $usageLocation
$users | Get-MsolUser | Select UserPrincipalName, Islicensed,Usagelocation | Export-Csv $outFileName
}

Что делает этот блок команд PowerShell:This PowerShell command block:

  • Отображает имя участника-пользователя для каждого пользователя.Displays the user principal name of each user.

  • Назначает настраиваемые лицензии для каждого пользователя.Assigns customized licenses to each user.

  • Создает CSV-файл со всеми обработанными пользователями и отображает состояние их лицензий.Creates a CSV file with all the users that were processed and shows their license status.

См. такжеSee also

Отключение доступа к службам с помощью Office 365 PowerShellDisable access to services with Office 365 PowerShell

Отключение доступа к Sway с помощью PowerShell в Office 365Disable access to Sway with Office 365 PowerShell

Управление учетными записями и лицензиями пользователей с помощью Office 365 PowerShellManage user accounts and licenses with Office 365 PowerShell

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