Zákaz přístupu ke službám Microsoft 365 při přiřazování uživatelských licencí

Tento článek se týká Microsoft 365 Enterprise i Office 365 Enterprise.

Předplatná Microsoft 365 se dodávají s plány služeb pro jednotlivé služby. Správci Microsoftu 365 často potřebují při přiřazování licencí uživatelům zakázat určité plány. Podle pokynů v tomto článku můžete přiřadit licenci Microsoft 365 a současně zakázat konkrétní plány služeb pomocí PowerShellu pro jednotlivé uživatelské účty nebo více uživatelských účtů.

Použití modulu Azure Active Directory PowerShell for Graph

Nejprve se připojte ke svému tenantovi Microsoftu 365.

Dále pomocí tohoto příkazu zobrazte seznam licenčních plánů pro vašeho tenanta.

Get-AzureADSubscribedSku | Select SkuPartNumber

Dále získejte přihlašovací jméno účtu, ke kterému chcete přidat licenci, označované také jako hlavní název uživatele (UPN).

Dále zkompilujte seznam služeb, které chcete povolit. Úplný seznam licenčních plánů (označovaných také jako názvy produktů), zahrnutých plánů služeb a odpovídající popisné názvy najdete v tématu Názvy produktů a identifikátory plánů služeb pro licencování.

Pro následující blok příkazů vyplňte hlavní název uživatele uživatelského účtu, číslo části skladové položky a seznam plánů služeb, abyste povolili a odebrali vysvětlující text a < znaky a .> Potom na příkazovém řádku PowerShellu spusťte výsledné příkazy.

$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

Použití modulu Microsoft Azure Active Directory pro Windows PowerShell

Nejprve se připojte ke svému tenantovi Microsoftu 365.

Dále spuštěním tohoto příkazu zobrazte aktuální předplatná:

Get-MsolAccountSku

Poznámka

PowerShell Core nepodporuje modul Microsoft Azure Active Directory pro modul Windows PowerShell a rutiny s Msol v názvu. Pokud chcete tyto rutiny dál používat, musíte je spustit z Windows PowerShell.

V zobrazení Get-MsolAccountSku příkazu:

  • AccountSkuId je předplatné pro vaši organizaci ve <formátu OrganizationName>:<Subscription> . OrganizationName <> je hodnota, kterou jste zadali při registraci do Microsoftu 365 a je pro vaši organizaci jedinečná. Hodnota <Předplatné> je pro konkrétní předplatné. Například pro litwareinc:ENTERPRISEPACK je název organizace litwareinc a název předplatného je ENTERPRISEPACK (Office 365 Enterprise E3).

  • ActiveUnits je počet licencí, které jste zakoupili pro předplatné.

  • WarningUnits je počet licencí v předplatném, které jste neprodloužili a jejichž platnost vyprší po uplynutí 30denního období odkladu.

  • ConsumedUnits je počet licencí, které jste přiřadili uživatelům pro předplatné.

Poznamenejte si AccountSkuId pro vaše předplatné Microsoft 365 obsahující uživatele, které chcete licencovat. Také se ujistěte, že je k dispozici dostatek licencí k přiřazení (odečtěte ConsumedUnits od ActiveUnits).

Dále spuštěním tohoto příkazu zobrazíte podrobnosti o plánech služeb Microsoft 365, které jsou dostupné ve všech vašich předplatných:

Get-MsolAccountSku | Select -ExpandProperty ServiceStatus

V zobrazení tohoto příkazu určete, které plány služeb chcete při přiřazování licencí uživatelům zakázat.

Tady je částečný seznam plánů služeb a jejich odpovídajících služeb Microsoft 365.

Následující tabulka uvádí plány služeb Microsoftu 365 a jejich popisné názvy pro nejběžnější služby. Seznam plánů služeb se může lišit.

Plán služby Popis
SWAY
Sway
TEAMS1
Microsoft Teams
YAMMER_ENTERPRISE
Viva Engage
RMS_S_ENTERPRISE
Azure Rights Management (RMS)
OFFICESUBSCRIPTION
Microsoft 365 Apps pro velké organizace (dříve s názvem Office 365 ProPlus)
MCOSTANDARD
Skype for Business Online
SHAREPOINTWAC
Office
SHAREPOINTENTERPRISE
SharePoint Online
EXCHANGE_S_ENTERPRISE
Exchange Online Plán 2

Úplný seznam licenčních plánů (označovaných také jako názvy produktů), zahrnutých plánů služeb a odpovídající popisné názvy najdete v tématu Názvy produktů a identifikátory plánů služeb pro licencování.

Teď, když máte AccountSkuId a plány služeb, které chcete zakázat, můžete přiřadit licence jednotlivým uživatelům nebo více uživatelům.

Pro jednoho uživatele

Pro jednoho uživatele vyplňte hlavní název uživatele uživatelského účtu, AccountSkuId a seznam plánů služeb, abyste zakázali a odebrali vysvětlující text a < znaky a.> Potom na příkazovém řádku PowerShellu spusťte výsledné příkazy.

$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

Tady je příklad bloku příkazů pro účet s názvem belindan@contoso.com, pro licenci contoso:ENTERPRISEPACK a plány služeb, které se mají zakázat, jsou RMS_S_ENTERPRISE, SWAY, INTUNE_O365 a 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

Pro více uživatelů

Chcete-li provést tuto úlohu správy pro více uživatelů, vytvořte textový soubor s hodnotami oddělenými čárkami (CSV), který obsahuje pole UserPrincipalName a UsageLocation. Tady je příklad:

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

Dále vyplňte umístění vstupních a výstupních souborů CSV, ID skladové položky účtu a seznam plánů služeb, které se mají zakázat, a potom na příkazovém řádku PowerShellu spusťte výsledné příkazy.

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

Tento blok příkazů PowerShellu:

  • Zobrazí hlavní název uživatele každého uživatele.

  • Každému uživateli přiřadí přizpůsobené licence.

  • Vytvoří soubor CSV se všemi zpracovanými uživateli a zobrazí stav jejich licence.

Viz také

Zakázání přístupu ke službám Microsoft 365 pomocí PowerShellu

Zakázání přístupu k Sway pomocí PowerShellu

Správa uživatelských účtů, licencí a skupin Microsoft 365 pomocí PowerShellu

Správa Microsoftu 365 pomocí PowerShellu