Windows Server 2008R2 mit Windows 7 Bug (CIFS)

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.

Windows läd nur TEMP-Benutzerprofil

Aus unterschiedlichen Gründen mag Windows manchmal seine Servergespeicherten Benutzerprofile nicht mehr laden. Wirre Eventlog-Fehlermeldungen sind die Folge, von Rechten und Verzeichnissen ist die Rede. Wenn das übliche debuggen entlang dieser Meldungen nicht mehr fruchtet, hilft oft das Profil einfach zurückzusetzen:

  • PC neu starten (Wichtig um alle Zweige zu entladen!)
  • Als lokaler Administrator anmelden und das betroffene Profil komplett löschen (oder von der Maschine schieben)
  • Registry öffnen:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList
    
  • Löschen des Unterschlüssels mit dem Namen <SID>.bak

Die <SID> ist die Sicherheits-ID (SID) des Benutzerkontos, bei dem das Problem auftritt. Der Unterschlüssel SID.bak sollte einen Registrierungseintrag ProfileImagePath enthalten, der auf den ursprünglichen Profilordner verweist, bei dem das Problem auftritt.

Wenn das Profil noch intakt und alle Rechte korrekt sind (schlimmstenfalls nochmal drüber erben und den Besitzer nicht vergessen), den key state auf „0“ setzen, das .bak entfernen (nachdem man die ID mit dem temp-profil gelöscht hat) und rebooten. NICHT ab- und anmelden, sondern rebooten (denn dann wird die profilelist erst neu geladen).

Die Empfängerrichtlinie ‘Default Policy’ mit Postfach-Manager-Einstellungen kann nicht über die aktuelle Version der Exchange-Verwaltungskonsole verwaltet werden

Bei einer Migration von Exchange 2003 nach 2007/2010 kann es mal zu einem seltsamen Effekt kommen. Nach Abschluss der Postfachmigration wird ja in der Regel die „Default Policy“-Empfängerrichtlinie via

Set-EmailAddressPolicy „Default Policy“ -IncludedRecipients AllRecipients

umgestellt. Dies muss auch sein, da sich sonst die E-Mailadressrichtlinie (ab 2007 heisst das nicht mehr Empfängerrichtlinien, sondern Adressrichtlinie) nicht mit der EMC bearbeiten lässt. In der Regel klappt das auch. Manchmal gibt es aber den kreativ anmutenden Fehler:

Set-EmailAddressPolicy : Die Empfängerrichtlinie ‚Default Policy‘ mit Postfach-Manager-Einstellungen kann nicht über die aktuelle Version der Exchange-Verwaltungskonsole verwaltet werden

Liesst sich ein bisschen wirsch. Nach viel suchen kommt heraus: Der Postfach-Manager ist eine superselten genutzte Funktion von Exchange 2003. Inhalte aus Postfächern können damit automatisch bearbeitet werden, z.B. kann der fiese Admin alles was älter als 30 Tage ist damit löschen (oder ausdrucken oder so). Exchange 2007/2010 kennt das nicht mehr; Microsoft hat die Funktion an sich allerdings deutlich erweitert und der geneigte Admin kennt diese nun als „Richtlinien zum Verwalten von Nachrichtendatensätzen„. In meinem speziellen Fall stammen die Einstellungen von einer Exchange-nahen Faxlösung aus der frühen Steinzeit.

Lösung: Einfach alle alten Postfach-Managereinstellungen (beabsichtigt oder nicht) entfernen. Und das geht so:

  • Exchange Systemmanager (ja, das ding von 2003) öffnen
  • Rechte MT auf die „Default Policy“ und unter
  • „Eigenschaftenfenster ändern“ den Haken bei den Postfachmanagereinstellungen entfernen

Danach geht auch die Übernahme mir set-EmailAddressPolicy auch sofort.

“Object not found” Fehler beim Verschieben einer Mailbox von Exchange 2003 auf Exchange 2010

Nach der Installation eines Exchange 2010 (SP1) in eine Exchange 2003 Organisation sollte der neue Exchange 2010 zu der ActiveDirectory-Gruppe „Exchange Domain Servers“ hinzugefügt werden. Die Gruppe ist im „Users“ container zu suchen. Wenn diese Voraussetzung nicht erfüllt ist, gehen alle lokalen Verschiebungsanforderungen mit dem „Objekt nicht gefunden“ Fehler in die Hose.

THEORETISCH erledigt das Setup diesen Schritt auch von selber …