PowerShell を使用して Microsoft 365 ユーザー アカウントを作成する
この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。
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 |
いいえ |
パスワードを指定しない場合、ランダムなパスワードがユーザー アカウントに割り当てられ、パスワードはコマンドの結果に表示されます。 パスワードを指定する場合は、小文字、大文字、数字、および記号の ASCII テキスト文字を 8 から 16 文字にする必要があります。 |
UsageLocation |
いいえ |
これは有効な ISO 3166-1 alpha-2 国コードです。 たとえば、 米国の場合は米国 、フランスの 場合は 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 管理者 または Cloud Application Admin アカウントを使用して 、Microsoft 365 テナントに接続します。 この記事のコマンドレットには、アクセス許可スコープ User.ReadWrite.All 、または 'List subscribedSkus' Graph 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
複数のユーザー アカウントを作成する
必要なユーザー アカウント情報を含むコンマ区切り (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 コマンドのパラメーター値には列名を使用します。
この例では、ファイル 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
出力ファイルで結果を確認します。
関連項目
Microsoft 365 ユーザー アカウント、ライセンス、PowerShell を使用したグループを管理する