Outlook の検索フォルダーに、件名が空白の予期しないメール アイテムが表示される

Microsoft Outlook 2019、Outlook 2016、Outlook 2013、または Outlook for Microsoft 365 ですべてのメール アイテム用の検索フォルダーを作成すると、フォルダーに件名が空白の予期しないアイテムが含まれます。 これらのアイテムをポイントすると、次の情報が表示されます。

フォルダー内: PersonMetadata

PersonMetadata フォルダーは、Outlook Customer Manager (OCM) によって作成および使用されました。 OCM サービスは 2020 年 6 月に非推奨になりましたが、Outlook は引き続きこのフォルダーを使用します。 連絡先フォルダーまたは受信者キャッシュ フォルダー (連絡先フォルダーの下の隠しフォルダー) に新しいアイテムが作成されると、関連アイテムが PersonMetadata フォルダーに作成されます。

PersonMetadata フォルダーは通常、Outlook ユーザー インターフェイスの他の部分から隠されています。 ただし、PersonMetadata フォルダーのメール アイテムは検索フォルダーに含まれる場合があります。 このようなアイテムは、空白の件名で識別できます。

PersonMetadata フォルダーと、そのフォルダーで作成されるアイテムは、今後サービスから削除されます。 その間、この問題に対して次のいずれかの回避策を使用できます。

回避策 1

PersonMetadata フォルダー内のメール アイテムが検索フォルダーに表示されないようにするには、次の手順を実行します。

  1. [検索フォルダー] を右クリックし、[この検索フォルダーのカスタマイズ] を選択します。
  2. [参照] をクリックし、[サブフォルダーも検索する] オプションの選択を解除します。
  3. 含めるフォルダーを手動で選択します。

回避策 2

PersonMetadata フォルダーが 100 万アイテムの制限に近づいていることを示す「フォルダー アイテムの制限」の通知を受け取った場合は、次のいずれかの方法を使用してフォルダー内のすべてのアイテムを削除します。

フォルダー アイテムの制限通知:

フォルダー アイテム制限通知のスクリーンショット。

方法 1: 影響を受けるユーザーのコンピューターで MFCMAPI を実行する

この方法は、少数のユーザーだけに問題が発生している場合に使用します。 影響を受けるユーザーが多数存在する場合は、 方法 2 を使用します。

  1. Outlook を終了します。

  2. MFCMAPI ツールをダウンロードします。

  3. MfcMapi.exe プログラムを起動し、[OK] を選択します。

  4. [ツール] メニューの [オプション] を選択し、次のオプションを指定して、[OK] を選択します。

    • OpenMsgStore を呼び出すときに MDB_Online フラグを使用する
    • OpenEntry を呼び出すときに MAPI_NO_CACHE フラグを使用する
  5. [セッション] メニューの [ログオン] を選択します。

  6. [プロファイル名] の一覧で、メールボックスのプロファイルを選択し、[OK] を選択します。

  7. 適切な Microsoft Exchange Message Store をダブルクリックします。 通常、これは Default Store = True 設定のエントリです。

  8. ナビゲーション ウィンドウで、[ルート コンテナー] を展開し、[インフォメーション ストアの先頭] を展開して、[PersonMetadata] を選択します。

    注意

    メールボックスの地域設定によっては、[インフォメーション ストアの先頭] ノードのテキストが別の言語にローカライズされる場合があります。

  9. [PersonMetadata] > [詳細] > [空のアイテムとフォルダーのサブフォルダー] の順に右クリックします。

  10. [アイテムとサブフォルダーの削除] ダイアログ ボックスで、[ハード削除] を選択し、[OK] を選択します。

削除操作を実行している間、MFCMAPI が長時間応答を停止するように見える場合があることに注意してください。 Get-MailboxFolderStatistics コマンドレットを実行すると、進行状況を監視できます。

方法 2: EWS スクリプトを管理者として実行する

この方法では、ユーザーを偽装するようにサービス アカウントを構成する必要があります。 偽装を構成する方法については、この記事を参照してください。

  1. EWS スクリプトを実行するコンピューターに EWS のマネージ API をダウンロードしてインストールします

  2. EWS スクリプトをダウンロードします。

  3. 管理者として次のコマンドレットを実行して、最新の Exchange Online PowerShell 管理モジュールをインストールします。

    Install-Module ExchangeOnlineManagement
    
  4. 次のコマンドレットを実行して、一意のユーザーの [PersonMetadata] フォルダーを空にします。

    .\CleanPersonMetadata.ps1 -Identity user@contoso.com
    

    このコマンドレットは、コンテンツをハード削除します (アイテムは削除済みアイテムに移動されません)。 コミットする前に削除をシミュレートする場合は、-WhatIf パラメーターを使用します。

    複数のユーザーに対してスクリプトを実行するには、ID 列を含み、それらのユーザーの SMTP アドレスを含む CSV ファイルを作成します。 次に、以下のコマンドレットを実行します。

    Import-CSV UserList.csv | .\CleanPersonMetadata.ps1 -Confirm:$false
    

    : モジュールが見つからないというエラーが発生した場合は、ファイル パスとモジュールのパスを一致するスクリプトを更新する必要があります。 スクリプトには現在、次のパスがあります。

    Import-Module "C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\<module_version>\Microsoft.IdentityModel.Clients.ActiveDirectory.dll" -force

    スクリプト内のパスを次のように行 #639 で更新します。

    Import-Module "C:\Program Files\WindowsPowerShell\Modules\ExchangeOnlineManagement\<module_version>\netFramework\Microsoft.IdentityModel.Clients.ActiveDirectory.dll" -force

  5. メッセージが表示されたら、偽装用に構成したサービス アカウントの資格情報を入力します。