Exchangeでメールボックス内のメールを検索/削除する その1

Exchangeを運用するにあたりメール検索/監査、あるいは削除などを目的として
メールボックス内のアイテムを検索することを求められたりします。

色々条件などはつきますが、「Search-Mailbox」というコマンドを利用することで対応ができます。
https://technet.microsoft.com/ja-jp/library/dd298173(v=exchg.160).aspx

コマンド実行には、操作するアカウントに以下のRoleが必要です。
通常の管理者アカウントでは、コマンド自体が実行できません。
「Mailbox Search」
「Mailbox Import Export」

監査などの業務だと、所謂システム部門ではなく監査部門が対応する場合もありますので
権限の分割が可能です。(手順連携などは複雑でしょうけれども・・・・)

私のところに来た依頼としては、特定のメールボックスの予定表登録内容を削除したいというものでした。
コマンドのオプション「-SearchQuery」を使用して取得するアイテムを限定できるのですが、
クエリ設定の情報が少ないため検証に苦慮しました・・・・。
今回のように”予定表アイテムのみ”を指定したい場合は、下記クエリ設定で可能です。
-SearchQuery “Kind:meetings”

なお、オプション「-DeleteCcontent」を指定することで問答無用で削除可能です。

依頼内容を反映すると、以下のようなコマンドでしょうか。

Search-Mailbox -Identity "対象のメールアドレス" -SearchQuery "Kind:meetings" -DeleteContent

対象メールボックスの予定表アイテムにしぼり、問答無用で削除します。
上記コマンドだけではログに残りませんので、必要に応じてオプション調整が必要です。

Search-Mailbox -Identity "対象のメールアドレス" -SearchQuery "Kind:meetings" -TargetMailbox administrator -TargetFolder SearchResult -LogLevel Full -LogOnly

「-LogLevel」オプションをつけることで、クエリを投げた結果が「-Targetmailbox」で指定したメールボックスに保存されます。
「-LogOnly」オプションは、アイテムのコピーや削除を実行せず、あくまでクエリ結果のみを出力するオプションです。

ひとまずログを出力させてから実際の操作を行う方が丁寧かなと。

制限としては、クエリに対する結果が10,000件以上あると使用できないようです。
抵触した場合、大容量の検索実行は別コマンド「」が推奨される旨が表示されます。
別コマンドで実行しても良いのですが、残念ながらアイテム削除オプションは無いようです。

あくまで予定表フォルダ内の予定表アイテムを強制的に削除しているだけですので、
会議開催通知などで予定を共有している場合はメンバー全員への対応が必要です。
仮に会議主催者の予定を削除しても会議参加者の予定はそのままです。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です