Azure ADユーザーとグループにPowerShellでライセンスを割り当てる


Azure ADのユーザーとグループにライセンスを割り当てる場合、「Set-MsolUserLicense」や「Set-AzureADUserLicense」コマンドを利用します。


「Set-MsolUserLicense」については下記をご参照ください。
Microsoft 365ユーザーをPowerShellで一括作成する


しかし、上記のコマンドは2022年6月30日以降に廃止されます。


Azure AD Graph および MSOnline での従来のライセンスの割り当て方法が廃止され Microsoft Graph によるライセンス管理に変わります
https://jpazureid.github.io/blog/azure-active-directory/migrate-your-apps-to-access-the-license-managements/


そこで今回は新しいコマンドによるライセンス付与を実際に試してみたいと思います。


1.Microsoft Graphモジュールのインストール


まずは「Microsoft Graphモジュール」をインストールします。

Install-Module -Name Microsoft.Graph


Microsoft Graphに接続するには下記のコマンドを実行します。

Connect-MgGraph -Scopes "User.ReadWrite.All"


グループに割り当てる場合は下記の通りグループもしくは両方を指定します

Connect-MgGraph -Scopes "Group.ReadWrite.All"
Connect-MgGraph -Scopes "User.ReadWrite.All","Group.ReadWrite.All"




2.ライセンスの割り当て


まずは下記のコマンドでライセンスのSkuIDを取得します。

※対象ユーザーもしくはグループに、事前に取得したいライセンスを割り当てておきます

$LicenseDetail = Get-MgUserLicenseDetail -UserId testuser@lig-log.com
$SkuId = $LicenseDetail.SkuId


取得したSkuIDを含んだライセンス用のオブジェクトを作成します。

$License = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphAssignedLicense -Property @{SkuId = $SkuId}



下記のエラーが表示された場合、Microsoft Graphへの接続時に指定した権限が足りない可能性があります。

Insufficient privileges to complete the operation



2.1.ユーザーライセンスの割り当て


下記のコマンドでAzure ADユーザーにライセンスを割り当てます。

「RemoveLicenses」オプションは必須のようなので、削除対象が無い場合は値は空で指定します。

Set-MgUserLicense -UserId user@lig-log.com -AddLicenses @($License) -RemoveLicenses @()


「RemoveLicenses」オプションを指定しない場合は下記のエラーが表示されます。

One or more parameters of the function import 'assignLicense' are missing from the request payload.
The missing parameters are: removeLicenses.



2.2.グループライセンスの割り当て


Azure ADグループの場合は下記のコマンドでライセンスを割り当てます。

Set-MgUserLicense -GroupId <GroupId> -AddLicenses @($License) -RemoveLicenses @()




Microsoft Graphの新しいライセンス割り当てコマンドについては以上です。

コメント

タイトルとURLをコピーしました