ファイルサーバのデータ移行をしていて、共有からアクセスするとアクセス権のないファイルやフォルダが表示されない(アクセス権のないファイルやフォルダが見えない)、という状況があった。
気になって調べてみると、SMBのプロトコルバージョンやCIFSバージョンの問題ではなく、Windowsのフォルダ設定で、「アクセス許可設定に基づいた列挙を有効にする」の設定にチェックが入っている(オンになっている)と、アクセス権のないフォルダやファイルは表示されなくなる。設定中に、オンにしてしまっていたようだ。「アクセス許可設定に基づいた列挙を有効にする」の設定のチェックボックスでチェックを外して保存すれば、アクセス権のないフォルダやファイルも見えるようになる。

「アクセス許可設定に基づいた列挙を有効にする」の設定は以下。
1.「サーバーマネージャー」を開く
2.サイドメニューから「ファイル サービスと記憶域サービス」を開く
3.サイドメニューから「共有」を開く
4.表示された共有一覧から、対象の共有名を選んで、右クリックからプロパティを開く
5.プロパティの中の「設定」を開く
6.「アクセス許可設定に基づいた列挙を有効にする」を確認する、必要に応じて、チェックのオン・オフを行う
Windows Server 2022の既定値も調べてみたが、「アクセス許可設定に基づいた列挙を有効にする」(Access Based Enumeration)は、既定値はオフ。
なお、マイクロソフトのドキュメントによると、「一部の環境では、アクセス ベースの列挙を有効にすると、サーバーの CPU 使用率が高くなり、ユーザーの応答時間が遅くなります。」とのことなので、特別な要件がなければ、オフの方がよさそうだ。
参考: