Office 365 PowerShell のユーザー管理シナリオ

重要:  この記事は機械翻訳されています。機械翻訳についての「免責事項」をお読みください。この記事の英語版を参照するには、ここをクリックしてください。

これらの PowerShell シナリオを使用して、ファイルからユーザー アカウントをすぐに追加します。また、ライセンスの割り当て、配布グループのメンバーシップの管理、パスワードの設定を行います。

複数のユーザーのインポートを自動化する

複数のユーザーを Office 365 にインポートする作業を自動化して、時間を節約することができます。 大量のユーザーをインポートするには、まず、関連するユーザー情報を使用して、コンマ区切り値 (CSV) ファイルを準備する必要があります。 ユーザー アカウントの作成に必要な最小限の情報は、表示名とユーザー プリンシパル名 (UPN) です。

UPN とは、電子メール アドレス形式でのユーザー名のことです。ユーザー名 (または "username") で始まり、"アットマーク"、Office 365 サブスクリプションのインターネット ドメイン名の順に続きます。UPN の例は、belindan@contoso.com です。また、場所、連絡先電話番号、住所など、ユーザー アカウントのプロパティに書き込めるデータも追加できます。

UPN や表示名など、基本的なユーザー アカウント プロパティの場合は、CSV ファイルに次の 2 つの列見出しを準備します。

  • UserPrincipalName、DisplayName

次に、UPN と表示名を入力して、コンマで区切り、CSV の各行に新しいユーザー アカウントを追加します。

注: それぞれの新しいアカウントにパスワードを指定していないため、Office 365 によってパスワードが生成されます。

C:\O365Admin\NewUsers.CSV などの、アクセス可能な場所に CSV ファイルを保存します。これで、ユーザー アカウントを作成する準備が整いました。

開始するには、Windows PowerShell 用 Microsoft Azure Active Directory モジュールで Office 365 に接続する必要があります。手順については、「Office 365 PowerShell への接続」を参照してください。

次に、二重引用符の間にパスおよびファイル名を入力します。その際に、説明のテキストと < と > の文字は削除します。

$fileName="<path and file name of the CSV file, example C:\O365Admin\NewUsers.CSV>"
Import-Csv $fileName | ForEach { New-MsolUser -UserPrincipalName  $_.UserPrincipalName -DisplayName $_.DisplayName }

Windows PowerShell 用 Microsoft Azure Active Directory モジュールで、そのコマンドを実行します。

さらに詳細なユーザー アカウント情報を作成するには、次の列見出しを CSV ファイルに準備して、必要な数のユーザー行を入力します。

  • UserPrincipalName,DisplayName,FirstName,LastName,Title,Password,UsageLocation,Office,Department,MobilePhone,StreetAddress,City,State,PostalCode,Country

注: Import-CSV コマンドの $_. 要素は各列見出しを参照する必要があるため、列見出しにスペースは含めないでください。UserPrincipalName と DisplayName のみが必須フィールドとなり、空欄はスキップされます。 UsageLocation コードは、ユーザーの地域を示す 2 文字の ISO コードです。

C:\O365Admin\NewUsers.CSV などの、アクセス可能な場所に CSV ファイルを保存します。これで、ユーザー アカウントとしてユーザーをインポートする準備ができました。

CSV ファイルのファイル名を入力し、そのコマンドを実行します。

$fileName="<path and file name of the CSV file, example C:\O365Admin\NewUsers.CSV>"
Import-Csv $fileName | ForEach { New-MsolUser -UserPrincipalName   $_.UserPrincipalName -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -Title $_.Title -Department $_.Department -Office $_.Office -MobilePhone $_.MobilePhone -StreetAddress $_.StreetAddress -City $_.City -State $_.State -PostalCode $_.PostalCode -Country $_.Country -Password $_.Password }

Office 365 のライセンスを割り当てる

ユーザーが Office 365 にフル アクセスできるようにするには、Office 365 ライセンスを割り当てる必要があります。 このシナリオでは、ユーザー アカウントにライセンスを割り当てます。

開始するには、Windows PowerShell 用 Microsoft Azure Active Directory モジュールで Office 365 に接続する必要があります。手順については、「Office 365 PowerShell への接続」を参照してください。

ライセンスをユーザーに割り当てる前に、ユーザーの地域を示す 2 文字の ISO コードに基づいて、ユーザー アカウントの利用場所を設定する必要があります。 利用場所は、サービスが使用される国を指定し、その地域で利用できるライセンス付き機能を決定します。たとえば、US は米国を示します。次に、ユーザー アカウントの UPN に基づいた利用場所の設定例を示します。

