Desabilitar o acesso Microsoft 365 serviços ao atribuir licenças de usuárioDisable access to Microsoft 365 services while assigning user licenses

Esse artigo se aplica ao Microsoft 365 Enterprise e ao Office 365 Enterprise.This article applies to both Microsoft 365 Enterprise and Office 365 Enterprise.

Microsoft 365 assinaturas vêm com planos de serviço para serviços individuais.Microsoft 365 subscriptions come with service plans for individual services. Microsoft 365 administradores geralmente precisam desabilitar determinados planos ao atribuir licenças aos usuários.Microsoft 365 administrators often need to disable certain plans when assigning licenses to users. Com as instruções deste artigo, você pode atribuir uma licença Microsoft 365 ao desabilitar planos de serviço específicos usando o PowerShell para uma conta de usuário individual ou várias contas de usuário.With the instructions in this article, you can assign a Microsoft 365 license while disabling specific service plans using PowerShell for an individual user account or multiple user accounts.

Use o PowerShell do Azure Active Directory para o módulo do gráficoUse the Azure Active Directory PowerShell for Graph module

Primeiro, conecte-se ao seu Microsoft 365 locatário.First, connect to your Microsoft 365 tenant.

Em seguida, liste os planos de licença para seu locatário com este comando.Next, list the license plans for your tenant with this command.

Get-AzureADSubscribedSku | Select SkuPartNumber

Em seguida, obter o nome de logon da conta à qual você deseja adicionar uma licença, também conhecida como o nome principal do usuário (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).

Em seguida, compile uma lista de serviços para habilitar.Next, compile a list of services to enable. Para uma lista completa de planos de licença (também conhecidos como nomes de produtos), seus planos de serviço incluídos e seus nomes amigáveis correspondentes, consulte Product names and service plan identifiers for licensing.For a complete list of license plans (also known as product names), their included service plans, and their corresponding friendly names, see Product names and service plan identifiers for licensing.

Para o bloco de comando abaixo, preencha o nome principal do usuário da conta de usuário, o número da parte SKU e a lista de planos de serviço para habilitar e remover o texto explicativo e os < and > caracteres.For the command block below, fill in the user principal name of the user account, the SKU part number, and the list of service plans to enable and remove the explanatory text and the < and > characters. Em seguida, execute os comandos resultantes no prompt de comando do PowerShell.Then, run the resulting commands at the PowerShell command prompt.

$userUPN="<user account UPN>"
$skuPart="<SKU part number>"
$serviceList=<double-quoted enclosed, comma-separated list of enabled services>
$user = Get-AzureADUser -ObjectID $userUPN
$skuID= (Get-AzureADSubscribedSku  | Where {$_.SkuPartNumber -eq $skuPart}).SkuID
$SkuFeaturesToEnable = @($serviceList)
$StandardLicense = Get-AzureADSubscribedSku | Where {$_.SkuId -eq $skuID}
$SkuFeaturesToDisable = $StandardLicense.ServicePlans | ForEach-Object { $_ | Where {$_.ServicePlanName -notin $SkuFeaturesToEnable }}
$License = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicense
$License.SkuId = $StandardLicense.SkuId
$License.DisabledPlans = $SkuFeaturesToDisable.ServicePlanId
$LicensesToAssign = New-Object -TypeName Microsoft.Open.AzureAD.Model.AssignedLicenses
$LicensesToAssign.AddLicenses = $License
Set-AzureADUserLicense -ObjectId $user.ObjectId -AssignedLicenses $LicensesToAssign

Use o Módulo Microsoft Azure Active Directory para Windows PowerShell.Use the Microsoft Azure Active Directory Module for Windows PowerShell

Primeiro, conecte-se ao seu Microsoft 365 locatário.First, connect to your Microsoft 365 tenant.

Em seguida, execute este comando para ver suas assinaturas atuais:Next, run this command to see your current subscriptions:

Get-MsolAccountSku

Observação

O PowerShell Core não é compatível com o módulo do Microsoft Azure Active Directory para módulo e cmdlets do Windows PowerShell com MSol no nome.PowerShell Core does not support the Microsoft Azure Active Directory Module for Windows PowerShell module and cmdlets with Msol in their name. Para continuar usando esses cmdlets, você deve executá-los a partir do Windows PowerShell.To continue using these cmdlets, you must run them from Windows PowerShell.

Na exibição do Get-MsolAccountSku comando:In the display of the Get-MsolAccountSku command:

  • AccountSkuId é uma assinatura da sua organização em <OrganizationName> : <Subscription> formato.AccountSkuId is a subscription for your organization in <OrganizationName>:<Subscription> format. O é o valor que você forneceu ao se inscrever <OrganizationName> no Microsoft 365 e é exclusivo para sua organização.The <OrganizationName> is the value that you provided when you enrolled in Microsoft 365, and is unique for your organization. O <Subscription> valor é para uma assinatura específica.The <Subscription> value is for a specific subscription. Por exemplo, para litwareinc:ENTERPRISEPACK, o nome da organização é litwareinc e o nome da assinatura é ENTERPRISEPACK (Office 365 Enterprise E3).For example, for litwareinc:ENTERPRISEPACK, the organization name is litwareinc, and the subscription name is ENTERPRISEPACK (Office 365 Enterprise E3).

  • ActiveUnits é o número de licenças que você comprou para a assinatura.ActiveUnits is the number of licenses that you've purchased for the subscription.

  • WarningUnits é o número de licenças em uma assinatura que você não renovou e que expirará após o período de carência de 30 dias.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 é o número de licenças atribuídas aos usuários para a assinatura.ConsumedUnits is the number of licenses that you've assigned to users for the subscription.

