PowerShellでライセンスが割り当てられているEntra ID ユーザーを一覧で出力する

PowerShellでEntra IDのユーザーを出力することが出来ます。

今回はライセンスの割り当て状況によって出力するユーザーをフィルタリングしたいと思います。

1.Entra IDへ接続

下記のコマンドで接続します。

Connect-Entra -Scopes 'User.Read.All'



2.特定のライセンスでフィルター

下記のコマンドで特定のライセンスが割り当てられているユーザーを出力します。

Get-EntraUser -All | Where-Object { $_.AssignedLicenses.SkuId -contains '<GUID>' }

各ライセンスのGUIDは下記から確認出来ます。

ライセンスのための製品名とサービス プラン 識別子 - Microsoft Entra ID
Azure portal、Microsoft 365 管理センター、PowerShell、または Microsoft Graph で Microsoft Entra ID のライセンスを管理するための識別子マップ


実行結果をCSVファイルとしてエクスポートする場合は下記のコマンドで出力します。

Get-EntraUser -All | Where-Object { $_.AssignedLicenses.SkuId -contains '<GUID>' } | Export-Csv <出力先> -Encoding Default

エクスポートする情報を絞る場合は下記のコマンドで出力します。

Get-EntraUser -All | Where-Object { $_.AssignedLicenses.SkuId -contains '<GUID>' } | Select-Object displayName,userPrincipalName,ObjectId | Export-Csv <出力先> -Encoding Default



3.ライセンス数でフィルター

割り当てられているライセンス数でフィルターし、対象ユーザーのみを出力することも出来ます。

3.1.指定した数のライセンス数の場合(1つ、2つなど)

ライセンスが1つのみ割り当てられているユーザーを出力する場合は下記のコマンドを実行します。

Get-EntraUser -All | Where-Object { $_.AssignedLicenses.Count -eq 1 }

2つの場合は数字を増やします。

Get-EntraUser -All | Where-Object { $_.AssignedLicenses.Count -eq 2 }

3.2.指定した数より多いライセンス数の場合(1つ以上、2つ以上など)

ライセンスが1つ以上の複数ライセンスが割り当てられているユーザーを出力する場合は下記のコマンドを実行します。

Get-EntraUser -All | Where-Object { $_.AssignedLicenses.Count -gt 0 }

2つ以上の場合は数字を増やします。

Get-EntraUser -All | Where-Object { $_.AssignedLicenses.Count -gt 1 }

コメント

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