移動プロファイルで余分な .tmp ファイルが累積する

現象

移動プロファイルで Prf*.tmp という名前の余分なファイルが累積し、アプリケーション イベント ログに次のエラー メッセージが記録されることがあります。

種類 : エラー

ソース : Userenv

分類 : なし

イベント ID : 1000

日付 : date
時刻 : time of day
ユーザー : S-1-5-21-#########-##########-##########-####
コンピュータ : Computername
説明 :

ファイル \\servername\share\...\Prf???.tmp をロケーション R:\Documents and Settings\...\Prf???.tmp にコピーできません。ネットワーク管理者に問い合わせてください。

詳細 - 既に存在するファイルを作成することはできません。

原因

プロファイルの同期処理時、インデックス サービスまたは他のいくつかのプロセス (オープン ファイル エージェントなど) が、上記の一時ファイルを開いている場合に、この問題が発生することがあります。この場合、一時ファイルは削除されません。ログオフ時、移動プロファイルと共にこの一時ファイルはアップロードされ、再度ログオンする際にローカル プロファイルとの整合性が取られます。


ウイルス対策ソフトウェアがこの問題を引き起こすこともありますが、それらのプロセスのファイル操作はインデックス サービスやオープン ファイル エージェントなどよりも少ないため、その影響は最小と考えられます。

解決方法

この問題を回避するには、次のいずれかの方法を使用します。
  • プロファイル エンジンと競合しているソフトウェアまたはサービスを無効にします。


    または
  • 競合している運用中のスキャンまたは監視機能から、プロファイル フォルダを除外します。
これらのファイルを削除する場合は、削除するファイルの中に必要なデータが含まれていないことを確認するようお勧めします。データの損失を防止するため、プロファイル エンジンは、整理されていない Prf*.tmp ファイルを削除しません。

状況

この動作は仕様です。
プロファイルの整合性確認は、一時ファイルを保持することにより、データを失わずにエラーを発生させることを目的としています。

詳細

詳細説明

  1. プロファイルの同期および整合処理中に、移動先プロファイル内のファイルが対応するサーバー上のプロファイル内のファイルより古いことをプロファイル エンジン (USERENV) が検出した場合、サーバー上のファイルが移動先の Prf*.tmp ファイルにコピーされます。
  2. 移動先の古いファイルは削除され、Prf*.tmp ファイルが適切な名前に変更されます。


    一時ファイルの名前は、Windows ファイル I/O の GetTempFileName API 関数により生成されます。一時ファイルが削除される前に他のプロセスが一時ファイルを開き、閉じなかった場合、ファイルは削除されません。この現象が発生すると、イベント メッセージがアプリケーション イベント ログに記録されます。詳細情報については、この資料の「Userenv ログ情報」を参照してください。
  3. ログオフ時、削除されなかった Prf*.tmp ファイルはプロファイルと共に自動的にアップロードされます。
  4. 次回ログオンする際に、これら一時ファイルの名前が再度使用された場合、プロファイルの整合処理中にファイル作成エラーが発生します。この状況で、この資料の「現象」に記載されている Userenv イベント ID 1000 メッセージが記録されます。

Userenv ログ情報

以下の Prf*.tmp ファイルは削除されないことがあります。
  • Microsoft Windows NT 4.0 システム ポリシー ファイル (これらのファイルは必ずプロファイル ルート ディレクトリにあります。)


    これらのファイルが削除されていない場合、一時ファイルが削除されなかったことを意味しています。ポリシーが適用されなかったことを意味しているわけではありません。この状況では、次のデータが Userenv ログに記録されます。
    USERENV() hh:mm:ss:nnn ApplySystemPolicy: Failed to delete policy file PRF###.TMP. Error 32
  • 標準プロファイルの一時ステージング ファイル (これらのファイルがプロファイル ルート ディレクトリに存在することはありません。)


    既存の移動先ファイルが削除できない場合、Prf*.tmp ファイルも削除できません。この現象は、他のプロセスがそれらのファイルの両方を開いている場合に発生することがあります。この場合、Prf*.tmp ファイルの削除が再試行されることはありません。その結果、ファイルの古いローカル コピー (一時ファイルには最新のコピー) が残ります。この状況では、次のデータが Userenv ログに記録されます。

    USERENV() hh:mm:ss:nnn ReconcileFile: Failed to delete file filename with error = 32
    場合によっては、一時ファイルの名前変更の正常な前処理として既存の移動先ファイルが削除されたにもかかわらず、Prf*.tmp ファイルの名前が変更できないことがあります。この場合、一時ファイルはデータの損失を防止するため意図的に削除されません。次のデータが Userenv ログに記録されます。
    USERENV() hh:mm:ss:nnn ReconcileFile: Failed to rename file PRF###.TMP to filename with error = 32
: Error 32 は、以下のように定義されています。

ERROR_SHARING_VIOLATION

プロセスはファイルにアクセスできません。別のプロセスが使用中です。
プロパティ

文書番号:328607 - 最終更新日: 2005/11/17 - リビジョン: 1

フィードバック