【 New-MgUser 】コマンドレット――Azure Active Directoryのユーザーを新規作成する:Windows PowerShell基本Tips(72)
本連載は、PowerShellコマンドレットについて、基本書式からオプション、具体的な実行例までを紹介していきます。今回は「New-MgUser」コマンドレットを解説します。
本連載では、Windows PowerShellの基本的なコマンドレットについて、基本的な書式からオプション、具体的な実行例までを分かりやすく紹介していきます。今回は、「Azure Active Directory」(Azure AD)に新しくユーザーを作成する「New-MgUser」コマンドレットです。
New-MgUserコマンドレットとは?
「New-MgUser」は、PowerShellを利用してAzure ADにユーザーを新規作成するためのコマンドレットです。一般的にコマンドレットによるAzure ADの操作は、複数の操作をまとめて実行したい場合に有効ですが、ユーザー作成に限っては「Microsoft Entra管理センター」(Microsoft Entra admin center)からCSVファイル経由でまとめて作成することが可能です。
しかし、Microsoft Entra管理センターではユーザーをまとめて変更できないため、ユーザーの作成/変更/削除を全てPowerShellで実行したい場合にはNew-MgUserコマンドレットが有効です。
なお、New-MgUserコマンドレットは、本連載第45回で解説した「Connect-MgGraph」コマンドレットで「Connect-MgGraph -Scopes "User.ReadWrite.All"」と実行して、Azure ADへの接続とアクセス許可を与えておくことが前提条件になります。
New-MgUserコマンドレットの主なオプション
オプション | 意味 |
---|---|
-DisplayName | 表示上の名前を設定する |
-MailNickName | メールのエイリアスを設定する |
-UserPrincipalName | UPN(User Principal Name)形式のユーザー名を設定する |
-PasswordProfile | ユーザーのパスワードを設定する |
-AccountEnabled | 有効なユーザーを作成する。省略可能 |
-UsageLocation | 利用場所属性を設定する。省略可能 |
ユーザーを新規作成する
New-MgUserコマンドレットでは必須オプションを付加して実行することで、ユーザーを新規作成できます。このとき、「パスワード」の値だけはNew-MgUserコマンドレット内で直接指定できないため、事前に変数に定義しておきます(画面1)。
コマンドレット実行例
$PasswordProfile = @{Password = 'P@ssw0rd'} New-MgUser -DisplayName '秋本宏樹' -PasswordProfile $PasswordProfile -AccountEnabled -MailNickName 'aki' -UserPrincipalName 'aki@ij7604.adfs.jp'
画面1 1行目で「$PasswordProfile」変数に「P@ssw0rd]」という値(パスワード)をセットした。2行目で、New-MgUserコマンドレットを実行し、「-DisplayName」オプションで表示上の名前と実行結果からユーザーのUPN、「-PasswordProfile」オプションで$PasswordProfile変数を使ったパスワードの定義、「-AccountEnabled」オプションで有効なユーザーであることの定義、「-MailNickName」オプションでメールアドレスのエイリアス名(メールアドレス名の@以前の名前)の定義、「-UserPrincipalName」オプションでサインイン時の名前をそれぞれ指定した
CSVファイルを利用してユーザーをまとめて作成する
作成したいユーザーの一覧をCSVファイルで所有している場合は、「Import-Csv」コマンドレットでCSVファイルを読み込み、「ForEach-Object」コマンドレットでCSVファイルの内容を1行ずつ取り出し、繰り返しNew-MgUserコマンドレットを実行するように命令することで複数のユーザーをまとめて作成できます(画面2、画面3)。
コマンドレット実行例
$PasswordProfile = @{Password = 'P@ssw0rd'} Import-Csv c:\temp\users.csv | ForEach-Object {New-MgUser -DisplayName $_.DisplayName -PasswordProfile $PasswordProfile -AccountEnabled -UserPrincipalName $_.UserPrincipalName -MailNickName $_.MailNickName -UsageLocation $_.UsageLocation}
画面2 ユーザーの一覧をCSVファイルで所有している場合、「Import-Csv」コマンドレットでCSVファイルを読み込み、「ForEach-Object」コマンドレットでCSVファイルの内容を1行ずつ取り出す
画面3 1行目でパスワードを定義し、2行目でImport-Csvコマンドレットで「c:\temp\users.csv」ファイルの内容を読み込み、続けてForEach-ObjectコマンドレットでCSVファイルの内容を1行ずつ実行するように設定している。実行するコマンドレットとして「New-MgUser」を指定することで、CSVファイルの内容に基づいてユーザーが作成される。なお、New-MgUserコマンドレット内の各オプションで指定している「$_.」の後ろの値にはCSVファイルの列名が入っている
筆者紹介
国井 傑(くにい すぐる)
株式会社エストディアン代表取締役。1997年からマイクロソフト認定トレーナーとして、Azure Active DirectoryやMicrosoft 365 Defenderなど、クラウドセキュリティを中心としたトレーニングを提供している。2007年からMicrosoft MVP for Enterprise Mobilityを連続して受賞。なお、テストで作成するユーザーアカウントには必ずサッカー選手の名前が登場するほどのサッカー好き。
Copyright © ITmedia, Inc. All Rights Reserved.