【 Get-AzureADDirectoryRoleMember 】コマンドレット――Azure Active Directoryのロールが割り当てられたユーザーを参照する:Windows PowerShell基本Tips(44)
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-AzureADDirectoryRoleMember」コマンドレットを解説します。
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は、「Azure Active Directory」(Azure AD)の管理者権限に当たる「ロール」が割り当てられたユーザーを参照する「Get-AzureADDirectoryRoleMember」コマンドレットです。
Get-AzureADDirectoryRoleMemberコマンドレットとは?
「Get-AzureADDirectoryRoleMember」は、PowerShellを利用してAzure ADのロールが割り当てられたユーザーを参照するコマンドレットです。
本連載第43回で解説した「Get-AzureADGroupOwner」コマンドレットと同様に、不適切なユーザーにロールが割り当てられていないかどうかなどを確認するときに有効です。
なお、Get-AzureADGroupOwnerコマンドレットは、本連載の第30回で解説した「Connect-AzureAD」コマンドレットを利用して、Azure ADに接続していることが前提条件になります。
Get-AzureADDirectoryRoleMemberコマンドレットの主なオプション
オプション | 意味 |
---|---|
-ObjectId | ロールのIDを指定する |
特定ロールのメンバー一覧を表示する
特定のロールが割り当てられたユーザーを参照する場合は、Get-AzureADDirectoryRoleMemberコマンドレットに続けて、「-ObjectId」オプションを利用してロールの「ObjectId」を指定します。
ただし、ロールは一般的にObjectIdではなく、「ロール名」で管理します。そこで、事前に関連コマンドレットの「Get-AzureADDirectoryRole」コマンドレットでロールのObjectIdを調べてから、Get-AzureADDirectoryRoleMemberコマンドレットを実行します(画面1)。
コマンドレット実行例
$role=Get-AzureADDirectoryRole | Where-Object {$_.DisplayName -match "Global Administrator"} Get-AzureADDirectoryRoleMember -ObjectId $role.objectid

画面1 1行目でGet-AzureADDirectoryRoleコマンドレットに続けて「Where-Object」コマンドレットを実行し、「Global Administrator」ロール(グローバル管理者ロール)の情報を調べて$role変数に格納した。その後、2行目でGet-AzureADDirectoryRoleMemberコマンドレットを実行し、$role変数のObjectIdを指定してグローバル管理者ロールのメンバー一覧を表示した
表示されないロールのメンバーを表示する
Get-AzureADDirectoryRoleコマンドレットを実行しても一覧に表示されないロールの場合は、Get-AzureADDirectoryRoleMemberコマンドレットの実行に必要なObjectId情報を得られません。そのため、Get-AzureADDirectoryRoleTemplateと「Enable-AzureADDirectoryRole」コマンドレットを実行して、Get-AzureADDirectoryRoleコマンドレットに表示されるように事前に設定しておく必要があります。
コマンドレット実行例
$roletemplate=Get-AzureADDirectoryRoleTemplate | Where-Object {$_.DisplayName -eq "Security Operator"} Enable-AzureADDirectoryRole -RoleTemplateId $roletemplate.ObjectId $role=Get-AzureADDirectoryRole | Where-Object {$_.DisplayName -match "Security Operator"} Get-AzureADDirectoryRoleMember -ObjectId $role.objectid

画面1 1行目でGet-AzureADDirectoryRoleコマンドレットで表示されないロールとして「Security Operator」ロール(セキュリティオペレーターロール)の情報を調べて、$roletemplate変数に格納した。続けて2行目でEnable-AzureADDirectoryRole実行して、$roletemplate変数に格納したSecurity Operatorロールを指定してSecurity Operatorロールが表示されるように設定している。その後、3行目と4行目は前に解説したコマンドレットと同じものを実行し、Security Operatorロールのメンバーを一覧表示した。なお、1〜2行目で実行する際に使用するロールのObjectIdと3〜4行目で実行する際に使用するロールのObjectIdは異なるものなので注意
筆者紹介
国井 傑(くにい すぐる)
株式会社エストディアン代表取締役。1997年からマイクロソフト認定トレーナーとして、Azure Active DirectoryやMicrosoft 365 Defenderなど、クラウドセキュリティを中心としたトレーニングを提供している。2007年からMicrosoft MVP for Enterprise Mobilityを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.