Назначение лицензий для учетных записей пользователей с помощью PowerShell в Office 365Assign licenses to user accounts with Office 365 PowerShell

Сводка: В этой статье объясняется, как использовать Office 365 PowerShell для назначения лицензии Office 365 пользователям без лицензий.Summary: Explains how to use Office 365 PowerShell assign an Office 365 license to unlicensed users.

Пользователи не могут использовать службы Office 365, пока их учетной записи не назначена лицензия из плана лицензирования.Users can't use any Office 365 services until their account has been assigned a license from a licensing plan. Вы можете быстро назначить лицензии для нелицензированных учетных записей с помощью PowerShell в Office 365.You can use Office 365 PowerShell to quickly assign licenses to unlicensed accounts.

Использование модуля PowerShell Azure Active Directory для GraphUse the Azure Active Directory PowerShell for Graph module

Сначала подключитесь к своему клиенту Office 365.First, connect to your Office 365 tenant.

Затем перечислите план лицензирования для клиента с помощью этой команды.Next, list the license plans for your tenant with this command.

Get-AzureADSubscribedSku | Select SkuPartNumber

Затем получите имя для входа учетной записи, к которой требуется добавить лицензию, также называемую именем участника-пользователя (UPN).Next, get the sign-in name of the account to which you want add a license, also known as the user principal name (UPN).

Наконец, укажите имя пользователя для входа и имя плана лицензирования и выполните указанные ниже команды.Finally, specify the user sign-in name and license plan name and run these commands.

$userUPN="<user sign-in name (UPN)>"
$planName="<license plan name from the list of license plans>"
$License = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$License.SkuId = (Get-AzureADSubscribedSku | Where-Object -Property SkuPartNumber -Value $planName -EQ).SkuID
$LicensesToAssign = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$LicensesToAssign.AddLicenses = $License
Set-AzureADUserLicense -ObjectId $userUPN -AssignedLicenses $LicensesToAssign

Использование модуля Microsoft Azure Active Directory для Windows PowerShellUse the Microsoft Azure Active Directory Module for Windows PowerShell

Сначала подключитесь к своему клиенту Office 365.First, connect to your Office 365 tenant.

Выполните команду Get – MsolAccountSku , чтобы просмотреть доступные планы лицензирования и число доступных лицензий в каждом плане в Организации.Run the Get-MsolAccountSku command to view the available licensing plans and the number of available licenses in each plan in your organization. Число доступных лицензий в каждом плане — ActiveUnits - WarningUnits - ConsumedUnits.The number of available licenses in each plan is ActiveUnits - WarningUnits - ConsumedUnits. Для получения дополнительных сведений о планах лицензирования, лицензиях и службах ознакомьтесь со статьей Просмотр лицензий и служб с помощью Office 365 PowerShell.For more information about licensing plans, licenses, and services, see View licenses and services with Office 365 PowerShell.

Чтобы найти нелицензированные учетные записи в Организации, выполните указанную ниже команду.To find the unlicensed accounts in your organization, run this command.

Get-MsolUser -All -UnlicensedUsersOnly

Вы можете назначать лицензии только тем пользователям, у которых для свойства UsageLocation задан действительный код страны ISO 3166-1 Alpha-2.You can only assign licenses to user accounts that have the UsageLocation property set to a valid ISO 3166-1 alpha-2 country code. Важно указать это значение, так как некоторые службы O365_W14_2nd недоступны в определенных странах.For example, US for the United States, and FR for France. Некоторые службы Office 365 недоступны в некоторых странах.Some Office 365 services aren't available in certain countries. Более подробную информацию можно узнать в статье ограничения лицензирования.For more information, see About license restrictions.

Чтобы найти учетные записи, для которых не задано значение UsageLocation , выполните указанную ниже команду.To find accounts that don't have a UsageLocation value, run this command.

Get-MsolUser -All | where {$_.UsageLocation -eq $null}

Чтобы задать значение UsageLocation для учетной записи, выполните указанную ниже команду.To set the UsageLocation value on an account, run this command.

Set-MsolUser -UserPrincipalName "<Account>" -UsageLocation <CountryCode>

Пример:For example:

Set-MsolUser -UserPrincipalName "belindan@litwareinc.com" -UsageLocation US

Если использовать командлет Get-MsolUser без параметра -All, возвращаются только первые 500 учетных записей.If you use the Get-MsolUser cmdlet without using the -All parameter, only the first 500 accounts are returned.

Назначение лицензий учетным записям пользователейAssigning licenses to user accounts

Чтобы назначить лицензию пользователю, используйте следующую команду в Office 365 PowerShell.To assign a license to a user, use the following command in Office 365 PowerShell.

Set-MsolUserLicense -UserPrincipalName "<Account>" -AddLicenses "<AccountSkuId>"

В этом примере назначается лицензия из плана лицензирования litwareinc: ENTERPRISEPACK (Office 365 корпоративный E3) для нелицензированного пользователя **belindan@litwareinc.com**:This example assigns a license from the litwareinc:ENTERPRISEPACK (Office 365 Enterprise E3) licensing plan to the unlicensed user **belindan@litwareinc.com**:

Set-MsolUserLicense -UserPrincipalName "belindan@litwareinc.com" -AddLicenses "litwareinc:ENTERPRISEPACK"

Чтобы назначить лицензию большому количеству нелицензированных пользователей, выполните указанную ниже команду.To assign a license to many unlicensed users, run this command.

Get-MsolUser -All -UnlicensedUsersOnly [<FilterableAttributes>] | Set-MsolUserLicense -AddLicenses "<AccountSkuId>"

Примечание

Невозможно назначить пользователю несколько лицензий из одного плана лицензирования.You can't assign multiple licenses to a user from the same licensing plan. Если у вас нет достаточного количества доступных лицензий, они назначаются пользователям в порядке, в котором их возвращает командлет Get-MsolUser, пока не закончатся.If you don't have enough available licenses, the licenses are assigned to users in the order that they're returned by the Get-MsolUser cmdlet until the available licenses run out.

В этом примере назначаются лицензии из плана лицензирования litwareinc: ENTERPRISEPACK (Office 365 корпоративный E3) для всех нелицензированных пользователей:This example assigns licenses from the litwareinc:ENTERPRISEPACK (Office 365 Enterprise E3) licensing plan to all unlicensed users:

Get-MsolUser -All -UnlicensedUsersOnly | Set-MsolUserLicense -AddLicenses "litwareinc:ENTERPRISEPACK"

В этом примере для нелицензированных пользователей назначаются те же лицензии в отделе продаж в США.This example assigns those same licenses to unlicensed users in the Sales department in the United States:

Get-MsolUser -All -Department "Sales" -UsageLocation "US" -UnlicensedUsersOnly | Set-MsolUserLicense -AddLicenses "litwareinc:ENTERPRISEPACK"

Никогда не работали с Office 365?New to Office 365?

Совет

Логотип LinkedIn Впервые в Office 365?LinkedIn logo New to Office 365?

Ознакомьтесь с бесплатными видеокурсами для администраторов Office 365 и ИТ-специалистов, предоставленными на платформе LinkedIn Learning.Discover free video courses for Office 365 admins and IT pros, brought to you by LinkedIn Learning.

См. такжеSee also

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

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

Начало работы с Office 365 PowerShellGetting started with Office 365 PowerShell