テナント内のチームのコンプライアンス レコードの数はいくつですか。
基板によってキャプチャされ、Exchange Online に保存される
Microsoft 365 基質は、ユーザーがチャットしてチャネルにメッセージを投稿するときに、Teams コンプライアンスレコードをキャプチャします。スレッドまたは会話内のメッセージごとに個別のレコードが作成されます。基体は、コンプライアンス レコードを Exchange Online メールボックスに格納します。
- 個人チャットとプライベートチャネルの会話のコンプライアンスレコードは、ユーザーのメールボックスにあります。ゲスト ユーザーとフェデレーション ユーザーがチャットに参加すると、基質は、通常のクライアント インターフェイスからアクセスできない特別なクラウド メールボックス内のこれらのユーザーのコンプライアンス レコードをキャプチャします。
- 定期的なチャネル会話のレコードは、ホスティング チームのグループ メールボックスにあります。
- 共有チャネルの会話のレコードは、特別なクラウド メールボックスにあります。
いずれの場合も、コンプライアンス レコードはメールボックスの TeamsMessagesData フォルダーにあります。図 1 は、MFCMAPI ユーティリティを使用して表示された TeamsMessagesData フォルダー内のコンプライアンス レコードを示しています。メッセージのテキストは、アイテムのプロパティで強調表示されます。

