Entra

GraphPowerShellからユーザーを一括作成する

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ファイル内に作成したいアカウント情報を記載してください。

記入例

UserPrincipalNameDisplayNamePassword
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かCSPへお問い合わせください。
※いただきました内容は確認させていただきますが、必ずしも回答をお約束するものではございません。

    ドメインが複数表示されている画像GraphPowerShellから独自ドメインのDNSレコードを一括取得する前のページ

    GraphPowerShellからすべてのチームのメンバーを取得する次のページ

    関連記事

    1. ドメインが複数表示されている画像

      Entra

      GraphPowerShellから独自ドメインのDNSレコードを一括取得する

      新規構築の場合は、複数のドメインを登録する必要がある場合があ…

    2. Entra

      GraphPowerShellを利用してMicrosoft365管理者アカウントを一括取得する

      GraphPowerShellを使用して管理アカウントを一括…

    3. Entra

      Microsoft365アカウントの認証方法登録情報を取得する

      多要素認証、セルフパスワードリセットに使用する認証方法の登録…

    4. Entra

      GraphPowerShellを使用してアカウントの部署情報を一括更新する

      Microsoft365のアカウントのプロパティ情報を一括更…

    最近の記事

    PAGE TOP