Office 365 PowerShell のレポート シナリオ

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

次の PowerShell のシナリオを使用すると、ユーザー レポート、配布グループ、未使用のメールボックスを作成したり、フィルター処理や並べ替えを使用したりできます。

Office 365 のライセンス付与済みおよびライセンス未付与ユーザーをレポートする

PowerShell を使用すると、ライセンス付与済みおよびライセンス未付与のユーザーの一覧を PowerShell ウィンドウに表示したり、ファイルに保存したりすることができます。

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

ライセンスを持つユーザー アカウントを 1 画面ずつ確認するには、このコマンドを使用します。

Get-MsolUser | Where-Object {$_.isLicensed -eq $true} | More

スキャンおよび検索を簡単にするためにテキスト ファイルにこのリストをエクスポートするには、二重引用符の間にパスおよびファイル名を入力します。その際は、説明のテキストと < と > の文字は削除します。

$fileName="<path and name of a text file, example: c:\O365reports\LicensedUsers.txt>"
Get-MsolUser | Where {$_.isLicensed -eq $true} | Out-File  $fileName

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

詳細に分析するためにこのリストを CSV ファイルにエクスポートして Microsoft Excel にインポートするには、パスおよびファイル名を入力し、そのコマンドを実行します。

$fileName="<path and name of a CSV file, example: c:\O365reports\LicensedUsers.csv>"
Get-MsolUser | Where-Object {$_.isLicensed -eq $true} | Export-Csv $fileName -NoTypeInformation

ライセンスが付与されていないユーザーを 1 人ずつ画面に表示するには、次のコマンドを実行します。

Get-MsolUser -UnlicensedUsersOnly | More

スキャンおよび検索を簡単にするためにテキスト ファイルにこのリストをエクスポートするには、パスおよびファイル名を入力し、そのコマンドを実行します。

$fileName="<path and name of a text file, example: c:\O365reports\Non-LicensedUsers.txt>"
Get-MsolUser -UnlicensedUsersOnly | Out-File  $fileName

分析用にこのリストを CSV ファイルにエクスポートして Microsoft Excel にインポートするには、パスおよびファイル名を入力し、そのコマンドを実行します。

$fileName="<path and name of a CSV file, example: c:\O365reports\Non-licensedUsers.csv>"
Get-MsolUser -UnlicensedUsersOnly | Export-Csv $fileName -NoTypeInformation

Office 365 配布グループについてレポートする

配布グループは、Microsoft Outlook などの電子メール アプリケーションで、組織のユーザーの集合に電子メールを送信するために使用します。 このシナリオでは、Office 365 サブスクリプションの配布グループ用にリストを作成します。

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

このコマンドを使用すると、既存の配布グループの一覧を 1 画面ずつ表示できます。

Get-Recipient | Where { $_.RecipientType -eq "MailUniversalDistributionGroup"} | More

スキャンおよび検索を簡単にするためにテキスト ファイルにこのリストをエクスポートするには、パスおよびファイル名を入力し、そのコマンドを実行します。

$fileName="<path and name of a text file, example: c:\O365reports\DistGroups.txt>"
Get-Recipient | Where { $_.RecipientType -eq "MailUniversalDistributionGroup"} | Out-File  $fileName

詳細に分析するためにこのリストを CSV ファイルにエクスポートして Microsoft Excel にインポートするには、パスおよびファイル名を入力し、そのコマンドを実行します。

$fileName="<path and name of a CSV file, example: c:\O365reports\DistGroups.csv>"
Get-Recipient | Where { $_.RecipientType -eq "MailUniversalDistributionGroup"} | Export-Csv $fileName -NoTypeInformation

アクティブでない Exchange のメールボックス一覧を取得する

組織を辞めたユーザーのメールボックスが、Office 365 サブスクリプションの記憶域を占有した状態でそのまま残っていることがあります。このシナリオでは、このような古いメールボックスを見つけ、削除する適切なアクションを実行できるようにします。このシナリオでは、少なくとも 30 日間メールボックスにログインしていないすべてのユーザーを一覧表示する方法について説明します。

注: レポートでは LastLogin の日付は提供されない場合もありますが、DaysInactive のカウントは常にあります。 訴訟ホールド下のメールボックスもレポートに表示される場合がありますが、それらは必ずしもクリーンアップや削除を必要とするメールボックスではありません。

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

このコマンドでは、少なくとも 30 日間アクティブでないユーザーの一覧を、一度に 1 画面ずつ表示します。

Get-StaleMailboxDetailReport | Sort UserName -Unique | Select TenantName, UserName, WindowsLiveID, LastLogin, DaysInactive | More

最低 30 日アクティブでないユーザーの一覧を作成し、CSV ファイルにエクスポートするには、パスとファイル名を入力して、そのコマンドを実行します。

$fileName="<path and name of a CSV file, example: c:\O365reports\StaleMailboxes.csv>"
Get-StaleMailboxDetailReport | Sort UserName -Unique | Select TenantName, UserName, WindowsLiveID, LastLogin, DaysInactive | Export-Csv $fileName -NoTypeInformation

フィルターと並べ替えを使用してユーザーを表示する

リストをフィルター処理するには、Where コマンドを使用し、リストの順序を指定するには Sort コマンドを使用し、表示するプロパティのセットを指定するには Select コマンドを使用します。

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

たとえば、営業部門のメンバーのリストで、それらのユーザーのユーザー プリンシパル名 (UPN)、表示名を参照し、ライセンスが付与されているか、すべて UPN で並べ替えられているかを確認する必要があるとします。

  • Where コマンドを使用すると、部門のプロパティが「Sales」に設定されているユーザー アカウントのみを指定できます。

  • Sort コマンドを使用すると、UserPrincipalName プロパティで並べ替えることができます。

  • Select コマンドを使用すると、UserPrincipalName、DisplayName、および isLicensed プロパティを指定できます。

  • 最後に、More コマンドを使用すると、一覧を 1 画面ずつ表示できます。

結果のコマンドは次のとおりです。

Get-MsolUser | Where { $_.Department -eq "Sales" } | Sort UserPrincipalName | Select UserPrincipalName,DisplayName,isLicensed | More

営業とマーケティング部門、両方のメンバーを全員一覧表示する必要があるとします。この場合、Where コマンドの抽出条件を拡張し両部門を含め、Select コマンドに Department プロパティを追加します。結果のコマンドは次のとおりです。

Get-MsolUser | Where { $_.Department -eq "Sales" -or $_.Department -eq "Marketing" } | Select UserPrincipalName,DisplayName,isLicensed,Department | More

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

関連項目

PowerShell for Office 365 管理者

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

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

User management scenarios for Office 365 PowerShell (Office 365 の PowerShell のユーザー管理シナリオ)

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

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

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

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

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

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

×