リモート デスクトップ サービス環境にてファイルが削除ができない事象について

こんにちは。Windows プラットフォーム サポートの吉田です。
Windows Server 2012 以降のリモート デスクトップ サービス環境において、ファイルが削除できない現象が発生することがあります。
発生要因と回避策についてご案内いたします。

■ 現象概要:

Windows Server 2012 以降のリモート デスクトップ サービス環境をご利用しており、かつ、プロファイル管理にユーザー プロファイル ディスク (UPD) をご利用いただいている場合に、ファイルを右クリックして “削除” もしくはごみ箱にファイルを移動させようとすると、削除時に管理者権限の資格情報を要求される場合があります。
このとき、Shift + Delete による直接削除は可能です。

 

■ 詳細:

通常時は、ごみ箱にファイルを削除する際は、<%UserProfile%>\RECYCLE.BIN\<User-SID> フォルダー下に削除ファイルを作成いたします。
しかしながら、事象が発生している場合、<%UserProfile%>\RECYCLE.BIN フォルダー直下に削除ファイルを作成しようと動作いたします。

<%UserProfile%>\RECYCLE.BIN フォルダー直下は、正常時でも通常ユーザーは Write 権限がありません。
このため、ごみ箱に削除できない事象が発生いたします。

UPD はユーザーが RD セッション ホストにログオンする際にマウントされ、マウントポイントのリストが作成されます。この際、タイミングによりマウントポイントのリストへの追加が行われない場合があります。この状況が発生すると <%UserProfile%>\RECYCLE.BIN\<User-SID> ではなく、<%UserProfile%>\RECYCLE.BIN フォルダー直下がゴミ箱の格納先として使用されます。
これにより、削除 (移動) の権限が与えられず、ファイルが削除できない事象が発生します。

これは、UPD のマウント時に動作するマウント の通知とリストの作成がそれぞれ別のサービスで動作し、それぞれのサービスの動作するタイミングによって発生します。

 

■ 回避策:

先述の通り、本事象はタイミングの問題であるため、現時点 (2017/10) では、恒久的な改善策はございません。

もっとも簡易な回避策といたしましては、ユーザー プロファイル ディスクの使用しない、もしくは、ファイルの削除には Shift + Delete による直接削除を使用するといったものとなります。

もしくは、設定変更が伴う手順とはなりますが、以下の方法がございます。

1. <%UserProfile%>\RECYCLE.BIN フォルダー の削除

前述の通り、本事象は <%UserProfile%>\RECYCLE.BIN フォルダーのマウント時の権限によって発生いたします。
一度、<%UserProfile%>\RECYCLE.BIN フォルダーを削除することで、次にファイルを削除したタイミングで 新しい $RECYCLE.BIN が作成されますので、事象が改善いたします。

ユーザー権限での削除も可能ですが、事象発生時に各ユーザーに操作いただくことが難しい場合、ログオン時に毎回 <%UserProfile%>\RECYCLE.BIN フォルダーを削除するよう、ログオン スクリプトにて設定いただくこともご検討願います。
ログオン スクリプトは以下のスクリプトをご利用ください。

===========
rd /s /q %Userprofile%\$Recycle.bin
rd /s /q %Userprofile%\Userdata\$Recycle.bin
===========

UPD 内のごみ箱につきましては、「ユーザー プロファイル ディスクのデータ設定」に依存して保存箇所 (UPD のマウントポイント) が変化することから、削除するパスが 2 種類となります。
・ すべてのユーザー設定とデータをユーザープロファイル ディスクに格納する
-> %UserProfile%\
・ 次のフォルダーのみをユーザー プロファイル ディスクに保存する
-> %UserProfile%\userdata

ただしこの場合、ごみ箱内のファイルがすべて削除されますので、ごみ箱に移動したファイルを戻すといった運用をされる可能性がある場合にはご注意願います。

2. フォルダー リダイレクトを利用する

本事象は、UPD 内のファイルを削除しようとする場合に発生いたします。そのため、UPD 外に保存されているデータは削除が可能です。
これは、例えば C ドライブの情報であれば、 C ドライブ直下の $RECYCLE.BIN など、マウント ポイント直下に存在する $RECYCLE.BIN が使用されるためです。
この動作を利用して、デスクトップやドキュメント、お気に入りなどをフォルダー リダイレクトを利用して UPD 以外の場所に保存させることで、事象が発生いたしません。
フォルダー リダイレクトにつきましては、グループ ポリシーをご利用ください。

参考: フォルダー リダイレクトの概要
https://technet.microsoft.com/ja-jp/library/cc732275(v=ws.11).aspx