メールの衛生対策が100%効果的ではないことは秘密ではありません。悪意のあるメッセージは時折、検出されずに通過します。そうした場合、Office 365のすべてのメールボックスからメールを検索して削除する方法を知る必要があります。
もしもあなたがOffice 365の管理者であれば、上記で説明された状況に精通しているはずです。スパムやフィッシング攻撃は重大なセキュリティインシデントと見なされます。言うまでもなく、メールの管理者は速やかに行動を起こして、ユーザーとインフラへの潜在的な脅威を最小限に抑える必要があります。
Office 365のセキュリティとコンプライアンスポータルでコンテンツ検索を実行するためには、クリックして移動する必要がありますが、それらのコンテンツを削除するにはPowerShellを使用する必要があります。ですから、結局はPowerShellを使用することになるのであれば、なぜすべてをPowerShellで行わないのでしょうか?
この記事では、セキュリティとコンプライアンスのPowerShellコマンドレットを使用して、Office 365のすべてのメールボックスから悪意のあるメッセージを検索して削除する方法を学びます。
要件
この記事は基本的にはハウツーですので、一緒に進めるつもりであれば、いくつかの要件があります。
- アドミンアカウントは、メールボックスを検索し、メッセージを削除するために十分なOffice 365の権限を持っている必要があります。
– メールボックスを検索するために必要な権限: アカウントはeDiscovery Managerロールグループのメンバーであるか、Compliance Searchの管理ロールが割り当てられている必要があります。
– メッセージを削除するために必要な権限: アカウントはOrganization Managementロールグループのメンバーであるか、Search And Purgeの管理ロールが割り当てられている必要があります。
– メッセージをプレビューするために必要な権限: アカウントはeDiscovery Managerロールグループのメンバーであるか、Previewの管理ロールが割り当てられている必要があります。 - PowerShellは、Office 365セキュリティ&コンプライアンスセンターのPowerShellに接続されている必要があります。MFAなしで接続するには、このリンクをたどってください:MFAなしで接続。MFAを使用して接続するには、このリンクをたどってください:MFAを使用して接続。
削除するメッセージに関する情報を収集する
コンテンツの作成を開始する前に、削除するメッセージを検索するために、まず関連情報をすべて収集する必要があります。すでにすべての情報が提供されている場合を除いては。
メッセージに関する詳細をできるだけ多く知ることは、検索クエリの作成方法を決定するのに役立ちます。たとえば、取得する必要がある最も基本的な情報のいくつかは次のとおりです:
- 送信者のメールアドレスは何ですか?
- メッセージの件名は何ですか?
- ファイル添付はありますか、ファイル名は何ですか?
- 最初に報告された発生日はいつですか?
- 受信者は誰ですか?
ほとんどの場合、上記にリストされている情報のうち1つまたは2つを使用して検索クエリを作成するのに十分です。それから、どの検索パラメータが最も適用されるかを判断するのはあなた次第です。
Office 365のメールコンテンツ検索の作成と実行
メッセージに関する必要な情報をすべて取得できたことを確認したら、PowerShellを起動してコンテンツ検索の作成を開始する時が来ました。
削除するスパム/フィッシングメッセージには次のプロパティがあるとします:
- 件名:銀行のパスワードを変更する必要があります
- 送信日:2020年5月12日
上記のメッセージプロパティを使用して、New-ComplianceSearch
を使用して検索クエリを作成します。検索結果をできるだけ正確に保つためには、適切に設定された検索基準が重要です。
New-ComplianceSearch
コマンドレットには、いくつかのパラメータとスイッチが付属していますが、メールボックスのコンテンツ検索を作成するためには、次のパラメータが使用されます。
Name
– これはコンテンツ検索オブジェクトに割り当てられる名前を受け入れます。任意の名前を使用できます。ExchangeLocation
– これは検索の対象となるExchangeの場所を受け入れます。これはグループまたはメールボックスであることができます。この記事では、検索対象のすべてのメールボックスを対象にするために、Allという値を使用します。ContentMatchQuery
– このパラメータは、検索結果の正確さを決定する主要な要素です。受け入れられるクエリ形式は、KQL(キーワードクエリ言語)またはキーワードクエリ言語の形式です。
コンテンツ検索を作成するには、以下のコードをコピーしてPowerShellコンソールに貼り付けます。パラメータ値を適切なものに変更してください。この例では、検索の名前はPhish1であり、クエリは件名と送信済みの値を組み合わせています。
キーワード検索とコンテンツ検索のキーワードクエリと検索条件ページを訪れ、キーワードの使用方法について詳しく学びます。
上記のコードをPowerShellで実行すると、以下のような出力が表示されます。

