社畜の所業

社畜の所業

Office365の機能について解説をしていきたいと思います。このブログの情報をご活用いただければ幸いです。たまに他の情報も取り入れていきたいと思います。

【Office365参考書】アーカイブメールボックスにアイテムが移動しない。アイテム保持ポリシーが動作しない。

f:id:it-bibouroku:20200305151118j:plain

インプレースアーカイブを有効にした場合、管理フォルダーアシスタントが動作したタイミングでアイテム保持ポリシーの [Default 2 year move to archive] の既定タグにより、作成日または受信日から 2 年経過しているアイテムが、プライマリ メールボックスからアーカイブ メールボックスへ自動的に移動される動作です。 

  

管理フォルダーアシスタントは、アイテム保持ポリシーに構成されたメッセージ保持設定を適用する Microsoft Exchange メールボックス アシスタントです。 

この機能がワークサイクル (最大 7  1 度処理を行う事により、アイテム保持ポリシーによる保持タグの適用や、アイテムの移動・削除が行われます。 

 

そのため、アーカイブメールボックスにアイテムが移動していない場合は、管理フォルダアシスタントを手動で実行してみましょう。 

なお、管理フォルダアシスタントを実行してから移動するまでに時間がかかる場合があります。

 

 

管理フォルダーアシスタントを即時動作させる 

 

1. メールボックス単位で管理フォルダーアシスタントを走査させるコマンド 

[構文] 

Start-ManagedFolderAssistant -Identity <対象のメールアドレス> 

  

[実行例] 

Start-ManagedFolderAssistant -Identity User001@contoso.com 

  

  

2. 全メールボックスに対し、管理フォルダーアシスタントを走査させるコマンド 

下記の 2 つのコマンドを順番に実行してください。 

  

[実行コマンド 1] 

$Temp=Get-Mailbox -ResultSize Unlimited 

  

[実行コマンド 2] 

$Temp|foreach {start-managedfolderassistant $_.identity} 

  

※ 一度のコマンドレットの実行ではアイテムが処理されない場合がありますので、その際は数回コマンドレットを実行してください。

 

管理フォルダアシスタントを実行して、時間を置いても改善しない場合は、管理フォルダアシスタントが正常に動作していない可能性がありますので、ログを取得してみましょう。

 

管理フォルダアシスタントのログを取得する手順

※ Start-Transcript を実行してから、3 行のコマンドレットを実行し、Stop-Transcript を実行し出力します。 

  

Start-Transcript 

  

[構文] 

※ 3 行のコマンドレットとなりますので、順に実行いたします。 

  $log = [xml]((Export-MailboxDiagnosticLogs "<対象ユーザーのメールアドレス>" -ExtendedProperties).MailboxLog) 

  

  $log.Properties.MailboxTable.Property | Export-Csv -Encoding Utf8 -NoTypeInformation -Path "<保存先パス ファイル名>" 

  

  Export-MailboxDiagnosticLogs -Identity "<対象ユーザーのメールアドレス>" -ComponentName MRM | FL 

  

[実行例] 

  $log = [xml]((Export-MailboxDiagnosticLogs "user@contoso.com" -ExtendedProperties).MailboxLog) 

  

  $log.Properties.MailboxTable.Property | Export-Csv -Encoding Utf8 -NoTypeInformation -Path "C:\Temp\user01_MRMlog.csv

  

  Export-MailboxDiagnosticLogs -Identity "user@contoso.com" -ComponentName MRM | FL 

  

Stop-Transcript 

  

※ 二行目のコマンドレットにて、C ドライブ の Temp フォルダーにCSV ファイルに出力します。 

※ Export-MailboxDiagnosticLogs は画面上に結果が出力されますので、別途 CSV ファイルは出力されません。 

※ Transcript の txt ファイルは、既定では C:\Users\<ユーザー名>\Documents\PowerShell_transcript.<任意の英数字>.txt に出力されます。 

  

確認する点

CSVファイルの[ELCLastSuccessTimestamp]にて、最後に管理フォルダアシスタントが動作した日時が記録されますので、実行した日時になっているか確認します。

日時が過去などであれば、管理フォルダアシスタントが動作していないと判断できます。 

また、txtファイルにて、エラーが記録されていないか確認します。 

例として、[Move/Copy messages failed.]のエラー場合、どこかのフォルダの容量が上限に達している可能性があります。 

  

<フォルダのメッセージ上限数>

メールボックス フォルダーごとの最大メッセージ数 : 100 万 

復元可能アイテム フォルダー内のフォルダーごとの最大メッセージ数 : 300 万 

  

フォルダのアイテム確認方法 

[実行例] 

Get-MailboxFolderStatistics Mailbox001@contoso.com | Select Name,FolderSize,Itemsinfolder,FolderAndSubfolderSize,ItemsInFolderAndSubfolders | Export-CSV -Encoding UTF8 -NoTypeInformation -Path "C:\Temp\ArchiveFolder.csv" 

※対象ユーザーのアドレスに置き換えて実施してください。 

 

  

[実行結果] 

Name                       : フォルダーの名称 

FolderSize                 : フォルダーに格納されているアイテムの容量 

ItemsInFolder              : フォルダーに格納されているアイテムの数 

FolderAndSubfolderSize     : 対象フォルダーと配下のサブ フォルダに格納されているアイテムの容量 

ItemsInFolderAndSubfolders : 対象フォルダーと配下のサブ フォルダに格納されているアイテムの数 

 

なお、管理フォルダアシスタントが正常に動作している場合、RetentionHoldEnabledがTrueになっていないか確認してみましょう。

 

 

RetentionHoldEnabledがTrueによる事例 

RetentionHoldEnabled は、Exchange Online アイテム保持ポリシーによる自動処理を停止するかどうか定める設定値となり、本値が有効化 (True) されていると、アイテム保持ポリシーによるメールボックスの通常領域にあるアイテムの自動削除や移動が行われなくなる動作です。 

既定では無効 (False) となっており、Set-Mailbox コマンドにて変更可能となります。 

  

なお、RetentionHoldEnabled が True になる事例として、明示的に設定値を変更されるほか、ネットワーク アップロードを使用して PST ファイルを Office 365 にインストールした場合にも True に変更されることを確認しております。  

  

そのため、以下の手順にて、事象発生ユーザーの RetentionHoldEnabled を False に変更し、管理フォルダアシスタントを実行することで事象が改善するかお試しください。

 

   

個別に RetentionHoldEnabled を True にする  

 

[実行コマンド]  

Set-Mailbox -Identity "対象ユーザーアドレス" -RetentionHoldEnabled $True  

※ True の場合はアイテム保持ポリシーによる処理は停止され、False とすることで処理は再開されます。  

   

   

複数ユーザーに対し RetentionHoldEnabled をTrueとする  

  1. 事前に対象とするメールボックスの情報を記載した CSV ファイルを作成します。 

-------------------  

CSV ファイルの作成例】  

PrimarySmtpAddress  

User001@contoso.com  

User002@contoso.com  

User003@contoso.com  

… 以下省略  

※ 1 行目は固定で、2 行目以降に対象メールボックスのメールアドレスを入力する例となっております。  

文字コードは [UTF-8] を選択し、保存時の拡張子を CSV 形式に指定し、任意のフォルダに保存します。  

   

<参考情報 : UTF-8 での保存の手順>  

  1. CSV ファイルを右クリックし、[プログラムから開く] - [メモ帳] の順にクリックします 
  2. 開いたメモ帳で [ファイル] - [名前を付けて保存] の順にクリックします。 
  3. ファイルの種類で「すべてのファイル」を選択します。 
  4. 文字コードで「UTF-8」を選択します。 
  5. [保存] をクリックします。 

   

  1. 作成したCSVファイルを使用し一括設定します。 

[実行例]  

Import-Csv C:\Temp\RetentionHoldEnabled.csv | ForEach {Set-Mailbox -Identity $_.PrimarySMTPAddress -RetentionHoldEnabled $True}  

※ True の場合はアイテム保持ポリシーによる処理は停止され、False とすることで処理は再開されます。