Windows Server 2012 R2 のファイルサーバーでドライブのルートに対するハンドルがクローズされない

現象

以下のようなシナリオを想定します。

1. クライアント PC に標準ユーザーでログインします。
2. クライアントのエクスプローラーから、ファイルサーバー上のドライブのルート (\\ファイルサーバー名\F$ など) にアクセスします。
3. クライアントで、アカウントとパスワードの入力を促す認証ダイアログが表示されますが、操作をキャンセルします。

このとき、ファイルサーバー上でドライブのルートに対するハンドルがオープンされたまま、クローズされません。
これにより、バックアップ製品によるディスクのバックアップ失敗などの問題が発生することがあります。

原因

Windows Server 2012 R2 の srv2.sys (SMB2/3 の処理を行うファイルサーバーのドライバー) で、クライアントからの Tree Connect リクエストを受けて Access Denied エラーを返します。
この処理で srv2.sys からドライブのルートに対する CreateFile を実行しますが、Tree Connect リクエストに Access Denied エラーが返されるシナリオでは、CloseFile が実行されません。
(Tree Connect が成功するシナリオでは、クライアントからの Tree Disconnect リクエストを受けて srv2.sys が CloseFile を実行します。)

このため、ドライブのルートに対するハンドルが解放されず、srv2.sys (SYSTEM プロセス) がハンドルを保持し続けます。

回避策

以下のいずれかの方法を実行すると、ハンドルが解放されます。

1. ファイルサーサーバー上で以下のコマンドを実行して、一度、正常にアクセスすることでハンドルが解放されます。

コマンド例 :
dir \\localhost\f$

2. Server サービスを再起動します。

状況

マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

プロパティ

文書番号:3073418 - 最終更新日: 2016/09/29 - リビジョン: 1

フィードバック