Microsoft Entra ID のユーザーを一括で追加したい――。
そんなときに最もシンプルで柔軟なのが Microsoft Entra PowerShell を使った方法です。
1.CSVファイル作成
下記のようなユーザー情報を記載した UTF-8 形式の CSV ファイルを作成します。
UserPrincipalName,DisplayName,GivenName,Surname,MailNickname
taro.tanaka@contoso.com,田中 太郎,太郎,田中,t.tanaka
hanako.sato@contoso.com,佐藤 花子,花子,佐藤,h.sato
2.ユーザー作成
下記のコマンドで Entra へ接続し、ユーザーを作成します。
# 接続
Connect-Entra -Scopes "User.ReadWrite.All","Directory.AccessAsUser.All"
# パスワード設定
$Password = '<パスワード>'
$passwordProfile = New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$passwordProfile.Password = $Password
# ユーザー作成
Import-Csv C:\Work\User.csv | ForEach-Object {New-EntraUser -UserPrincipalName $_.UserPrincipalName -DisplayName $_.DisplayName -Surname $_.Surname -GivenName $_.GivenName -MailNickname $_.MailNickname -AccountEnabled $true -PasswordProfile $passwordProfile -UsageLocation "JP" -PreferredLanguage "ja-JP"}
3.ユーザー作成の確認
下記のコマンドで正常にユーザーが作成されたことを確認します。
Import-Csv C:\Work\User.csv | ForEach-Object {Get-EntraUser -UserPrincipalName $_.UserPrincipalName} | Select-Object DisplayName,Surname,GivenName,UserPrincipalName,MailNickname,AccountEnabled,UsageLocation,PreferredLanguage | Export-Csv C:\Work\User_check.csv
4.初回ログイン時のパスワード変更強制
ユーザー作成時の「PasswordProfile」オプションでも設定できますが、正常に動作しない場合があるという情報があるため、個別に設定します。
# パスワードのハッシュ化
$Secure = ConvertTo-SecureString $Password -AsPlainText -Force
# パスワード強制変更
Import-Csv C:\Work\User.csv | ForEach-Object {Set-EntraUserPasswordProfile -UserId $_.UserPrincipalName -Password $Secure -ForceChangePasswordNextSignIn}

コメント