使用 PowerShell 建立 Microsoft 365 用戶帳戶

本文適用於 Microsoft 365 企業版和 Office 365 企業版。

您可以使用 Microsoft Graph PowerShell 有效率地建立用戶帳戶,包括多個帳戶。

當您在PowerShell中建立用戶帳戶時,一律需要特定帳戶屬性。 其他屬性並非必要,但很重要。 請參閱以下表格。

屬性名稱 必要? 描述
DisplayName

這是 Microsoft 365 服務中使用的顯示名稱。 例如, Caleb Sills
UserPrincipalName

這是用來登入 Microsoft 365 服務的帳戶名稱。 例如,CalebS@contoso.onmicrosoft.com
FirstName

LastName

LicenseAssignment

這是授權方案 (也稱為 授權方案或 SKU) ,可用授權會從中指派給用戶帳戶。 授權會定義可供帳戶使用的 Microsoft 365 服務。 當您建立帳戶時,不需要將授權指派給使用者,但該帳戶必須具有存取 Microsoft 365 服務的授權。 建立使用者帳戶之後,您有 30 天的時間進行使用者帳戶授權。
Password

如果您未指定密碼,則會指派隨機密碼給使用者帳戶,並可在命令結果中看見此密碼。 如果您指定密碼,它必須是下列類型的 8 到 16 個 ASCII 文字字元:小寫字母、大寫字母、數字和符號。
UsageLocation

這是有效的 ISO 3166-1 alpha-2 國碼。 例如,美國 為US法國為FR。 請務必提供此值,因為某些 Microsoft 365 服務不適用於特定國家/地區。 除非帳戶已設定此值,否則您無法將授權指派給用戶帳戶。 如需詳細資訊,請 參閱關於授權限制

注意事項

另請參閱瞭解如何使用 Microsoft 365 系統管理中心 建立用戶帳戶

如需其他資源的清單,請 參閱管理使用者和群組

使用 Microsoft Graph PowerShell 建立 Microsoft 365 用戶帳戶

注意事項

Azure Active Directory 模組正由 Microsoft Graph PowerShell SDK 取代。 您可以使用 Microsoft Graph PowerShell SDK 來存取所有的 Microsoft Graph API。 如需詳細資訊,請參閱 開始使用 Microsoft Graph PowerShell SDK

首先,使用 Microsoft Entra DC 系統管理員雲端應用程式 管理員全域系統管理員帳戶來連線到您的 Microsoft 365 租使用者。 本文中的 Cmdlet 需要許可權範圍 User.ReadWrite.All'List subscribedSkus' 圖形 API 參考頁面中所列的其中一個其他許可權。 本文中的某些命令可能需要不同的許可權範圍,在此情況下,這會在相關章節中註明。

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

建立個別使用者帳戶

若要建立個別帳戶,請使用下列語法:

$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

此範例會為美國使用者 John Doe 建立帳戶。

$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

建立多個使用者帳戶

  1. 建立包含必要使用者帳戶資訊的逗點分隔值 (CSV) 檔案。 例如:

    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
    

    注意事項

    CSV 檔案第一列中的數據行名稱及其順序是任意的。 但請確定其餘檔案中的數據順序符合數據行名稱的順序。 並且在 PowerShell for Microsoft 365 命令中使用參數值的數據行名稱。

  2. 此範例會從檔案 C:\temp\NewAccounts.csv 建立用戶帳戶,並將結果記錄在名為 C:\temp\NewAccountResults.csv的檔案中。

    # 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. 檢閱輸出檔以查看結果。

另請參閱

以 PowerShell 管理 Microsoft 365 使用者帳戶、授權和群組

使用 PowerShell 管理 Microsoft 365

開始使用適用於 Microsoft 365 的 PowerShell