【 New-MgDirectoryAdministrativeUnitMemberByRef 】コマンドレット――Azure Active Directoryの「管理単位」にユーザーを追加するWindows PowerShell基本Tips(68)

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

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

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

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

連載目次

 本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「Azure Active Directory」(Azure AD)に作成された「管理単位」(以下、Azure AD管理単位)に所属するユーザーを追加する「New-MgDirectoryAdministrativeUnitMemberByRef」コマンドレットです。

New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットとは?

 「New-MgDirectoryAdministrativeUnitMemberByRef」は、PowerShellを利用してAzure AD管理単位に所属させたいユーザーを追加するためのコマンドレットです。Azure AD管理単位はActive Directory(AD)の「組織単位(OU)」に相当する“入れ物”ですが、ADのOUようにGUIの管理ツール上で複数のユーザーをドラッグ&ドロップでまとめて追加するようなことはできません。そのため、管理単位に複数ユーザーをまとめて追加する場合は、New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットを使って処理を自動化します。

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

New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットの書式

New-MgDirectoryAdministrativeUnitMemberByRef [オプション]


New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットの主なオプション

オプション 意味
-AdministrativeUnitId ユーザーを追加する管理単位のIDを指定する
-BodyParameter 管理単位に追加するユーザーを指定する

管理単位のIDを調べる

 New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットを使用して管理単位にユーザーを追加する場合、事前に操作する「管理単位のID」を知る必要があります。管理単位のIDは、「Get-MgDirectoryAdministrativeUnit」コマンドレットで確認します(画面1)。

コマンドレット実行例

Get-MgDirectoryAdministrativeUnit | select DisplayName,Id

画面1 画面1 Get-MgDirectoryAdministrativeUnitコマンドレットを実行し、実行結果から「DisplayName」と「Id」の2つの列だけを表示するようにして管理単位のIDを確認できるようにした

管理単位にユーザーを追加する

 New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットを使用して管理単位にユーザーを追加する場合、管理単位の「ID」と追加するユーザーの「UPN(User Principal Name:ユーザープリンシパル名)」をそれぞれ指定しています。

 追加対象となるロールIDの指定には「-DirectoryRoleId」オプション、ユーザーの追加には「-BodyParameter」オプションを指定します。なお「-BodyParameter」オプションは「OData」を使って指定する必要があり、ユーザーは「@{"@odata.id" = "https://graph.microsoft.com/v1.0/user/$("ユーザーUPN")"}」となるように指定します(画面2)。

コマンドレット実行例

New-MgDirectoryAdministrativeUnitMemberByRef -AdministrativeUnitId c5192e90-5afd-4cbe-b860-6356b3ce3c68 -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/users/$("muto@ij7301.onmicrosoft.com")"}

画面2 画面2 New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットに続けて「-AdministrativeUnitId」オプションで管理単位のIDを指定し、「-BodyParameter」オプションで管理単位に追加するユーザーのUPNを指定した。UPNの指定にはODataを使うため「@{"@odata.id" = "https://graph.microsoft.com/v1.0/users/$("muto@ij7301.onmicrosoft.com")"}」のように指定している

管理単位に複数のユーザーをまとめて追加する

 あらかじめCSVファイルに管理単位に追加したいユーザーを登録しておき、PowerShellからCSVファイルの内容を読み込むことで、まとめてユーザーを追加できます。

 CSVファイルは画面3のように1行目に「user」とだけ記述し、2行目以降に追加したいユーザーのUPNを1人1行ずつ記述しておきます。

画面3 画面3 CSVファイルの記述例。1行目に「user」と記述し、2行目以降に追加したいユーザーのUPNを1人1行ずつ記述する

 その後、「Import-Csv」コマンドレットでCSVファイルの内容を読み込ませ、続けて「ForEach-Object」コマンドレットでCSVファイルに記載されたの内容を1行ずつ読み込んだUPNをNew-MgDirectoryAdministrativeUnitMemberByRefコマンドレットに代入するように指定します(画面4)。

コマンドレット実行例

Import-Csv C:\csv\users.csv | ForEach-Object {New-MgDirectoryAdministrativeUnitMemberByRef -AdministrativeUnitId c5192e90-5afd-4cbe-b860-6356b3ce3c68 -BodyParameter @{"@odata.id" = "https://graph.microsoft.com/v1.0/users/$($_.user)"}}

画面4 画面4 最初にImport-CsvコマンドレットでCSVファイルの内容を読み取り、ForEach-ObjectコマンドレットでNew-MgDirectoryAdministrativeUnitMemberByRefコマンドレットを連続して実行するように指定している。-AdministrativeUnitIdオプションと-BodyParameterオプションを指定するところまでは前の例と同じだが、UPNを指定する部分で「$_.user」と指定することでCSVファイル内のuser列に記載されたUPNを代入するように指定している

筆者紹介

国井 傑(くにい すぐる)

株式会社エストディアン代表取締役。1997年からマイクロソフト認定トレーナーとして、Azure Active DirectoryやMicrosoft 365 Defenderなど、クラウドセキュリティを中心としたトレーニングを提供している。2007年からMicrosoft MVP for Enterprise Mobilityを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。


Copyright © ITmedia, Inc. All Rights Reserved.

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

注目のテーマ

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

RSSについて

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

メールマガジン登録

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