Azure ADの特定のセキュリティグループに含まれるユーザー一覧をPowerShellで取得する
Windows 10を利用していることを前提に記載します。
まずはじめに、PowerShellを「管理者として実行する」で起動します。
次に、必要なモジュールをインストールします。
Install-Module -Name AzureAD
モジュールのインストールは一度行えばOKです。
ここまでの準備ができたら、以下を記載した.ps1ファイルを実行します。問題なく実行されると、対象のセキュリティグループに含まれるユーザー一覧(csv)がデスクトップに生成されます。
$Credential = Get-Credential Connect-AzureAD -Credential $Credential $groupname = Read-Host "セキュリティグループ名を入力してください" $group = Get-AzureADGroup -Filter "DisplayName eq '$groupname'" $userlist = Get-AzureADGroupMember -ALL 1 -ObjectId $group.ObjectId $userlist | Select-Object -Property UserPrincipalName,Mail,DisplayName | Export-Csv -Encoding UTF8 -Path $HOME\Desktop\userlist_$groupname.csv
いくつかポイントを記載しておきます。
$Credential = Get-Credential Connect-AzureAD -Credential $Credential
この部分を実行すると、サインイン画面が起動しますので、Office 365職場または学校のアカウント の資格情報を入力します。
$groupname = Read-Host "セキュリティグループ名を入力してください"
今回はユーザーがセキュリティグループ名を入力する形にしました。なお、セキュリティグループ名の入力に大文字小文字の区別はありません。
$userlist = Get-AzureADGroupMember -ALL 1 -ObjectId $group.ObjectId
デフォルトでは最大100件までの情報しか取得できません。
-ALL 1
を追加することで全件取得できます。なお、1
は true
に置き換えても構いません。
Export-Csv -Encoding UTF8 -Path $HOME\Desktop\userlist_$groupname.csv
私が使用するエディターがVS Codeなので、UTF-8にエンコードしています。SJISでexportする場合は default
と置き換えてください。