Set-MsolUser -UserPrincipalName user@contoso.com -UsageLocation US

利用可能なライセンス、アカウント SKU、割り当て可能な残りの数量を一覧表示するには、次のコマンドを実行します。

Get-MsolAccountSku

次に、ライセンスとユーザー アカウントの UPN を入力して、Windows PowerShell 用 Microsoft Azure Active Directory モジュールで、そのコマンドを実行します。

$license="<the appropriate value of AccountSkuId from the Get-MsolAccountSku command>"
$userUPN="<the UPN of the user account>"
UserLicense -UserPrincipalName $userUPN -AddLicenses $license

複数のユーザーにライセンスを割り当てる

このシナリオでは、1 つのライセンスを 1 つのユーザー アカウントに割り当てます。複数のユーザーにライセンスを割り当てる場合は、さらに追加の手順が必要になりますが、大量のユーザー アカウントが存在する組織では、この作業に時間を割く価値は十分にあります。

開始するには、Windows PowerShell 用 Microsoft Azure Active Directory モジュールで Office 365 に接続する必要があります。手順については、「Office 365 PowerShell への接続」を参照してください。

初めに、利用可能なライセンス、アカウント SKU、割り当て可能な残りの数量を一覧表示するために、次のコマンドを実行します。

Get-MsolAccountSku

ライセンスを付与されていないユーザーを一覧表示するには、このコマンドを使用します。

Get-MsolUser -UnlicensedUsersOnly

ライセンスを付与されていないユーザーの一覧を CSV ファイルに保存するには、パスとファイル名を入力して、そのコマンドを実行します。このファイルで、ユーザー アカウントを選択して、ライセンスを割り当てることができます。

$fileName="<path and file name of the CSV file, example: c:\reports\Unlicensed_Users.CSV>"
Get-MsolUser -UnlicensedUsersOnly | Export-Csv $fileName

また、Where コマンドを使用して、より詳細な条件に基づき (例: 米国にいるユーザー)、ライセンスを付与されていないユーザーを一覧表示できます。次に例を示します。

Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.Country -eq "United States"}

これらのコマンドを使用して、ユーザー アカウントのプロパティとその必須の値を指定し、ライセンスを付与されていない特定のユーザーのセットを表示して、そのコマンドを実行します。

$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}

ユーザー アカウントのプロパティの一覧を取得するには、任意のユーザー アカウント UPN を入力して、そのコマンドを実行します。

$userUPN="<the UPN of any user account>"
Get-MsolUser -UserPrincipalName $userUPN | Select * | More

次の例では、ライセンスのないロンドン市のユーザーがすべて表示されます。

$userPropertyName="City"
$userPropertyValue="London"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}

ユーザー アカウントのセットを特定したら、Set-MsolUserLicense コマンドレットと結合して、ライセンスを各ユーザー アカウントに割り当てます。ライセンス、プロパティ名とその値を入力し、コマンドを実行します。

$license="<the appropriate value of AccountSkuId from the Get-MsolAccountSku command>"
$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}  | Set-MsolUserLicense -AddLicenses $license

次の例では、ライセンスを付与されていないロンドン市のすべてのユーザー アカウントに Contoso の Office 365 E5 ライセンスを割り当てています。

$license="contoso:ENTERPRISEPACK"
$userPropertyName="City"
$userPropertyValue="London"
Get-MsolUser -All -UnlicensedUsersOnly | Where {$_.$userPropertyName -eq $userPropertyValue}  | Set-MsolUserLicense -AddLicenses $license

配布グループの受信者を管理する

配布グループを使用して、電子メールの配布リストを作成できます。配布グループは、Microsoft Outlook などの電子メール アプリケーションのみを使用して、ユーザーの集合体に電子メールを送信します。 このシナリオでは、PowerShell を使用して、配布グループの受信者を管理します。

開始するには、Exchange Online に接続する必要があります。アカウント ユーザー名とパスワードを使用して Exchange Online に接続するには、「Exchange Online PowerShell への接続」を参照してください。Microsoft Exchange Online リモート PowerShell モジュールをインストールして、MFA に接続するには、「多要素認証を使用して Exchange Online PowerShell に接続する」を参照してください。

受信者を配布グループに追加するには、ユーザー アカウントの配布グループ名と UPN を入力し、そのコマンドを実行します。

$distName="<name of the distribution group>"
$userUPN="<the UPN of the user account>"
Add-DistributionGroupMember -Identity $distName -Member $userUPN

