プライマリ メールボックスがしきい値を超えたときにアーカイブ メールボックスを自動的に有効にする
についての私の記事に続く質問 Exchange Online メールボックス保持ポリシーから Microsoft Purview アイテム保持ポリシーに移行する方法 尋ねた:
“レガシーまたはM365オンラインアーカイブポリシーで、プライマリメールボックスのデータサイズに基づいて有効にできる方法はありますか、たとえば、メールボックスのサイズが40 GBを超えると、オンラインアーカイブが自動的に有効になり、古いデータがオンラインアーカイブに移動してプライマリメールボックスを40 GBの制限に維持します."
それは合理的な要求です。基本的に、組織は、メールボックスが 40 GB に達するまで、ユーザーがすべての電子メールをプライマリ メールボックスに保持することを望んでいます。その時点に達すると、組織はこれらのメールボックスのアーカイブを有効にし、プライマリ メールボックスからアーカイブへの古い電子メールの移動を開始して、プライマリのサイズを 40 GB 未満に維持したいと考えています。
アーカイブ メールボックスとサイズ設定
これらは適切なアーカイブメールボックスであり、Outlookのアーカイブフォルダーではありません。実際のアーカイブ メールボックスは、Exchange Online の自動拡張メカニズムを使用して最大 1.5 TB まで拡張できます。注: アーカイブの自動拡張を有効にした場合、それらのアーカイブ メールボックスを社内の Exchange サーバーに戻すことはできません。
Exchange Online エンタープライズ メールボックスには、 50 GB から 100 GB のクォータ アカウントに割り当てられたライセンスに基づくため、40 GBのしきい値は少し任意です。このサイズ未満に保つと、OSTファイルの妥当なパフォーマンスが保証される可能性があります。もしそうなら、OSTが大きくなりすぎてPCのパフォーマンスに影響を与えたくないので、それは良いことです。
メールボックスのサイズに基づくアーカイブの割り当て
ソリューションの概要は次のとおりです。
- アーカイブが有効になっていないメールボックスを検索します。
- メールボックスのサイズを確認します。
- メールボックスのサイズがしきい値を超えた場合は、アーカイブ メールボックスを有効にし、Exchange Online メールボックス保持ポリシーを割り当てて、特定の保存期間に達した後にアイテムをプライマリ メールボックスからアーカイブ メールボックスに移動するようにメールボックス フォルダー アシスタントに指示します。
Exchange Online メールボックスアイテム保持ポリシーは、アイテムをアーカイブ メールボックスに移動する唯一の方法です。Microsoft Purview アイテム保持ポリシーでは、アイテムを保持または削除できますが、メールボックス アイテムを移動することはできません。
準備として、アーカイブへの既定の移動タグを 1 つ使用して Exchange Online メールボックス保持ポリシーを作成しました (図 1)。ポリシーには、受信トレイや送信済みアイテムなどの既定のフォルダーの処理を処理したり、ユーザーがアイテムに保持のマークを付けたりできるように、他の保持タグを含めることができます。ただし、必要なのは、アーカイブタグへのデフォルトの移動だけです。この場合、タグは、アイテムが 730 日 (2 年) 経過したら、アイテムをプライマリからアーカイブ メールボックスに移動するように MFA に指示します。
図 1: アイテムをアーカイブ メールボックスに移動するための Exchange Online メールボックス保持ポリシーの構成
次に、メールボックスをチェックして処理するためのPowerShellが必要です。これが私が思いついたスクリプトです:
# Define archive threshold
$ArchiveThreshold = 40GB
# Find mailboxes without an archive
Write-Host "Looking for mailboxes that are not archive-enabled..."
[array]$Mbx = Get-ExoMailbox -RecipientTypeDetails UserMailbox -Filter {ArchiveState -ne "Local"} -ResultSize Unlimited
If (!($Mbx)) { Write-Host "No mailboxes found without archives - exiting!" ; break }
Write-Host ("Checking {0} mailboxes" -f $Mbx.count); $MbxUpdated = 0
ForEach ($M in $Mbx) {
$Stats = Get-ExoMailboxstatistics -Identity $M.ExternalDirectoryObjectId
If ($Stats.TotalItemSize.Value -gt $ArchiveThreshold) { # Mailbox size is larger than the threshold
Write-Host ("Enabling archive for mailbox {0}..." -f $M.UserPrincipalName)
Enable-Mailbox -Archive -Identity $M.ExternalDirectoryObjectId
Set-Mailbox -Identity $M.ExternalDirectoryObjectId -RetentionPolicy "Mailbox Two-Year Archive Policy"
$MbxUpdated++
} #End if
} #End ForEach Mbx
Write-Host ("All done. {0} mailboxes were processed and {1} were archive-enabled" -f $Mbx.Count, $MbxUpdated)
まとめ
ソリューションを完了するには、スクリプトを定期的に実行して、メールボックスがしきい値を超えたときにアーカイブを受信するように調整する必要があります。のスケジューラ Azure Automation このようなスクリプトを実行するための優れた方法であり、スクリプトを実行するためのコストは非常に合理的です。Exchange Online 管理モジュールの V3.0 で、 Azure Automation マネージド ID したがって、資格情報の漏洩による侵害の危険はありません。それはまさにそれがどうあるべきかです。
Exchange Online およびその他の Office 365 を活用する方法については、 IT プロフェッショナル向け Office 365 電子書籍。私たちの経験を活用して、何が重要で、テナントを保護する最善の方法を理解してください。
ディスカッション
コメント一覧
まだ、コメントがありません