PowerShell ile CSV'den Microsoft Entra ID Kullanıcıları Oluşturun


Şirkette yeni Microsoft Entra ID kullanıcıları oluşturmayı seviyoruz. Microsoft Entra yönetim merkezinden geçerek sihirbaz aracılığıyla kullanıcıları oluşturmak zamanımızı alacaktır. İşleri hızlandırmak adına toplu Microsoft Entra ID kullanıcıları oluşturmak için PowerShell'i seçeceğiz. Bu yazımızda Microsoft Entra ID'de CSV dosyasından nasıl kullanıcı oluşturulacağını öğreneceksiniz.

Microsoft Graph'a bağlanın

Başlamadan önce Microsoft Graph'ı yüklemeniz ve bağlanmanız gerekir.

Windows PowerShell'i yönetici olarak başlatın ve aşağıdaki komutları çalıştırın.

Install-Module Microsoft.Graph -Force
Install-Module Microsoft.Graph.Beta -AllowClobber -Force

Önemli: Her zaman Microsoft Graph PowerShell ve Microsoft Graph Beta PowerShell modüllerini yükleyin. Bunun nedeni, bazı cmdlet'lerin henüz son sürümde mevcut olmaması ve çalışmayacak olmasıdır. Hataları ve yanlış sonuçları önlemek için bir cmdlet'i veya betiği çalıştırmadan önce her iki modülü de en son sürüme güncelleyin.

Microsoft Entra ID ile bağlantı başlatmak için Connect-MgGraph cmdlet'ini çalıştırın.

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

Microsoft Entra ID kullanıcısı oluşturmak için gerekli özellikler

PowerShell ile bir Microsoft Entra ID kullanıcısı oluşturmak için gereken minimum özniteliklere ihtiyacınız vardır:

  • -GörünenAd

  • -MailRumuz

  • -UserPrincipalName

  • -PasswordProfile

  • -Hesap Etkinleştirildi

PowerShell ile Microsoft Entra ID kullanıcısı oluşturun

PowerShell ISE veya Visual Studio Code'u başlatın ve yeni bir Microsoft Entra ID kullanıcısı oluşturmak için New-MgUser cmdlet'ini çalıştırın.

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

# Create Microsoft Entra ID user
$UserParams = @{
    DisplayName       = "Jeff Baker"
    MailNickName      = "Jeff.Baker"
    UserPrincipalName = "Jeff.Baker@exoip.com"
    PasswordProfile   = $PasswordProfile
    AccountEnabled    = $true
}

New-MgUser @UserParams

Komutu çalıştırdıktan sonra kullanıcının başarıyla oluşturulduğunu gösteren çıktıyı gösterecektir.

DisplayName Id                                   Mail UserPrincipalName
----------- --                                   ---- -----------------
Jeff Baker  4cc4f605-8ed1-47f5-8c5f-ca9a29e8ec82      Jeff.Baker@exoip.com

Artık Microsoft Graph PowerShell ile Microsoft Entra ID kullanıcısının nasıl oluşturulacağını bildiğinize göre, bir sonraki adıma CSV dosyasıyla Microsoft Entra ID kullanıcılarının toplu olarak nasıl oluşturulacağına bakalım.

PowerShell ile toplu Microsoft Entra ID kullanıcıları oluşturun

CSV dosyasından toplu Microsoft Entra ID kullanıcıları oluşturma adımlarını inceleyelim.

1. CSV şablonunu indirin

NewUsers.csv dosyasını indirin ve CSV şablonunu C:\Temp yoluna yerleştirin. Temp klasörünüz yoksa bir tane oluşturun.

CSV dosyasını ayarlayın ve işiniz bittiğinde kaydedin.

2. Add-NewEntraIDUsers PowerShell betiğini indirin

Add-NewEntraIDUsers.ps1 komut dosyasını indirin ve C:\Scripts yoluna kaydedin. Komut Dosyaları klasörünüz yoksa bir tane oluşturun.

Komut dosyasını çalıştırırken hataları önlemek için dosyanın engellemesinin kaldırıldığından emin olun. PowerShell betiğini çalıştırırken dijital olarak imzalanmamış hata makalesinde daha fazlasını okuyun.

Diğer bir seçenek de aşağıdaki kodu kopyalayıp Not Defteri'ne yapıştırmaktır. Buna Add-NewEntraIDUsers.ps1 adını verin ve onu C:\Scripts klasörüne yerleştirin.

<#
    .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:\temp\NewUsers.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 betiğini çalıştırın

Dizin yolunu C:\scripts olarak değiştirin ve Add-NewEntraIDUsers.ps1 komut dosyasını çalıştırın.

C:\scripts\.\Add-NewEntraIDUsers.ps1

Çıktı, kullanıcıların başarılı mı yoksa başarısız mı oluşturulduğunu bir mesajla gösterecektir.

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 kullanıcılarını doğrulayın

Microsoft Entra ID'de yeni oluşturulan kullanıcıları almak için Get-MgUser cmdlet'ini kullanan aşağıdaki betiği çalıştırın.

# Specify the path of the CSV file
$CSVFilePath = "C:\temp\NewUsers.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
    }
}

Başka bir yol da Microsoft Entra yönetim merkezinde oturum açmak ve yeni oluşturulan kullanıcıları doğrulamaktır.

Kullanıcılar Microsoft 365'te oturum açtığında parolalarını güncelleştirmeleri gerekir.

Bu, PowerShell ile CSV dosyasından Microsoft Entra ID Kullanıcıları oluşturmanıza yardımcı oldu mu?

Not: PowerShell'i kullanmak istemediğinizi ve kullanıcıları Microsoft Entra yönetim merkezi aracılığıyla oluşturmak istediğinizi varsayalım; CSV dosyasıyla Microsoft 365 kullanıcılarını toplu oluşturma makalesini okuyun.

Devamını oku: Microsoft Entra ve PowerShell'de MFA durumunu alın »

Çözüm

PowerShell ile CSV'den Microsoft Entra ID kullanıcılarının nasıl oluşturulacağını öğrendiniz. Öncelikle CSV dosyasını hazırlayın ve tüm bilgilerin doldurulduğundan emin olun. Daha sonra Microsoft Entra ID'de kullanıcıları oluşturmak için Add-NewEntraIDUsers.ps1 betiğini çalıştırın. Son kısım ise kullanıcıların başarıyla oluşturulup oluşturulmadığını kontrol etmektir.

Bu makaleyi beğendiniz mi? Ayrıca kuruluştaki MFA yorgunluk saldırılarını önleme konusunu da beğenebilirsiniz. Bizi takip etmeyi ve bu yazımızı paylaşmayı unutmayın.

İlgili makaleler