PowerShell を使用して Microsoft 365 ユーザー アカウントを作成する

この記事は、Microsoft 365 Enterprise および Office 365 Enterprise の両方に適用されます。

PowerShell for Microsoft 365 を使用すると、複数のアカウントを含むユーザー アカウントを効率的に作成できます。

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 国コードです。 たとえば、 米国は米国 、フランスは FR です。 一部の Microsoft 365 サービスは特定の国では利用できないため、この値を指定することが重要です。 アカウントにこの値が構成されていない限り、ユーザー アカウントにライセンスを割り当てることはできません。 詳細については、「 ライセンス制限について」を参照してください。

注意

Microsoft 365 管理センターを使用してユーザー アカウントを作成する方法について説明します。

その他のリソースの一覧については、「 ユーザーとグループの管理」を参照してください。

Graph 用 Azure Active Directory PowerShell モジュールを使用する

まず、Microsoft 365 テナントに接続します

接続後、次の構文を使用して個々のアカウントを作成します。

$PasswordProfile=New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$PasswordProfile.Password="<user account password>"
New-AzureADUser -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

この例では、米国ユーザー Caleb Sills のアカウントを作成します。

$PasswordProfile=New-Object -TypeName Microsoft.Open.AzureAD.Model.PasswordProfile
$PasswordProfile.Password="3Rv0y1q39/chsy"
New-AzureADUser -DisplayName "Caleb Sills" -GivenName "Caleb" -SurName "Sills" -UserPrincipalName calebs@contoso.onmicrosoft.com -UsageLocation US -MailNickName calebs -PasswordProfile $PasswordProfile -AccountEnabled $true

Windows PowerShell 用 Microsoft Azure Active Directory モジュールを使用する

まず、Microsoft 365 テナントに接続します

個別のユーザー アカウントの作成

個別のアカウントを作成するには、次の構文を使用します。

New-MsolUser -DisplayName <display name> -FirstName <first name> -LastName <last name> -UserPrincipalName <sign-in name> -UsageLocation <ISO 3166-1 alpha-2 country code> -LicenseAssignment <licensing plan name> [-Password <Password>]

注意

PowerShell Core では、Windows PowerShell モジュール用の Microsoft Azure Active Directory モジュールとその名前に Msol が含まれるコマンドレットはサポートされていません。 これらのコマンドレットは、Windows PowerShell から実行します。

使用可能な ライセンス プラン名を一覧表示するには、次のコマンドを使用します。

Get-MsolAccountSku

この例では、米国ユーザー Caleb Sills のアカウントを作成し、(Office 365 Enterprise E3) ライセンス プランから contoso:ENTERPRISEPACK ライセンスを割り当てます。

New-MsolUser -DisplayName "Caleb Sills" -FirstName Caleb -LastName Sills -UserPrincipalName calebs@contoso.onmicrosoft.com -UsageLocation US -LicenseAssignment contoso:ENTERPRISEPACK

複数のユーザー アカウントを作成する

  1. 必要なユーザー アカウント情報を含むコンマ区切り (CSV) ファイルを作成します。例:

    UserPrincipalName,FirstName,LastName,DisplayName,UsageLocation,AccountSkuId
    ClaudeL@contoso.onmicrosoft.com,Claude,Loiselle,Claude Loiselle,US,contoso:ENTERPRISEPACK
    LynneB@contoso.onmicrosoft.com,Lynne,Baxter,Lynne Baxter,US,contoso:ENTERPRISEPACK
    ShawnM@contoso.onmicrosoft.com,Shawn,Melendez,Shawn Melendez,US,contoso:ENTERPRISEPACK
    

    注意

    CSV ファイルの最初の行の列名とその順序は任意です。 ただし、ファイルの残りの部分のデータの順序が列名の順序と一致することを確認してください。 また、PowerShell for Microsoft 365 コマンドのパラメーター値の列名を使用します。

  2. 次の構文を使用してください。

     Import-Csv -Path <Input CSV File Path and Name> | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId [-Password $_.Password]} | Export-Csv -Path <Output CSV File Path and Name>
    

    この例では、 ファイル C:\My Documents\NewAccounts.csv からユーザー アカウントを作成し、結果を C:\My Documents\NewAccountResults.csv という名前のファイルに記録します。

    Import-Csv -Path "C:\My Documents\NewAccounts.csv" | foreach {New-MsolUser -DisplayName $_.DisplayName -FirstName $_.FirstName -LastName $_.LastName -UserPrincipalName $_.UserPrincipalName -UsageLocation $_.UsageLocation -LicenseAssignment $_.AccountSkuId} | Export-Csv -Path "C:\My Documents\NewAccountResults.csv"
    
  3. 出力ファイルで結果を確認します。 パスワードを指定していないため、Microsoft 365 によって生成されたランダムなパスワードが出力ファイルに表示されます。

関連項目

Microsoft 365 ユーザー アカウント、ライセンス、PowerShell を使用したグループを管理する

PowerShell で Microsoft 365を管理する

Microsoft 365 用 PowerShell の使用を開始する