PowerShell ile Microsoft 365 kullanıcı hesapları oluşturma

Bu makale hem Microsoft 365 Kurumsal hem de Office 365 Kurumsal için geçerlidir.

Birden çok hesap dahil olmak üzere kullanıcı hesaplarını verimli bir şekilde oluşturmak için Microsoft Graph PowerShell'i kullanabilirsiniz.

PowerShell'de kullanıcı hesapları oluşturduğunuzda, belirli hesap özellikleri her zaman gereklidir. Diğer özellikler gerekli değildir ancak önemlidir. Aşağıdaki tabloya bakın.

Özellik adı Gerekli mi? Açıklama
Displayname
Evet
Bu, Microsoft 365 hizmetlerinde kullanılan görünen addır. Örneğin, Caleb Sills.
Userprincipalname
Evet
Bu, Microsoft 365 hizmetlerinde oturum açmak için kullanılan hesap adıdır. Örneğin, CalebS@contoso.onmicrosoft.com.
Ad
Hayır
Soyadı
Hayır
LicenseAssignment
Hayır
Bu, kullanıcı hesabına kullanılabilir bir lisansın atandığı lisans planıdır (lisans planı veya SKU olarak da bilinir). Lisans, hesapta kullanılabilen Microsoft 365 hizmetlerini tanımlar. Hesabı oluştururken kullanıcıya lisans atamanız gerekmez, ancak hesabın Microsoft 365 hizmetlerine erişmek için bir lisansı olmalıdır. Kullanıcı hesabını oluşturduktan sonra lisans vermek için 30 gününüz vardır.
Password
Hayır
Parola belirtmezseniz kullanıcı hesabına rastgele bir parola atanır ve parola komutun sonuçlarında görünür. Parola belirtirseniz, şu türlerde 8 ile 16 ASCII metin karakteri olmalıdır: küçük harfler, büyük harfler, sayılar ve simgeler.
UsageLocation
Hayır
Bu geçerli bir ISO 3166-1 alfa-2 ülke kodudur. Örneğin, Birleşik Devletler için ABD ve Fransa için FR. Bazı Microsoft 365 hizmetleri belirli ülkelerde/bölgelerde kullanılamadığından bu değeri sağlamak önemlidir. Hesapta bu değer yapılandırılmadığı sürece kullanıcı hesabına lisans atayamazsınız. Daha fazla bilgi için bkz. Lisans kısıtlamaları hakkında.

Not

Ayrıca bkz. Microsoft 365 yönetim merkezi kullanarak kullanıcı hesapları oluşturmayı öğrenin.

Ek kaynakların listesi için bkz. Kullanıcıları ve grupları yönetme.

Microsoft Graph PowerShell ile Microsoft 365 kullanıcı hesapları oluşturma

Not

Azure Active Directory modülünün yerini Microsoft Graph PowerShell SDK'sı alır. Tüm Microsoft Graph API'lerine erişmek için Microsoft Graph PowerShell SDK'sını kullanabilirsiniz. Daha fazla bilgi için bkz. Microsoft Graph PowerShell SDK'sını kullanmaya başlama.

İlk olarak, Microsoft 365 kiracınıza bağlanmak için bir Microsoft Entra DC yöneticisi, Cloud Application Yönetici veya Genel yönetici hesabı kullanın. Bu makaledeki cmdlet'ler User.ReadWrite.All izin kapsamını veya 'Abone olunanSkuları listele' Graph API başvuru sayfasında listelenen diğer izinlerden birini gerektirir. Bu makaledeki bazı komutlar farklı izin kapsamları gerektirebilir; bu durumda bu durum ilgili bölümde not edilir.

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

Tek bir kullanıcı hesabı oluşturma

Tek bir hesap oluşturmak için aşağıdaki söz dizimini kullanın:

$PasswordProfile = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphPasswordProfile
$PasswordProfile.Password = "<user account password>"
New-MgUser -DisplayName "<display name>" -GivenName "<first name>" -Surname "<last name>" -UserPrincipalName <sign-in name> -UsageLocation <ISO 3166-1 alpha-2 country code> -MailNickname <mailbox name> -PasswordProfile $PasswordProfile -AccountEnabled $true

Bu örnek, ABD kullanıcısı John Doe için bir hesap oluşturur.

$PasswordProfile = New-Object -TypeName Microsoft.Graph.PowerShell.Models.MicrosoftGraphPasswordProfile
$PasswordProfile.Password = "3Rv0y1q39/chsy"
New-MgUser -DisplayName "John Doe" -GivenName "John" -Surname "Doe" -UserPrincipalName johnd@contoso.onmicrosoft.com -UsageLocation "US" -MailNickname "johnd" -PasswordProfile $PasswordProfile -AccountEnabled $true

Birden çok kullanıcı hesabı oluşturma

  1. Gerekli kullanıcı hesabı bilgilerini içeren bir virgülle ayrılmış değer (CSV) dosyası oluşturun. Örneğin:

    UserPrincipalName,FirstName,LastName,DisplayName,UsageLocation,MailNickname
    ClaudeL@contoso.onmicrosoft.com,Claude,Loiselle,Claude Loiselle,US,claudel
    LynneB@contoso.onmicrosoft.com,Lynne,Baxter,Lynne Baxter,US,lynneb
    ShawnM@contoso.onmicrosoft.com,Shawn,Melendez,Shawn Melendez,US,shawnm
    

    Not

    CSV dosyasının ilk satırındaki sütun adları ve sıraları rastgeledir. Ancak, dosyanın geri kalanındaki verilerin sırasının sütun adlarının sırasıyla eşleştiğinden emin olun. Ayrıca Microsoft 365 için PowerShell komutundaki parametre değerlerinin sütun adlarını kullanın.

  2. Bu örnek ,C:\temp\NewAccounts.csv dosyasından kullanıcı hesapları oluşturur ve sonuçları C:\temp\NewAccountResults.csvadlı bir dosyada günlüğe kaydeder.

    # Import the CSV file
    $users = Import-Csv -Path "C:\temp\NewAccounts.csv"
    
    # Create a password profile
    $PasswordProfile = @{
        Password = 'Password123'
        }
    
    # Loop through each user in the CSV file
    foreach ($user in $users) {
        # Create a new user
        $newUser = New-MgUser -DisplayName $user.DisplayName -GivenName $user.FirstName -Surname $user.LastName -UserPrincipalName $user.UserPrincipalName -UsageLocation $user.UsageLocation -MailNickname $user.MailNickname -PasswordProfile $passwordProfile -AccountEnabled
    
        # Assign a license to the new user
        $e5Sku = Get-MgSubscribedSku -All | Where SkuPartNumber -eq 'SPE_E5'
        Set-MgUserLicense -UserId $newUser.Id -AddLicenses @{SkuId = $e5Sku.SkuId} -RemoveLicenses @()
    }
    
    # Export the results to a CSV file
    $users | Export-Csv -Path "C:\temp\NewAccountResults.csv" -NoTypeInformation
    
  3. Sonuçları görmek için çıkış dosyasını gözden geçirin.

Ayrıca bkz.

PowerShell ile Microsoft 365 kullanıcı hesaplarını, lisanslarını ve gruplarını yönetme

PowerShell ile Microsoft 365’i yönetme

Microsoft 365 için PowerShell'i kullanmaya başlama