PowerShellを使用してActive Directory Exchangeレポートを作成します。Microsoft Exchangeは、世界中の企業や組織で使用されている人気のある電子メールサーバーソフトウェアです。Exchangeの主な機能の1つは、サーバーおよびその使用状況のさまざまな側面に関するレポートを生成する能力です。これらのレポートは、Exchangeサーバーのパフォーマンスや健全性、およびそのユーザーの使用パターンに関する貴重な洞察を提供します。
この記事では、強力なコマンドラインスクリプト言語であるPowerShellを使用してこれらのレポートを生成する方法を探ります。一般的なレポートの種類、それらを作成するために使用されるPowerShellコマンドレット、およびPowerShellとExchangeを使用する際のベストプラクティスについて見ていきます。この記事の最後までに、Exchangeレポートを生成および操作する方法を理解する必要があります。
Active Directory Exchangeレポートの作成を始めましょう。
PowerShellでActive Directory Exchangeレポートを作成する
また読む Azure AD監視のデプロイ
前提条件
Exchange PowerShell コマンドを実行するために、以下の前提条件を満たす必要があります。
- ExchangeサーバーでPowerShellコマンドを実行するための適切な権限を持っている必要があります。これらの権限にアクセスすることは、通常、Exchange Organization Managementグループのメンバーであるか、適切な役割と権限が割り当てられていることを意味します。
- コンピュータには必ずExchange Management Shellがインストールされている必要があります。Exchange Management Shellは、Exchangeサーバーを管理するために特別に設計されたコマンドレットを持つPowerShellモジュールです。一般的に、Exchange Management ShellはWindowsサーバー内に組み込まれ、Exchangeサービスを提供しています。
- ExchangeサーバーとリモートPowerShell セッションを確立するためには、Connect-ExchangeServerコマンドレットを使用して、Exchangeの資格情報を使ってサーバーに接続することができます。
- または、Exchange Managementシェル モジュールをPowerShell セッションにインポートします。モジュールをインポートするには、Import-Module コマンドレットを使用し、モジュール名を続けます。
Import-Module ExchangeManagementShell
PowerShell での Get Mail コマンドの使用
PowerShellのGet-Mailコマンドレットは、Microsoft Exchangeでの電子メールメッセージの管理と作業に強力なツールです。送信者、受信者、件名、日付範囲など、様々な基準に基づいて特定の電子メールメッセージや通知のグループを取得できます。また、個々のメッセージの詳細を表示したり、ファイルにエクスポートしてさらに分析するためにGet-Mailコマンドレットを使用できます。
以下は、Get-Mailコマンドのいくつかの例です。
電子メールトラフィックレポートの生成
全体として、Get-MailTrafficSummaryReportコマンドによって生成される電子メールトラフィックレポートは、組織の電子メールトラフィックを分析するために、送信および受信された電子メールの数、受信および送信されたスパムの数、マルウェア、スプーフィングされた電子メールなどの情報を提供することで私たちを助けてくれます。
Get-MailTrafficSummaryReport
上記のコマンドは、デフォルトでは過去7日間のメールトラフィックを取得します。しかし、-StartDate と -EndDate 属性を使用して、最大で過去90日間のメール統計レポートを復元することもできます。以下はいくつかの例です。
インバウンドおよびアウトバウンドメールトラフィックレポート
以下のコマンドレットを–Direction パラメータで実行して、個別にインバウンドおよびアウトバウンドメールトラフィックを取得します。
Get-MailTrafficSummaryReport –Direction Inbound –StartDate 6/13/22 -EndDate 6/15/22
上記のスニペットは、2022年6月13日から2022年6月20日までのインバウンドメールトラフィックの統計情報を取得します。
アウトバウンドトラフィックを表示する場合も同様に行うことができます。
Get-MailTrafficSummaryReport –Direction Outbound
同様に、-EventTypeパラメータの値を使用して、サービスがフィルタリングした後のメッセージに何が起こったかを判断することができます。
Get-MailTrafficSummaryReport –Direction Inbound –EventType GoodMail –StartDate 7/1/22 -EndDate 7/31/22
スプーフィング防止ソフトウェアによってスプーフィングとしてフラグが立てられたメッセージについて学びたい場合。
Get-MailTrafficSummaryReport –EventType SpoofMail
特定の期間中のExchange Serverの特定の構成とメールトラフィックに応じて、コマンドの出力が異なることに注意してください。
Exchangeセントと受信したメールレポート
さらに、管理者はしばしばユーザーがどれだけのメールを送受信したかを知りたがります。 Get-MailTrafficTopReportコマンドレットを使用して、これらのメール統計情報を表示できます。次のコマンドレットは、過去7日間にわたってユーザーによって送受信されたメールの数を表示します。
Get-MailTrafficTopReport -EventType TopMailUser
指定された期間中にユーザーが受信したメールの数を表示します。
Get-MailTrafficTopReport -EventType TopMailUser –Direction Inbound –StartDate 7/15/22 -EndDate 7/20/22
さらに読むOffice 365レポーティングを試す
Office 365メールフローステータスレポート
このコマンドを使用する前に、認証されていることと、ハイブリッドサーバーがOffice 365に統合されていることを確認してください。 または、次のコマンドでOffice 365に直接接続して認証することもできます。
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUrl https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
メールフロー状態レポートは、コマンド Get-MailFlowStatusReport によって生成され、エッジ保護によってブロックされたインボウングおよびアウトボウングのメールに関する情報を表示します。
Get-MailFlowStatusReport | ft Date, EventType, MessageCount
さらに読む Office 365 ユーザー レポートの展開
メール保護レポートの生成
とりわけ、メール保護レポートは、Exchange Online Protection (EOP) によるスパムやマルウェアの特定、メールフロールールやDLPルール、その他の基準に一致するメールの特定に役立ちます。
Office 365 スパム レポート
全体として、Get-MailDetailSpamReportコマンドは、私たちの組織によって送受信されたスパムメッセージに関する情報を表示します。このコマンドレットは、過去10日間に検出されたスパムメッセージのリストを表示します。
したがって、Microsoft 365は、私たちの組織から送信された電子メールをスパムとして拒否またはマークする場合があります。以下のコマンドレットを実行して、それらの電子メールを特定してください:
Get-MailDetailSpamReport –Direction Outbound
また、スパム対策フィルターは時々良い着信電子メールをスパムとして分類することがあります。管理者は、それらの電子メールをチェックしてドメインまたは特定のアドレスをホワイトリストに登録することができます。着信スパムメッセージを表示するには:
Get-MailDetailsSpamReport –Direction Inbound
特定のユーザーが特定の期間に送信したスパムを表示するには、-StartDateおよび-EndDateパラメーターを使用します:
Get-MailDetailsSpamReport –SenderAddress marion@infrasos.com -StartDate 7/15/22 -EndDate 7/20/22
ユーザーが受信したスパムを表示するには、RecipientAddressをSenderAddressの代わりに使用してコマンドレットを実行します。
Exchange Onlineマルウェアレポート
次に、Get-MailDetailATPReportコマンドレットは、マルウェアを含むメールを特定するのに役立ちます。このコマンドレットを実行して、過去10日間に送受信されたすべてのマルウェアを確認してください。
組織から送信されたマルウェアを表示するには、以下のスニペットを使用できます。
Get-MailDetailATPReport –Direction Outbound
また、受信方向を使用すると、組織が受信した検出されたマルウェアのメールもリストアップされます。
Get-MailDetailATPReport –Direction Inbound
特定のユーザーによって送信されたマルウェアを表示するためには、-RecipientAddressパラメーターを使用します。
Get-MailDetailATPReport –RecipientAddress marion@infrasos.com
トランスポートルールの特定
PowerShellコマンドGet-MailDetailTranportRuleReportは、トランスポートルールで指定された条件に一致するメッセージに関する情報を表示します。このコマンドは、適用されたトランスポートルールと、過去10日間のメール詳細を示します。
以下の例は、2021年7月15日から2022年7月20日までの間に定義されたトランスポートルールの条件を満たした[email protected]から送信されたすべてのメッセージを取得します。
Get-MailDetailTransportRuleReport -TransportRule r1 –StartDate 7/15/22 -EndDate 7/20/22 -SenderAddress marion@infrasos.com
以下の出力は、前述のコマンドによって生成されたトランスポートルールレポートの例です。
メールとExchangeトランスポートルールを特定し、メッセージを別のメールアドレスにリダイレクトするために、以下のコマンドレットを実行してください。
Get-MailDetailTransportRuleReport –Action RedirectMessage
DLPポリシーによって検出されたメールを監視する
Please note that the , , ,
ほとんどの組織は、データ漏洩防止(DLP)ポリシーを設定して機密性の高い電子メールデータを保護しています。DLP ポリシーで定義された条件に一致するメッセージを特定するために、コマンドレット Get-MailDetailDLPPolicyReport を使用できます。
Get-MailDetailDLPPolicyReport
さらに読む Office 365 パスワードレポートの使用
Microsoft 365 メッセージ追跡レポートを取得
電子メールのフローを監視するために、ほとんどの管理者はメッセージ追跡を好みます。メッセージ追跡は、送信、受信、破棄、削除されたメッセージに関する詳細な情報を管理者に提供します。詳細には、以下が含まれます。
- 送信者アドレス
- 受信者アドレス
- 送信/受信日
- メール件名
- メール配信状態
- メールサイズ
- メッセージトレースIDなど
- ソースIPアドレス
トレースレポートを取得するには、Get-MessageTraceコマンドを実行できます。デフォルトでは、このコマンドレットは過去48時間のデータを取得します。–StartDateおよび–EndDateパラメータを使用して、過去10日間のデータを取得できます。Start-HistoricalSearchおよびGet-HistoricalSearchコマンドレットを使用して、10日を超える期間のメッセージデータを検索できます。
基本的に、以下の例は指定された期間中に特定のユーザーが送信したメッセージのトレース情報を取得します。
Get-MessageTrace –SenderAddress marion@infrasos.com -StartDate 7/25/22 -EndDate 7/30/22
メッセージトレースレポートをCSVファイルにエクスポートするには:
Get-MessageTrace | Export-CSV -NoTypeInformation
メッセージトレースの詳細をフィルタリングする場合は、出力をグリッドビューに送信できます:
Get-MessageTrace | Out-GridView
上記のコマンドを使用すると、
- 件名によるトレースメッセージを絞り込んだり、
- メッセージの配信状況には、配信済み、失敗、保留中、展開済み、隔離中、スパムフィルタリング、不明が含まれます。
「PowerShellでActive Directory Exchangeレポートを作成する」という記事をお読みいただき、ありがとうございました。本記事はこれで終了です。
PowerShellでActive Directory Exchangeレポートを作成するまとめ
まとめると、Microsoft Exchangeは当社のメールサーバーのパフォーマンスと利用状況についての豊富な情報と洞察を提供しています。PowerShellを使用してレポートを生成することで、この情報にアクセスし、Exchangeサーバーの健全性と効率を向上させることができます。
システム管理者であろうと、ユーザーであろうと、PowerShellを使用してExchangeレポートを生成し、操作する方法を理解することは貴重なスキルになるでしょう。本記事で説明されている例とベストプラクティスに従えば、この強力なツールを使いこなすことができるでしょう。
Source:
https://infrasos.com/create-active-directory-exchange-reports-with-powershell/