本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-MgDirectoryAdministrativeUnitMemberByRef」コマンドレットを解説します。
この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「Azure Active Directory」(Azure AD)に作成された「管理単位」(以下、Azure AD管理単位)に所属するユーザーを追加する「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 [オプション]
オプション | 意味 |
---|---|
-AdministrativeUnitId | ユーザーを追加する管理単位のIDを指定する |
-BodyParameter | 管理単位に追加するユーザーを指定する |
New-MgDirectoryAdministrativeUnitMemberByRefコマンドレットを使用して管理単位にユーザーを追加する場合、事前に操作する「管理単位のID」を知る必要があります。管理単位のIDは、「Get-MgDirectoryAdministrativeUnit」コマンドレットで確認します(画面1)。
Get-MgDirectoryAdministrativeUnit | select DisplayName,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")"}
あらかじめCSVファイルに管理単位に追加したいユーザーを登録しておき、PowerShellからCSVファイルの内容を読み込むことで、まとめてユーザーを追加できます。
CSVファイルは画面3のように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)"}}
株式会社エストディアン代表取締役。1997年からマイクロソフト認定トレーナーとして、Azure Active DirectoryやMicrosoft 365 Defenderなど、クラウドセキュリティを中心としたトレーニングを提供している。2007年からMicrosoft MVP for Enterprise Mobilityを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.