【 Get-AzureADDirectoryRoleMember 】コマンドレット――Azure Active Directoryのロールが割り当てられたユーザーを参照するWindows PowerShell基本Tips(44)

本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「Get-AzureADDirectoryRoleMember」コマンドレットを解説します。

» 2022年09月22日 05時00分 公開
[国井傑株式会社エストディアン]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

「Windows PowerShell基本Tips」のインデックス

連載目次

 本連載は、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の書式

Get-AzureADDirectoryRoleMember [オプション]


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 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 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.

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。