GraphPowershellからユーザーアカウントを一括作成する方法について記載する。
検証環境について
動作確認した検証環境は以下の通り。
OS:Microsoft Windows 11 Enterprise
OSbuildバージョン:10.0.22621
PowerShellのバージョン:7.4.0
GraphPowershellのモジュール名とバージョン
Microsoft.Graph.Authentication 2.11.1
Microsoft.Graph.Identity.DirectoryManagement 2.11.1サインインアカウントの権限はグローバル管理者。
使用するコマンド
New-MgUser
使用例
Connect-MgGraph -Scopes Directory.Read.All -NoWelcom
$prm = @{
UserPrincipalName = "user1@365pd.jp"
DisplayName = "User01"
MailNickname = "user01"
PasswordProfile = @{
Password = "Tokyo9875"
}
UsageLocation = "JP"
}
New-MgUser @prm -AccountEnabled一括作成する際に使用するCSVファイルを作成する
#CSVの保存先 windowsOSの場合、デスクトップに保存する
$csvSavePath = "$env:USERPROFILE\Desktop"
#CSVのファイル名
$csvFileName = "accountInfo.csv"
$accountInfoCSV = [PSCustomObject]@{
UserPrincipalName = $null
DisplayName = $null
Password = $null
}
$accountInfoCSV | Export-Csv -Path "${csvSavePath}\${csvFileName}" `
-Encoding utf8 -NoTypeInformation上記で作成したCSVファイル内に作成したいアカウント情報を記載してください。
記入例
| UserPrincipalName | DisplayName | Password |
|---|---|---|
| taro.tanaka@365ps.jp | 田中 太郎 | Tokyo1234 |
| hiroshi.tanaka@365ps.jp | 佐藤 博 | Saitama2849 |
| jiro.suzuki@365ps.jp | 鈴木 二郎 | Kanagawa3048 |
以下パラメータは必須項目となります。
CSVファイルを読み込みユーザーアカウントを一括作成する
#CSVの保存先を指定する
$csvSavePath = "$env:USERPROFILE\Desktop"
#読み込むCSVファイル名を指定する
$csvFileName = "accountInfo.csv"
#編集したCSVファイルを読み込む
$csvAccountDataList = Import-Csv -Path "${csvSavePath}\${csvFileName}"
#GraphPowerShellへ接続する
Connect-MgGraph -Scopes User.ReadWrite.All -NoWelcome
#CSVで入力したアカウント分だけ繰り返し
foreach($accountInfo in $csvAccountDataList){
#CSVの情報を取り出す
$accountData = @{
UserPrincipalName = $accountInfo.UserPrincipalName
DisplayName = $accountInfo.DisplayName
#UserPrincipalNameを@を起点に分割し@前の文字列を指定する
#admin@365ps.jpの場合、adminが指定される
MailNickname = ($accountInfo.UserPrincipalName).split("@")[0]
PasswordProfile = @{
Password = $accountInfo.Password
ForceChangePasswordNextSignIn=$true
}
UsageLocation = "JP"
}
New-MgUser @accountData -AccountEnabled
}
Disconnect-MgGraph使用したパラメータについて
| パラメータ | パラメータの使用用途 |
|---|---|
| UserPrincipalName | サインイン時に使用するアカウント情報 |
| MailNickname | メールのエイリアス |
| AccountEnabled | アカウントを使用できるかどうか |
| Password | サインイン時に使用するパスワード |
| ForceChangePasswordNextSignIn | サインイン時にパスワード更新を強制するかどうか |
| UsageLocation | ユーザーが使用する国 |
参考情報
- ユーザーを作成する – Microsoft Graph v1.0 | Microsoft Learn
- Microsoft Graph PowerShell SDK を使用したライセンス管理操作の紹介 | Japan Azure Identity Support Blog (jpazureid.github.io)
問い合わせフォーム
リンク切れのご報告や、記載内容に不備がありましたら、お手数をおかけしますが
以下お問い合わせフォームからご報告をお願い致します。
コマンドの仕様確認やエラー内容の確認、対処方法については、ご契約されているMicrosoftかCSPへお問い合わせください。
※いただきました内容は確認させていただきますが、必ずしも回答をお約束するものではございません。