この時点で、コンテンツ検索ジョブは作成されていますが、検索はまだトリガーされていません(NotStarted)。
コンテンツ検索を開始するには、Start-ComplianceSearch
コマンドレットを使用します。このコマンドレットに-Identity
パラメータを指定し、作成したコンテンツ検索ジョブの名前を指定する必要があります。
Office 365のメールコンテンツ検索を開始するには、以下のコードをコピーしてPowerShellコンソールに貼り付けます。
上記のコードを実行した後、画面には出力されません。次に、検索の状態を監視する必要があります。検索の状態を監視するには、以下のコードをPowerShellで使用します。
上記のコードを実行すると、以下のような出力が表示されます。出力の中で、コンテンツ検索ジョブの状態がCompletedであることが示されています。

上記の出力からわかるように、返されるプロパティは制限されており、見つかった一致の数は表示されません。コンテンツ検索結果のすべてのプロパティを取得するには、以下のコマンドを実行できます。
上記のコマンドを実行すると、以下のような結果が表示されます。この場合、検索条件に一致するアイテムは16個あります。

検索結果のプレビュー(オプション)
検索結果のプレビューはオプションですが、慎重に行いたい方にはおすすめです。誤って全てのメールボックスから間違ったメッセージを削除してしまうことは避けたいですよね。
これまで、New-ComplianceSearch
、Start-ComplianceSearch
、Get-ComplianceSearch
のコマンドレットを使用してコンテンツの検索を作成、実行、監視しました。そして、検索結果のプレビューを行うためには、New-ComplianceSearchAction
のコマンドレットを使用する必要があります。
検索結果のプレビューをするためには、以下のコマンドを使用してプレビューアクションを作成する必要があります。
以下の出力でわかるように、プレビュージョブが Phish1_Preview という名前で作成され、ジョブが自動的に開始されます。

プレビューの作成が完了すると、以下のコマンドを実行して結果を画面に表示することができます。
上記のコマンドを実行すると、以下の画像と似た出力が表示されます。

正直言って、上記の結果は見栄えが悪いです。しかし、お好みの場合は結果をTXTファイルにエクスポートすることもできます。また、より見やすいレポートが必要な場合は、セキュリティとコンプライアンスセンターからコンテンツ検索レポートをダウンロードすることができます。
注意:プレビューアクションでは、メッセージの内容を公開しません。検索条件に一致するメッセージの詳細のみ表示され、各メッセージの内容は表示されません。
Office 365のすべてのメールボックスからメールを削除する
さあ、最後のステップです。Office 365のメール削除アクションを実行します。検索結果に満足していると仮定しましょう。メッセージ削除プロセスの実行に備えて準備が整いました。
検索条件に一致するメッセージを削除するには、New-ComplianceSearchAction
コマンドレットを使用してパージジョブを作成する必要があります。その際、-Purge
スイッチと-PurgeType
パラメータを指定します。
以下にパージジョブを作成するためのコードが示されています。コードをコピーしてPowerShellに貼り付けて実行してください。
-PurgeType SoftDelete
パラメータ/値は、メッセージを削除し、メールボックス内の回復可能なアイテムフォルダ内の削除フォルダに配置します。これにより、必要な場合にはメッセージを復元できる状態になります。
上記のコードを実行すると、パージジョブが作成され、開始されます。

以下のイメージに示すように、パージジョブはPhish1_Purgeという名前で作成され、自動的に開始されます。

パージが完了したら、以下のコマンドを使用して最終結果を表示できます。
以下のような出力が表示されます。この例では、16件のメッセージが削除され、失敗はありませんでした。

以上です。Office 365のすべてのメールボックスからスパム/フィッシングメッセージを正常に削除しました。
結論
この記事では、Office 365のすべてのメールボックスからメッセージを検索して削除するために、セキュリティとコンプライアンスのPowerShellのcmdletsの使い方を学びました。
メッセージの詳細を組み合わせて、検索条件を絞り込む方法も学びました。検索条件を絞り込むことで、結果が最も正確になるようにします。
また、コンテンツの検索を作成して開始し、結果のプレビューを作成し、検索条件に一致するメッセージを最終的に削除する方法も学びました。何よりも嬉しいことは、これらのタスクを達成するためにPowerShellを離れる必要がなかったことです!
この記事から得た知識を活用して、検索と削除のワークフローを自動化することができるかもしれません。そうすれば、一線級のエージェントでも簡単に実行できるようになるかもしれません。もしかしたら、もう必要な睡眠から起こされることはないかもしれません。
さらに読む
Source:
https://adamtheautomator.com/office-365-delete-email/