PowerShellによるサブスクリプション一括割り当てで紹介した方法でEプランなど、複数のサブスクリプションが含まれるサブスクリプションを割り当てると、全てのサブスクリプションが割り当てられます。
今回は、一部のソフトウェアを利用させたくないようなユーザに、サブスクリプションをフィルタリングして割り当てる方法を紹介します。
まず、Get-MsolAccountSkuコマンドでサブスクリプションの一覧ならびに各サービスプランの名前を取得します。
プランK2の場合は
$SStatus = Get-MsolAccountSku | where {$_.SkuPartNumber -eq "DESKLESSWOFFPACK"} $SStatus.ServiceStatus ServicePlan ProvisioningStatus ----------- ------------------ SHAREPOINTWAC Success SHAREPOINTDESKLESS Success EXCHANGE_S_DESKLESS Success
プランE3の場合は
$SStatus = Get-MsolAccountSku | where {$_.SkuPartNumber -eq "ENTERPRISEPACK"} $SStatus.ServiceStatus ServicePlan ProvisioningStatus ----------- ------------------ OFFICESUBSCRIPTION Success MCOSTANDARD Success SHAREPOINTWAC Success SHAREPOINTENTERPRISE Success EXCHANGE_S_ENTERPRISE Success
が表示されます。それぞれ、
- EXCHANGE_S_DESKLESS Exchange Online プラン1
- EXCHANGE_S_ENTERPRISE Exchange Online プラン2
- SHAREPOINTDESKLESS SharePoint Online プラン1
- SHAREPOINTENTERPRISE SharePoint Online プラン2
- SHAREPOINTWAC Office WebApp
- MCOSTANDARD Lync Online プラン2
- OFFICESUBSCRIPTION Office Professional Plus
に対応しています。これを、New-MsolLicenseOptionsコマンドレットを利用してカスタムプランを作成し、それをSet-MsolUserLicenseの-LicenseOptionsオプションに渡せばOKです。
例えば、E3プランを持っているtest.onmicrosoft.comのuserという名前のユーザにLync以外のサブスクリプションを割り当てるには、
$WOLyncSStatus = New-MsolLicenseOptions -AccountSkuId test:ENTERPRISEPACK -DisabledPlans MCOSTANDARD Set-MsolUserLicense -userprincipalname user@test.onmicrosoft.com -addlicenses test:ENTERPRISEPACK -LicenseOptions $WOLyncSStatus