[PowerShell] Office 365 へのユーザー登録時に複数ライセンスを付与する

Office365 のライセンスが複数ある場合、コマンドから複数のライセンスを付与させたいということがある。 複数のライセンスを付与させるのは簡単だ。-LicenseAssignment に対して、ライセンスをカンマで連結してあげればいい。
New-MsolUser -LicenseAssignment テスト:ENTERPRISEPACK,テスト:STANDARDPACK
大抵の場合はこれでよろしいと思われるのだが、サービスプランによっては競合が発生する。
というのも、ライセンス付与を行うと、デフォルトではすべてのサービスプランが有効化されるからだ。
このユーザーのライセンスを更新できません。ライセンス セットに、同時に割り当てることができない 2 つ以上のサービス プランが含まれています。競合するサービス プラン: SHAREPOINTSTANDARD, SHAREPOINTENTERPRISE
これを回避するためには、ライセンスオプションを設定する必要がある。
New-MsolUser を実行する時でも良いし、後からライセンスを付与するときでも良い。
$licenceOption = New-MsolLicenseOptions -AccountSkuId テスト:STANDARDPACK -DisabledPlans SHAREPOINTSTANDARD
$userObject = Set-MsolUserLicense -userprincipalname hoge@hoge.com -AddLicenses テスト:ENTERPRISEPACK,テスト:STANDARDPACK -LicenseOptions $licenceOption
環境によってどのサービスプランが競合するのか異なるので、なかなか難しい話ではあるが、複数のライセンスを付与する可能性がある場合はこのような考慮をしないとユーザー登録ができない。

このブログの人気の投稿

コピーした行の挿入が表示されない時はフィルタされていないかチェック

Excel で一部の図形だけ固定する