パスの途中にアクセス許可がないフォルダーが存在すると警告ダイアログが表示される

こんにちは。Windows サポートの神田です。
今回は、Windows 10、Windows Server 2016 で確認されている、フォルダー列挙の動作の問題について記載します。

※ 2017 年 12 月 7 日 更新
     本ブログで記載した事象について、動作を修正したロールアップ プログラムが以下の各バージョン向けに公開されています。

// バージョン 1607 (RS1、ビルド 14393) 向け
2017 年 10 月 18 日 — KB4041688 (OS ビルド 14393.1794)
https://support.microsoft.com/ja-jp/help/4041688
// バージョン 1703 (RS2、ビルド 15063) 向け
2017 年 11 月 15 日 — KB4048954 (OS ビルド 15063.726 および 15063.728)
https://support.microsoft.com/ja-jp/help/4048954
  ※ バージョン 1709 (RS3、ビルド 16299) では本問題は修正済みです。

事象の発生を抑止する場合には、上記ロールアップ プログラムについて、適用をご検討いただきますようお願いいたします。

 

Windows 10、Windows Server 2016 で、フォルダー列挙の動作に今までのオペレーティング システムと違いがあり、フォルダーを開いている間にデスクトップやフォルダの更新が行われ意図しないダイアログが表示される場合があります。表示されるダイアログは、以下のいずれかです。

  • ローカル フォルダーの場合
  • ネットワーク フォルダーの場合

これらのダイアログは、以下のアクセス許可設定を行っているフォルダーを開いた場合に表示されます。

  • フォルダーを階層で作成している。
  • パスを指定して開けば操作できるよう、下位の層のフォルダーには明示的にアクセス許可を設定している。
  • 上位の階層のフォルダーにはアクセスできないよう、アクセス許可を付与していない。

例えば、以下の様なフォルダーのアクセス許可設定を行っている場合に、本事象は発生します。

  1. 最上位層と 4 層目に Administrators と Everyone のフル コントロールを設定する。
  2. 2、3 階層目から Everyone を削除して Administrators のみにアクセス許可を設定する。
  3. 一般ユーザーで 4 階層目にパス指定でアクセスする。

// アクセス許可設定の例
1 階層目: Administrators と Everyone  にNTFS アクセス権限あり
2 階層目: Everyone に NTFS アクセス権限なし
3 階層目: Everyone に NTFS アクセス権限なし
4 階層目: Administrators と Everyone  にNTFS アクセス権限あり

上記は、あくまで一例であり、条件に合致する場合は同様の事象となります。共有フォルダーでもローカル フォルダーでも、ダイアログが異なりますが同様の事象となります。
なお、ダイアログが表示された場合でも、[X] または [キャンセル]、[閉じる] ボタンでダイアログを閉じていただければ、現在開いているフォルダーの操作には影響はありません。
また、この動作は以前のオペレーティング システム (Windows 8.1、Windows Server 2012 R2 以前) では発生しません。

Windows 10、Windows Server 2016 で、新しくファイルを作成したり、削除したり、ファイル名を変更したり、といった操作でデスクトップの表示を更新する処理が走る際に、アクセス権の無い途中の階層のフォルダーについても更新しようとする動作が行われ、アクセス許可が無いフォルダーに対する警告ダイアログが表示されるようになりました。
なお、前述の操作を行っても必ずしもダイアログが表示するわけではなく、一方でフォルダーを表示したまま一定時間放置することでも、表示の更新処理が走るため、このダイアログ表示は不定期に行われます。

本事象は、Windows 10、Windows Server 2016 の想定しない動作であり、次期バージョン (Fall Creators Update) で動作を改修する予定です。また現行の製品に関しても、修正を行うよう現在内部にて修正を進めている状況です。
お客様には、弊社製品の想定しない動作にてご迷惑をおかけしております。今後、修正について情報のアップデートがあれば、引き続き本ブログ内にてお知らせいたしますので、恐れ入りますがお待ちいただきますようお願いいたします。

 

  • 暫定対策について

抜本的な対策にはなりませんが、ターゲットとするフォルダーを、エクスプローラーのコマンド オプションを使用して開くことで、列挙の処理を抑止することができ、警告ダイアログの表示を抑制することが可能です。以下は Explorer.exe に /root オプションを付与してターゲット フォルダーを開く方法となります。

コマンド例)  Share04 のみアクセス許可がある場合
%windir%\explorer.exe /root,"\\ServerName\Share01\Share02\Share03\Share04"

日常的に開くフォルダーが決まっている場合は、ターゲット フォルダーに対するショートカットを上記の方法で作成することで事象の発生を抑止できますので、こちらの暫定策をご検討いただけますと幸いです。

以上です。
よろしくお願いいたします。

神田 友樹