Observe o AccountSkuId para sua assinatura Microsoft 365 que contém os usuários que você deseja licenciar.Note the AccountSkuId for your Microsoft 365 subscription that contains the users you want to license. Além disso, verifique se há licenças suficientes para atribuir (subtrair ConsumedUnits de ActiveUnits ).Also, ensure that there are enough licenses to assign (subtract ConsumedUnits from ActiveUnits ).

Em seguida, execute este comando para ver os detalhes sobre os Microsoft 365 de serviço que estão disponíveis em todas as suas assinaturas:Next, run this command to see the details about the Microsoft 365 service plans that are available in all your subscriptions:

Get-MsolAccountSku | Select -ExpandProperty ServiceStatus

Na exibição deste comando, determine quais planos de serviço você gostaria de desabilitar ao atribuir licenças aos usuários.From the display of this command, determine which service plans you would like to disable when you assign licenses to users.

Aqui está uma lista parcial de planos de serviço e seus serviços Microsoft 365 correspondentes.Here is a partial list of service plans and their corresponding Microsoft 365 services.

A tabela a seguir mostra os Microsoft 365 de serviço e seus nomes amigáveis para os serviços mais comuns.The following table shows the Microsoft 365 service plans and their friendly names for the most common services. Sua lista de planos de serviço pode ser diferente.Your list of service plans might be different.

Plano de serviçoService plan DescriçãoDescription
SWAY
SwaySway
TEAMS1
Microsoft TeamsMicrosoft Teams
YAMMER_ENTERPRISE
YammerYammer
RMS_S_ENTERPRISE
Azure Rights Management (RMS)Azure Rights Management (RMS)
OFFICESUBSCRIPTION
Microsoft 365 Apps para Grandes Empresas (anteriormente chamado Office 365 ProPlus)Microsoft 365 Apps for enterprise (previously named Office 365 ProPlus)
MCOSTANDARD
Skype for Business OnlineSkype for Business Online
SHAREPOINTWAC
OfficeOffice
SHAREPOINTENTERPRISE
SharePoint OnlineSharePoint Online
EXCHANGE_S_ENTERPRISE
Plano 2 do Exchange OnlineExchange Online Plan 2

Para uma lista completa de planos de licença (também conhecidos como nomes de produtos), seus planos de serviço incluídos e seus nomes amigáveis correspondentes, consulte Product names and service plan identifiers for licensing.For a complete list of license plans (also known as product names), their included service plans, and their corresponding friendly names, see Product names and service plan identifiers for licensing.

Agora que você tem o AccountSkuId e os planos de serviço para desabilitar, você pode atribuir licenças para um usuário individual ou para vários usuários.Now that you have the AccountSkuId and the service plans to disable, you can assign licenses for an individual user or for multiple users.

Para um único usuárioFor a single user

Para um único usuário, preencha o nome principal do usuário da conta de usuário, o AccountSkuId e a lista de planos de serviço para desabilitar e remover o texto explicativo e os < and > caracteres.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. Em seguida, execute os comandos resultantes no prompt de comando do PowerShell.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
Set-MsolUserLicense -UserPrincipalName $userUpn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
Sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $userUpn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue

Aqui está um exemplo de bloco de comando para a conta chamada belindan@contoso.com, para a licença contoso:ENTERPRISEPACK, e os planos de serviço a desabilitar são RMS_S_ENTERPRISE, SWAY, INTUNE_O365 e 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
Set-MsolUserLicense -UserPrincipalName $userUpn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
Sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $userUpn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue

Para vários usuáriosFor multiple users

Para executar essa tarefa de administração para vários usuários, crie um arquivo de texto CSV (valor separado por vírgula) que contém os campos UserPrincipalName e UsageLocation.To perform this administration task for multiple users, create a comma-separated value (CSV) text file that contains the UserPrincipalName and UsageLocation fields. Veja um exemplo:Here is an example:

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

Em seguida, preencha o local dos arquivos CSV de entrada e saída, a ID SKU da conta e a lista de planos de serviço a desabilitar e execute os comandos resultantes no prompt de comando do 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
Set-MsolUserLicense -UserPrincipalName $upn -AddLicenses $accountSkuId -ErrorAction SilentlyContinue
sleep -Seconds 5
Set-MsolUserLicense -UserPrincipalName $upn -LicenseOptions $licenseOptions -ErrorAction SilentlyContinue
$users | Get-MsolUser | Select UserPrincipalName, Islicensed,Usagelocation | Export-Csv $outFileName
}

Este bloco de comando do PowerShell:This PowerShell command block:

  • Exibe o nome principal do usuário de cada usuário.Displays the user principal name of each user.

  • Atribui licenças personalizadas a cada usuário.Assigns customized licenses to each user.

  • Cria um arquivo CSV com todos os usuários que foram processados e mostra seu status de licença.Creates a CSV file with all the users that were processed and shows their license status.

Confira tambémSee also

Desabilitar o acesso Microsoft 365 serviços com o PowerShellDisable access to Microsoft 365 services with PowerShell

Desabilitar o acesso ao Sway com o PowerShellDisable access to Sway with PowerShell

Gerenciar contas de usuário, licenças e grupos do Microsoft 365 com o PowerShellManage Microsoft 365 user accounts, licenses, and groups with PowerShell

Gerenciar o Microsoft 365 com o PowerShellManage Microsoft 365 with PowerShell