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 }
コメント