Da dieser Bug mit einem „simple Workaround“ behoben werden kann, wird dieser Fehler vermutlich nie endgültig gefixt. Da das Problem beständig auftritt hier die Beschreibung und Lösung.
Seit geraumer Zeit ist es möglich, NTFS-Volumen in leere Ordner eines anderen NTFS-Volumens bereitzustellen. Das kann man aus verschiedenen Gründen tun, oft sieht man so eine Konstellation bei Fileservern die zwar eine einzelne Freigabe (oder einen großen DFS-Stamm) anbieten, diesen aber wegen der Fragmentierung, I/O-Last, Quoten oder Skalierungsproblemen auf mehrere LUNs (bzw. Laufwerke) aufteilen.
Der Fehler liegt nun im Windows 7 Explorer: Verbindet sich ein Client so eine Freigabe nun als Netzwerklaufwerk, verschwinden die bereitgestellten Ordner-Volumen darin sporadisch aus der Inhaltsansicht. Die Ordner mit den Volumen sind spontan einfach nicht mehr sichtbar. Der Zugriff ist (z.B. durch Pfadeintippen) noch möglich, aber die Ordner werden nicht mehr aufgelistet. Alle Programm die diese API verwenden (ja, auch die Shell und die Powershell) „sehen“ den Ordner nicht. Der Effekt ist reproduzierbar (bei ca. 80% aller Clients innerhalb von 48 Stunden) und beschränkt sich nicht auf Singlemounts, also auch wenn das Volumen zusätzlich auch einen Laufwerksbuchstaben hat. Einzig am Localhost ist der Effekt nie zu beobachten.
Die Lösung:
Un-Elegant wie hart, einfach den Explorer-Cache für Listing ausschalten. Das geht indem man in
HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesLanmanWorkstationParameters
den (DWORD) Wert DirectoryCacheLifetime auf 0 setzt. Nach einem Reboot ist das Problem verschwunden.
Spannend: Der Effekt ist exklusiv der Kombination Windows7 mit Server2008R2 vorbehalten, andere Clients oder Server zeigen immer alle Inhalte an.