PowerShellによるサブスクリプション割り当て(フィルタ有り)

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

などとすればOKです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です