【 Get-MgGroupMember 】コマンドレット――Azure Active Directoryグループのメンバーを参照するWindows PowerShell基本Tips(58)

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

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

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

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

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「Azure Active Directory」(Azure AD)グループのメンバーとなるユーザー/グループの一覧を参照する「Get-MgGroupMember」コマンドレットです。

Get-MgGroupMemberコマンドレットとは?

 「Get-MgGroupMember」は、PowerShellを利用して特定のAzure ADグループのメンバーとなるユーザーまたはグループの一覧を参照するためのコマンドレットです。Azure ADグループのメンバー一覧はブラウザからも参照できますが、一覧したユーザー/グループに対して続けてPowerShell経由で特定の操作を行う場合などに有効です。

 なお、Get-MgGroupMemberコマンドレットは、本連載第45回で解説した「Connect-MgGraph」コマンドレットで「Connect-MgGraph -Scopes "Group.ReadWrite.All","GroupMember.Read.All","User.Read.All"」と実行して、Azure ADへの接続とアクセス許可を与えておくことが前提条件になります。

Get-MgGroupMemberコマンドレットの書式

Get-MgGroupMember [オプション]


Get-MgGroupMemberコマンドレットの主なオプション

オプション 意味
-GroupId メンバー一覧を参照するAzure ADグループのグループIDを指定する
-All 全てのメンバー一覧を参照する。省略可能
-Filter 参照するグループメンバーの条件を指定する。省略可能

グループのメンバーとなるユーザーの一覧を参照する

 Get-MgGroupMemberコマンドレットでは、「-GroupId」オプションを指定してメンバー一覧を参照するグループを指定します(画面1)。グループに割り当てられた「グループID」は本連載第55回で解説した「New-MgGroup」コマンドレットの実行時に表示されるので、この情報を指定します。また、「Azure AD管理センター」にアクセスして参照することも可能です。

コマンドレット実行例

Get-MgGroupMember -GroupId cea79a07-b176-49da-8c78-4d71855eb2de

画面1 画面1 事前に特定グループのGroupIdを調べ、その上でGet-MgGroupMemberコマンドレットを実行した。実行結果としてグループメンバーのユーザーIDまたはグループIDが確認できる

 ただし、この方法ではID番号しか表示されないため、パイプ(|)でつなげてGet-MgUserコマンドレットを実行することで、それぞれのユーザーIDに対応したユーザー名を確認できます(画面2)。

コマンドレット実行例

Get-MgGroupMember -GroupId cea79a07-b176-49da-8c78-4d71855eb2de | foreach {Get-MgUser -UserId $_.id}

画面2 画面2 Get-MgGroupMemberコマンドレットに続けて、それぞれのIDに対応するユーザー名を調べるため、「foreach」コマンドレットとGet-MgUserコマンドレットを順番に実行した

グループIDが分からないユーザーの属性を変更する

 Get-MgGroupMemberコマンドレットでは「-GroupId」オプションを指定することが必須であるため、グループIDが分からない場合には事前に調べておくことが必要です。

 グループIDはAzure ADのグループ一覧を参照するコマンドレット「Get-MgGroup」コマンドレットで参照できます。Get-MgGroupコマンドレットとGet-MgGroupMemberコマンドレットを連続して実行することで、グループIDを調べずにグループのメンバーを参照できます(画面3)。

コマンドレット実行例

Get-MgGroupMember -GroupId (Get-MgGroup -Filter "Displayname eq 'CompanyUsers'").Id | foreach {Get-MgUser -UserId $_.id}

画面3 画面3 Get-MgGroupMemberコマンドレットの-GroupIdオプションの後にかっこを入れ、表示名が「test」であるグループのGroupIdを調べるGet-MgGroupコマンドレットを指定した。これによりtestグループのメンバーを参照するコマンドレットとなった

グループのメンバーにライセンスを割り当てる

 Azure ADではグループにライセンスを割り当てることで、そのグループのメンバーに対してまとめてライセンスを割り当てることができます。

 ただし、「Azure AD Premium」ライセンスが必要であることや、「Microsoft 365」グループなどの特殊なグループには割り当てができないなどの制約があります。

 そのため、Get-MgGroupMemberコマンドレットでグループのメンバーを参照し、その結果に基づいて本連載54回で解説した「Set-MgUserLicense」コマンドレットを実行すれば、グループのメンバーに対してまとめてライセンスを割り当てることができます(画面4)。

コマンドレット実行例

Get-MgGroupMember -GroupId cea79a07-b176-49da-8c78-4d71855eb2de | foreach {Set-MgUserLicense -UserId $_.id -AddLicenses @{SkuId="06ebc4ee-1bb5-47dd-8120-11324bc54e06"} -RemoveLicenses @()}

画面4 画面4 Get-MgGroupMemberコマンドレットで特定グループのメンバー一覧を参照し、そのユーザーに対して「Office 365」のライセンスをforeachコマンドレットで順番に割り当てた

筆者紹介

国井 傑(くにい すぐる)

株式会社エストディアン代表取締役。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のメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。