PowerShell を使用して CSV から Microsoft Entra ID ユーザーを作成する

私たちは社内に新しい Microsoft Entra ID ユーザーを作成したいと考えています。 Microsoft Entra 管理センターを経由し、ウィザードを使用してユーザーを作成するには時間がかかります。処理を高速化するために、PowerShell を選択して Microsoft Entra ID ユーザーを一括作成します。この記事では、CSV ファイルから Microsoft Entra ID でユーザーを作成する方法を説明します。

Microsoft Graph に接続する

始める前に、Microsoft Graph をインストールして接続する必要があります。

Windows PowerShell を管理者として起動し、以下のコマンドを実行します。

Install-Module Microsoft.Graph -Force

重要:エラーや不正確な結果を防ぐために、コマンドレットまたはスクリプトを実行する前に、必ず最新の Microsoft Graph PowerShell モジュール バージョンに更新してください。

を実行します。Connect-MgGraphMicrosoft Entra ID との接続を開始するコマンドレット。

Connect-MgGraph -Scopes "User.ReadWrite.All"

PowerShell を使用して Microsoft Entra ID ユーザーを作成するには、最小限必要な属性が必要です。

  • -表示名
  • -メールニックネーム
  • -ユーザープリンシパル名
  • -パスワードプロファイル
  • -アカウント有効

PowerShell を使用して Microsoft Entra ID ユーザーを作成する

PowerShell ISE または Visual Studio Code を起動し、New-MgUser新しい Microsoft Entra ID ユーザーを作成するコマンドレット。

# Create password profile
$PasswordProfile = @{
    Password                             = "P@ssw0rd!"
    ForceChangePasswordNextSignIn        = $true
    ForceChangePasswordNextSignInWithMfa = $true
}

# Create Microsoft Entra ID user
$UserParams = @{
    DisplayName       = "Jeff Baker"
    MailNickName      = "Jeff.Baker"
    UserPrincipalName = "[email protected]"
    PasswordProfile   = $PasswordProfile
    AccountEnabled    = $true
}

New-MgUser @UserParams

コマンドを実行すると、ユーザーが正常に作成されたことを示す出力が表示されます。

DisplayName Id                                   Mail UserPrincipalName
----------- --                                   ---- -----------------
Jeff Baker  4cc4f605-8ed1-47f5-8c5f-ca9a29e8ec82      [email protected]

Microsoft Graph PowerShell を使用して Microsoft Entra ID ユーザーを作成する方法がわかったので、次の手順では、CSV ファイルを使用して Microsoft Entra ID ユーザーを一括作成する方法を見てみましょう。

PowerShell を使用して Microsoft Entra ID ユーザーを一括作成する

CSV ファイルから Microsoft Entra ID ユーザーを一括作成する手順を見てみましょう。

1. CSVテンプレートをダウンロードする

NewUsers.csv をダウンロードし、CSV テンプレートをパスに配置しますC:温度。お持ちでない場合は、温度フォルダーを作成します。

CSV ファイルを調整し、完了したら保存します。

2.Add-NewEntraIDUsers PowerShell スクリプトをダウンロードします。

Add-NewEntraIDUsers.ps1 スクリプトをダウンロードし、パスに保存します。C:スクリプト。お持ちでない場合は、スクリプトフォルダーを作成します。

推奨読書:CSV を使用して Active Directory ユーザーを一括作成する

スクリプト実行時のエラーを防ぐために、ファイルのブロックが解除されていることを確認してください。詳細については、PowerShell スクリプトの実行時の「デジタル署名がありません」エラーの記事をご覧ください。

別のオプションは、以下のコードをコピーしてメモ帳に貼り付けることです。 Add-NewEntraIDUsers.ps1 という名前を付けて、C:スクリプトフォルダ。

<#
    .SYNOPSIS
    Add-NewEntraIDUsers.ps1

    .DESCRIPTION
    Create Microsoft Entra ID users from CSV file.

    .LINK
    www.alitajran.com/create-microsoft-entra-id-users

    .NOTES
    Written by: ALI TAJRAN
    Website:    www.alitajran.com
    LinkedIn:   linkedin.com/in/alitajran

    .CHANGELOG
    V1.00, 05/19/2023 - Initial version
