PowerShell Exchange Online使用して Microsoft 365 または Office 365 メールボックス情報を表示する

重要

新しい Exchange 管理センターをご確認ください。 エクスペリエンスは、モダンで、インテリジェントで、アクセシビリティが高く、より一層改善されています。 ダッシュボードのカスタマイズやテナント間での移行の管理を行い、改善されたグループ機能などをご利用ください。 今すぐ試してみる!

管理者は、Exchange Online PowerShell を使用して、Microsoft 365 または Office 365 組織内のメールボックスに関する情報を表示する方法について説明します。

Microsoft 365 の PowerShell とOffice 365でできることのいくつかについて説明するために、PowerShell Exchange Onlineのユーザー メールボックスを見てみましょう。

はじめに

Exchange Online PowerShell へ接続するには、「Exchange Online PowerShell に接続する」を参照してください。

Exchange Online の PowerShell でメールボックス情報を表示する

1 つのユーザー メールボックスに関する情報は簡単に取得できます。 たとえば、Ken Myer のメールボックスに関する情報を返すコマンドを以下に示します:

Get-Mailbox -Identity "Ken Myer"

このコマンドの出力は、次のようになります。

Name      Alias       ServerName      ProhibitSendQuota
----      -----       ----------      -----------------
kenmyer   kenmyer     bn1pr02mb038    49.5 GB (53,150,220,288 bytes)

Ken のエイリアスやメールボックス サイズのクォータなどの属性を確認できます。 しかし、 Get-Mailbox コマンドレットによって戻される 4 つのプロパティよりも多くの、Exchange Online メールボックスに関連する情報が含まれています。

特定のメールボックスのすべての情報を表示するコマンドの例を次に示します。

Get-Mailbox -Identity "Ken Myer" | Format-List

このコマンドは、リスト内のメールボックスで使用可能なすべてのプロパティを返すよう、Exchange Online の PowerShell に指示します。 約 200 の異なるプロパティおよびプロパティ値があります。 Format-List コマンドレットや Format-Table コマンドレットを使用して、特定のプロパティ値のみを返すこともできます。 たとえば、このコマンドで Ken Myer の訴訟ホールドに関連したプロパティも参照できます。

Get-Mailbox -Identity "Ken Myer" | Format-List DisplayName, LitigationHoldEnabled, LitigationHoldDate, LitigationHoldOwner, LitigationHoldDuration

Format-List コマンドレットを操作するときに、ワイルドカード文字を使用することもできます。 たとえば、すべての訴訟ホールド プロパティは、文字 litで始まります。 次のコマンドを使用すれば、これと同じ情報を取得できます:

Get-Mailbox -Identity "Ken Myer" | Format-List DisplayName, Lit*

このコマンドは、Ken の DisplayName プロパティの値と、文字 で始まる名前を持つプロパティの値を取得するように Get-Mailbox に指示しますlit。 返される内容の例を次に示します。

DisplayName            : Ken Myer
LitigationHoldEnabled  : False
LitigationHoldDate     :
LitigationHoldOwner    :
LitigationHoldDuration : Unlimited

Identity パラメーターを除外することで、複数のメールボックスに関する情報を返すことができます。 この例では、すべてのメールボックスの DisplayName プロパティと LitigationHoldEnabled プロパティを返します。

Get-Mailbox -ResultSize unlimited | Format-Table DisplayName, LitigationHoldEnabled -Auto

多くの場合、メールボックスのサブセットだけを調べます。 たとえば、訴訟ホールドが割り当てられたすべてのメールボックスのリストを検索するように頼まれたとします。 Get-Mailbox コマンドレットと組み合わせて Where-Object コマンドレットを使用できます。 Where-Object コマンドレットには、対象とするメールボックスのセットを Exchange Online の PowerShell に指示するフィルター文字列が必要です。

最も単純な形式では、フィルター フレーズは 構文 "<PropertyName> -<ComparisonOperator> <PropertyValue>"を使用します。

よく使用されるいくつかの比較演算子を次に示します。

  • eq (等しい、大文字と小文字を区別しない)

  • ne (等しくない、大文字と小文字を区別しない)

  • gt (より大きい)

  • lt (より小さい)

比較演算子の完全な一覧については、「Where-Object」を参照してください。

<PropertyValue>値は プロパティに依存し、文字列、数値、ブール値 ( または )、値$Falseなし ( $True$Null) などの値を指定できます。 スペースが含まれるテキスト値の場合は、値を引用符で囲む必要があります。 数値、ブール値、および $Null 値の前後に引用符は必要ありません。

訴訟ホールドが割り当てられているすべてのメールボックスの例に戻り、フィルター フレーズは です "LitigationHoldEnabled -eq $True"

  • プロパティ名は です LitigationHoldEnabled

  • 比較演算子は です eq

  • 探しているプロパティ値は です $True

フィルター文字列を指定したら、次の構文を使用して、コマンドの Where-Object の部分を構築できます。

Get-Mailbox -ResultSize unlimited | Where-Object {$_.<Filter Phrase>}

コマンドの例を以下に示します。

Get-Mailbox -ResultSize unlimited | Where-Object {$_.LitigationHoldEnabled -eq $True}

もう 1 つの例として、すべてのユーザーが迷惑メール ルールを有効にしていることを確認したいとします。 そのルールを有効にしていないユーザーがいるかどうかを確認する簡単なコマンドを以下に示します。

Get-Mailbox -ResultSize unlimited | Get-MailboxJunkEmailConfiguration | Where-Object {$_.Enabled -eq $False}

これはほんの一例です。 設定に基づいてメールボックスのセットを表示し、Microsoft 365 管理センターでその設定をフィルター処理できない場合は、次の手順を実行します。

  1. 目的の設定に対応するメールボックス プロパティを見つけるには、 コマンドを実行してメールボックスのすべてのプロパティを一覧表示します Get-Mailbox -Identity "<MailboxIdentity" | Select-Object *<MailboxIdentity> はメールボックスの一意識別子です (名前、電子メール アドレス、エイリアスなど)。

  2. 次のように、Office 365 PowerShell コマンドを作成します。Get-Mailbox -ResultSize unlimited | Where-Object {$_.<PropertyName> -<ComparisonOperator> <PropertyValue>}