一部のバックアップベンダーは、コンプライアンスレコードを含めることでTeams のバックアップに十分であると主張しています。このスタンスの最大の問題は、レコードが純粋にコンプライアンスの目的で作成された元のメッセージの不完全なコピー(別名「デジタルツイン」)であるため、コンプライアンスレコードからチャットまたはチャネルの会話を再作成することは不可能であることです。これは、Teams がバックアップが非常に難しいアプリケーションの 1 つです。
Exchange Online は、コンプライアンス レコードにインデックスを付けて、電子情報開示に使用できるようにします。他の Microsoft 365 サービスは、コンプライアンスレコードを使用します。たとえば、通信コンプライアンスは、これらのレコードに依存して、Teams の会話でのわいせつや脅威などのポリシー違反を検出します。
2017年以降の累計
この基質は、2017 年以来、Teams のコンプライアンス記録をキャプチャしています。それ以来、Teams の Microsoft 365 アイテム保持ポリシーがメールボックスに残るレコードの期間を制御しない限り、これらのレコードのかなりの量が蓄積されています。これらのポリシーでは、1 日後にレコードを削除できます。2020年の注目すべきインシデントでは、保持ポリシーの設定に誤りがあり、KPMG組織全体のレコードが削除されました。
Teams のコンプライアンスレコードについて心配する必要はありません。それらは存在し、仕事をし、保持ポリシーがアクティブでない限り消えません。また、テナント間の移行で移動する必要があるデータの量を評価するのに役立ちます。
Microsoft 365 テナントの移行には、電子メールからドキュメント、Teams メッセージまで、さまざまな種類のデータが含まれます。電子メールとドキュメントの移行はよく理解された課題ですが、Teams 情報を移動するための API サポートはあまり開発されていません。移動する必要がある情報の量を知ることが出発点です。不正確ですが、何が関係しているかを把握する 1 つの方法は、テナントに存在する Teams コンプライアンスレコードの数を確認することです。
チャットの確認
まず、 Get-ExoMailboxFolderStatistics コマンドレットを使用して、ユーザーのメールボックス内のレコード数を返します。この作業を行うためのコードを次に示します。メールボックスの[IPM 以外]部分をチェックしていることがわかります。この部分には、システム目的で使用されるフォルダーが保持されており、ユーザーには表示されません。
$Report = [System.Collections.Generic.List[Object]]::new() [array]$Mbx = Get-ExoMailbox -RecipientTypeDetails UserMailbox -ResultSize Unlimited If (!($Mbx)) {Write-Host "No mailboxes found - exiting" ; break } ForEach ($M in $Mbx) { $Stats = Get-ExoMailboxFolderStatistics -Identity $M.ExternalDirectoryObjectId -FolderScope NonIPM -IncludeOldestAndNewestItems | ? {$_.Name -eq "TeamsMessagesData"} $ReportLine = [PSCustomObject][Ordered]@{ # Write out details of the mailbox "User" = $M.DisplayName UPN = $M.UserPrincipalName TeamsItems = $Stats.ItemsInFolder TeamsItemsSize = $Stats.FolderSize.Split("(")[0] NewestItem = $Stats.NewestItemReceivedDate TotalMbxFolderSize = [math]::Round($TotalMbxsize/1Mb,2) } $Report.Add($ReportLine) Write-Host "Mailbox" $M.DisplayName "Teams chats" $Stats.ItemsInFolder }
出力は次のようになります。
$Report | ft user, teamsitems, newestitem User TeamsItems NewestItem ---- ---------- ---------- Andy Ruth (Director) 11257 03/05/2022 13:32:11 Ben Owens (DCPG) 145354 13/05/2022 15:12:51 Ben James 7257 23/05/2022 15:12:51 Brian Weakliam (Operations) 9866 31/05/2022 12:46:53 James Ryan 22446 29/05/2022 14:39:34 Chris Bishop 11178 28/05/2022 14:39:34 Kim Akers 9533 29/05/2022 10:41:57 James Abrahams 11127 01/06/2022 13:32:11 Tony Redmond 16398 01/06/2022 17:02:47
ユーザーのメールボックス内の Teams コンプライアンスレコードの合計は、次のようなコマンドで簡単に見つけることができます。
($Report | measure-object teamsitems -Sum).Sum
情報は、個人チャット、グループチャット、プライベートチャネルでの会話にまたがることに注意してください。また、メッセージのコピーが複数存在することも事実です。たとえば、10 人が参加するグループ チャットに投稿されたすべてのメッセージには、10 個のメッセージのコピーが作成されます (参加者ごとにメールボックスごとに 1 つずつ)。プライベートチャネルの会話に投稿されたメッセージについても同じことが言えます。重複係数を設定するのは難しいですが、組織の規模に応じて 3 ~ 4 の領域にある可能性があります (組織が大きいほど、複数のユーザーがチャットに関与している可能性が高くなります)。
通常のチャンネルのチェック
チャネルの会話は、各メッセージのコピーが 1 つしか存在せず、個々のユーザーではなくグループによって所有されるため、個人チャットよりも移動が簡単です。グループ メールボックスでも、通常のチャネルでの会話用に収集されたコンプライアンス レコードを報告するために、同じ種類のアプローチが機能する必要があります。
チームと実行に使用されるすべてのグループ メールボックスを検索するユーザー メールボックスのコードのバージョンを次に示します。 Get-ExoMailboxFolderStatistics 各メールボックスに対して。
Connect-MgGraph Select-MgProfile Beta $Report = [System.Collections.Generic.List[Object]]::new() [array]$Teams = Get-MgGroup -Filter "resourceProvisioningOptions/Any(x:x eq 'Team')" -All If (!($Teams)) {Write-Host "No Teams found - exiting" ; break } ForEach ($T in $Teams) { [array]$Stats = Get-ExoMailboxFolderStatistics -Identity $T.Id -FolderScope NonIPM -IncludeOldestAndNewestItems | ? {$_.Name -eq "TeamsMessagesData"} If ($Stats.Count -ne 0) { $ReportLine = [PSCustomObject][Ordered]@{ # Write out details of the mailbox "User" = $T.DisplayName UPN = $M.Mail TeamsItems = $Stats.ItemsInFolder TeamsItemsSize = $Stats.FolderSize.Split("(")[0] NewestItem = $Stats.NewestItemReceivedDate TotalMbxFolderSize = [math]::Round($TotalMbxsize/1Mb,2) } $Report.Add($ReportLine) Write-Host "Team" $T.DisplayName "Teams channel messages" $Stats.ItemsInFolder } Else {Write-Host "Can't figure out the Teams data for" $T.DisplayName } }
問題は、両方です Get-MailboxFolderStatistics そして Get-ExoMailboxFolderStatistics 最大 1,000 個のフォルダーを返します。問題は 2022年5月に初記.ただし、1,000 を超えるフォルダーを持つメールボックスは多くありません。最近、私はいくつかのグループメールボックスにSPOOLS_830、SPOOLS_831、SPOOLS_832などという名前の何百ものフォルダが出現していることに気付きました。これらのフォルダーの存在は、1,000 フォルダーの制限を簡単に超えました。結論として、上記のコードは、すべてのグループメールボックスではなく、ほとんどのグループメールボックスで機能するということです。
一部の Graph コードが代わりにこの作業を行い、ISV が移行に必要なものを判断する方法です。
情報を見つけるために周りをつつく
Microsoft 365 を覗いて、どのように機能するかを調べるのはいつも興味深いことです。ここでは、ユーザーとグループのメールボックスに格納されている Teams コンプライアンスレコードの数を報告する方法について説明しました。これは、テナント間の移行プロジェクトに関与している場合に便利です。
また、 Get-ExoMailboxFolderStatistics コマンドレット。ユーザーがフォルダーの作成に非常に忙しくない限り、通常の操作で制限を満たすことはまずありません。なぜこれほど多くのSPOOLSフォルダがいくつかのグループメールボックスに存在するのか分かりませんが、調べてみます。
いつも、たくさんの変化があります。マイクロソフトが Office 365 全体で行うすべての更新プログラムに遅れずについていくことは困難です。購読する Office 365 for IT プロフェッショナル 電子書籍では、何が起こるか、なぜそれが起こるのか、テナントにとって新しい機能や機能が何を意味するのかについて、毎月の洞察を得ることができます。
ディスカッション
コメント一覧
まだ、コメントがありません