Desabilitar o acesso aos serviços do Microsoft 365 ao atribuir licenças de usuário

Esse artigo se aplica ao Microsoft 365 Enterprise e ao Office 365 Enterprise.

As assinaturas do Microsoft 365 vêm com planos de serviço para serviços individuais. Os administradores do Microsoft 365 geralmente precisam desabilitar determinados planos ao atribuir licenças aos usuários. Com as instruções neste artigo, você pode atribuir uma licença do 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.

Use o PowerShell do Azure Active Directory para o módulo do gráfico

Primeiro, conecte-se ao seu locatário do Microsoft 365.

Em seguida, liste os planos de licença para seu locatário com este comando.

Get-AzureADSubscribedSku | Select SkuPartNumber

Em seguida, obtenha o nome de entrada da conta à qual você deseja adicionar uma licença, também conhecida como NOME UPN.

Em seguida, compile uma lista de serviços a serem habilitados. Para obter 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 Nomes de produtos e identificadores de plano de serviço para licenciamento.

Para o bloco de comando abaixo, preencha o nome principal do usuário da conta de usuário, o número da parte do SKU e a lista de planos de serviço para habilitar e remover o texto explicativo < e os caracteres > e os caracteres. Em seguida, execute os comandos resultantes no prompt de comando do PowerShell.

$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.

Primeiro, conecte-se ao seu locatário do Microsoft 365.

Em seguida, execute este comando para ver suas assinaturas atuais:

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. Para continuar usando esses cmdlets, você deve executá-los a partir do Windows PowerShell.

Na exibição do Get-MsolAccountSku comando:

  • AccountSkuId é uma assinatura da sua organização no formato <OrganizationName>:<Subscription> . O <OrganizationName> é o valor que você forneceu quando se registrou no Microsoft 365 e é exclusivo para sua organização. O <valor> da assinatura é para uma assinatura específica. Por exemplo, para litwareinc:ENTERPRISEPACK, o nome da organização é litwareinc e o nome da assinatura é ENTERPRISEPACK (Office 365 Enterprise E3).

  • ActiveUnits é o número de licenças que você comprou para a assinatura.

  • WarningUnits é o número de licenças em uma assinatura que você não renovou e que expirarão após o período de carência de 30 dias.

  • ConsumedUnits é o número de licenças que você atribuiu aos usuários para a assinatura.

Observe a AccountSkuId da sua assinatura do Microsoft 365 que contém os usuários que você deseja licenciar. Além disso, verifique se há licenças suficientes para atribuir (subtraia ConsumedUnits de ActiveUnits).

Em seguida, execute este comando para ver os detalhes sobre os planos de serviço do Microsoft 365 que estão disponíveis em todas as suas assinaturas:

Get-MsolAccountSku | Select -ExpandProperty ServiceStatus

Na exibição desse comando, determine quais planos de serviço você deseja desabilitar ao atribuir licenças aos usuários.

Aqui está uma lista parcial de planos de serviço e seus serviços correspondentes do Microsoft 365.

A tabela a seguir mostra os planos de serviço do Microsoft 365 e seus nomes amigáveis para os serviços mais comuns. Sua lista de planos de serviço pode ser diferente.

Plano de serviço Descrição
SWAY
Sway
TEAMS1
Microsoft Teams
YAMMER_ENTERPRISE
Yammer
RMS_S_ENTERPRISE
Azure Rights Management (RMS)
OFFICESUBSCRIPTION
Microsoft 365 Apps para Grandes Empresas (anteriormente chamado Office 365 ProPlus)
MCOSTANDARD
Skype for Business Online
SHAREPOINTWAC
Office
SHAREPOINTENTERPRISE
SharePoint Online
EXCHANGE_S_ENTERPRISE
Plano 2 do Exchange Online

Para obter 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 Nomes de produtos e identificadores de plano de serviço para licenciamento.

Agora que você tem o AccountSkuId e os planos de serviço a serem desabilitados, você pode atribuir licenças para um usuário individual ou para vários usuários.

Para um único usuário

Para um único usuário, preencha o nome principal do usuário da conta de usuário, a AccountSkuId e a lista de planos de serviço para desabilitar e remover o texto explicativo < e os caracteres > e os caracteres. Em seguida, execute os comandos resultantes no prompt de comando do PowerShell.

$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á belindan@contoso.comum bloco de comando de exemplo para a conta chamada , para a licença contoso:ENTERPRISEPACK, e os planos de serviço a serem desabilitados são RMS_S_ENTERPRISE, SWAY, INTUNE_O365 e 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ários

Para executar essa tarefa de administração para vários usuários, crie um arquivo de texto CSV (valor separado por vírgula) que contenha os campos UserPrincipalName e UsageLocation. Veja um exemplo:

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 de SKU da conta e a lista de planos de serviço a serem desabilitados e execute os comandos resultantes no prompt de comando do PowerShell.

$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:

  • Exibe o nome upn principal de cada usuário.

  • Atribui licenças personalizadas a cada usuário.

  • Cria um arquivo CSV com todos os usuários que foram processados e mostra o status da licença.

Confira também

Desabilitar o acesso aos serviços do Microsoft 365 com o PowerShell

Desabilitar o acesso Sway com o PowerShell

Gerenciar contas de usuário, licenças e grupos do Microsoft 365 com o PowerShell

Gerenciar o Microsoft 365 com o PowerShell