受信者を配布グループから削除するには、ユーザー アカウントの配布グループ名と UPN を入力し、そのコマンドを実行します。

$distName="<name of the distribution group>"
$userUPN="<the UPN of the user account>"
Remove-DistributionGroupMember -Identity $distName -Member $userUPN

複数のユーザー アカウントのパスワードを設定する

ユーザー アカウントのグループにパスワードを設定するには、このシナリオを使用します。 たとえば、週に一度手伝いに来る新しいボランティア グループがいる場合や、カンファレンスでワーク ステーションのデモを行う場合などです。

再利用できるアカウントのパスワードを定期的にリセットするには、パスワードの変更を一括で行うと便利です。部署やその他の条件ごとにユーザー グループを指定して、その条件に基づいてパスワードを一括でリセットできます。 まず、Office 365 のユーザー アカウント名を CSV ファイルにエクスポートします。

ユーザー アカウントのプロパティと特定の値に基づいてリストを CSV ファイルにエクスポートするには、プロパティ名、値、CSV ファイル名を入力して、そのコマンドを実行します。

$userPropertyName="<name of the user property>"
$userPropertyValue="<value of the user property>"
$fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
Get-MsolUser | Where {$_.$userPropertyName -eq $userPropertyValue} | select UserPrincipalName | Export-Csv $fileName -NoTypeInformation

次の例では、ボランティア部門のすべてのメンバーを c:\O365admin\volunteerslist.csv という名前のファイルにエクスポートします。

$userPropertyName="Department"
$userPropertyValue="Volunteers"
$fileName="c:\O365admin\volunteerslist.csv"
Get-MsolUser | Where {$_.$userPropertyName -eq $userPropertyValue} | Select UserPrincipalName | Export-Csv $fileName -NoTypeInformation

パスワードをリセットする前に、CSV ファイルに含まれる名前を確認して、正しいユーザーが指定されていることをチェックします。 CSV 形式でユーザーの一覧を確認したら、次の 3 つの方法で各ユーザーに新しいパスワードを作成して割り当てます。

  1. 新しいパスワードを指定し、同じパスワードを CSV ファイル内のすべてのユーザーに割り当てます。

    新しいパスワードと CSV のファイル名を入力して、そのコマンドを実行します。

    $pass="<the new password>"
    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword $pass -ForceChangePassword $True}
  2. CSV ファイル内の各ユーザーに新しいパスワードを手動で定義します。

    このオプションの場合は、CSV ファイルを変更する必要があります。Password と表示されている UserPrincipalName の横に列を追加して、リスト内のすべてのユーザーにパスワードを割り当てます。CSV のファイル名を入力して、そのコマンドを実行します。

    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -NewPassword $_.Password -ForceChangePassword $True}
  3. Office 365 により、CSV ファイル内の各ユーザー アカウントにパスワードが自動的に生成されます。

    CSV のファイル名を入力して、そのコマンドを実行します。

    $fileName="<path and file name of the CSV file, example c:\O365Admin\userlist.csv>"
    Import-Csv $fileName | ForEach {[string[]]$a+= $_.UserPrincipalName + "  " + (Set-MsolUserPassword -UserPrincipalName $_.UserPrincipalName -ForceChangePassword $True)} ;$a

注: これらの 3 つのオプションはすべて、ユーザーがユーザー アカウントを使用して初めてサインインするときに、パスワードの変更を強制します。これを防ぐには、Set-MSolUserPassword コマンドから -ForceChangePassword $True を削除します。

注: 機械翻訳についての免責事項: この記事の翻訳はコンピューター システムによって行われており、人間の手は加えられていません。マイクロソフトでは、英語を話さないユーザーがマイクロソフトの製品、サービス、テクノロジに関するコンテンツを理解するのに役立てるため、こうした機械翻訳を提供しています。記事は機械翻訳されているため、用語、構文、文法などに誤りがある場合があります。

関連項目

PowerShell for Office 365 管理者

Office 365 PowerShell scenarios (Office 365 PowerShell のシナリオ)

Setup scenarios for Office 365 PowerShell (Office 365 PowerShell の設定シナリオ)

Reporting scenarios for Office 365 PowerShell (Office 365 PowerShell のシナリオ レポート)

More functionality scenarios for Office 365 PowerShell (Office 365 PowerShell のその他の機能用シナリオ)

Office 365 PowerShell community resources (Office 365 PowerShell のコミュニティ リソース)

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×