#>

# Connect to Microsoft Graph with user read/write permissions
Connect-MgGraph -Scopes "User.ReadWrite.All"

# Specify the path of the CSV file
$CSVFilePath = "C:tempNewUsers.csv"

# Create password profile
$PasswordProfile = @{
    Password                             = "P@ssw0rd!"
    ForceChangePasswordNextSignIn        = $true
    ForceChangePasswordNextSignInWithMfa = $true
}

# Import data from CSV file
$Users = Import-Csv -Path $CSVFilePath

# Loop through each row containing user details in the CSV file
foreach ($User in $Users) {
    $UserParams = @{
        DisplayName       = $User.DisplayName
        MailNickName      = $User.MailNickName
        UserPrincipalName = $User.UserPrincipalName
        Department        = $User.Department
        JobTitle          = $User.JobTitle
        Mobile            = $User.Mobile
        Country           = $User.Country
        EmployeeId        = $User.EmployeeId
        PasswordProfile   = $PasswordProfile
        AccountEnabled    = $true
    }

    try {
        $null = New-MgUser @UserParams -ErrorAction Stop
        Write-Host ("Successfully created the account for {0}" -f $User.DisplayName) -ForegroundColor Green
    }
    catch {
        Write-Host ("Failed to create the account for {0}. Error: {1}" -f $User.DisplayName, $_.Exception.Message) -ForegroundColor Red
    }
}

3. Add-NewEntraIDUsers PowerShell スクリプトを実行します。

ディレクトリパスを次のように変更しますC:スクリプトそして、スクリプト Add-NewEntraIDUsers.ps1 を実行します。

C:scripts.Add-NewEntraIDUsers.ps1

出力には、ユーザーの作成が成功したか失敗したかがメッセージとともに表示されます。

Welcome To Microsoft Graph!
Successfully created the account for Amanda Morgan
Successfully created the account for Jeffrey Welch
Successfully created the account for Kevin Howard
Failed to create the account for Lauren Russell. Error: Another object with the same value for property userPrincipalName already exists.

4. Microsoft Entra ID ユーザーの確認

Get-MgUser コマンドレットを使用して、Microsoft Entra ID で新しく作成されたユーザーを取得する以下のスクリプトを実行します。

# Specify the path of the CSV file
$CSVFilePath = "C:tempNewUsers.csv"

# Import the CSV file
$users = Import-Csv $CSVFilePath

foreach ($user in $users) {
    if (Get-MgUser -UserId $user.UserPrincipalName -ErrorAction SilentlyContinue) {
        Write-Host "$($user.UserPrincipalName) exists" -ForegroundColor Green
    }
    else {
        Write-Host "$($user.UserPrincipalName) does not exist" -ForegroundColor Red
    }
}

もう 1 つの方法は、にサインインすることです。Microsoft Entra 管理センター新しく作成されたユーザーを確認します。

ユーザーがサインインするときマイクロソフト 365、パスワードの更新を強制されます。

これは、PowerShell を使用して CSV ファイルから Microsoft Entra ID ユーザーを作成するのに役立ちましたか?

注記:PowerShell を使用せず、Microsoft Entra 管理センターを通じてユーザーを作成したいとします。記事を読むCSV ファイルを使用して Microsoft 365 ユーザーを一括作成する

結論

PowerShell を使用して CSV から Microsoft Entra ID ユーザーを作成する方法を学習しました。まず、CSV ファイルを準備し、すべての情報が入力されていることを確認します。次に、Add-NewEntraIDUsers.ps1 スクリプトを実行して、Microsoft Entra ID にユーザーを作成します。最後の部分は、ユーザーが正常に作成されたかどうかを確認することです。

この記事は気に入りましたか? 「組織における MFA 疲労攻撃の防止」も気に入っていただけるでしょう。ぜひフォローしてこの記事をシェアしてください。

Related Posts