Windows 7 Clients - Logonskript für Netzlaufwerke funktioniert nicht

- 30.12.2014
von Thomas Windscheif / Microlinc



Symptom:
Bei manchen Windows 7 Clients werden die Mappings die durch ein Batch-Loginskript gesteuert werden, nicht gesetzt. Ein manueller Aufruf als angemeldeter Domänenbenutzer des Skripts aus den entsprechenden Policy-Ordner der SYSVOL-Freigabe verläuft fehlerfrei.

Lösung:
Interessanterweise scheint dieser Fehler nicht auf allen Systemen (Trotz gleichem Patchstand, gleicher Windows Edition und Plattform) reproduzierbar zu sein. Da ein Zugriffsproblem wegen des einwandfreien manuellen Aufrufens nicht vorliegt, führt man zu Diagnosezwecken das Logonskript sichtbar aus.
Dies kann man durch Aktivieren der Richtlinie "Anmeldeskripts sichtbar ausführen" im Benutzerkonfigurationsteil des Gruppenrichtlinienobjekts. Dazu platziert man den Befehl pause an einigen Stellen des Batch-Skriptes.



Hierdurch wird in dem gegeben Szenario sichtbar, dass das Skript fehlerfrei durchläuft.
Man erkennt aber auch anhand der Titelzeile, dass das Skript in einer privilegierten Eingabeaufforderungssitzung ausgeführt wird. In diesem Szenario waren die Benutzer auf den PCs lokale Administratoren mit aktiviertem UAC.

Was ist passiert?
Die Sitzung des privilegierten Benutzers hat nun erfolgreich diverse Mappings erhalten, der "einfache" Benutzer kann diese aber nicht sehen, weil es zwei verschiedene getrennte Sitzungen sind. Eine Gegenprobe kann man machen, indem man nach erfolgreichem Durchlauf des Skripts ebenfalls eine privilegierte Eingabeaufforderungssitzung öffnet und dort den Befehl "net use" absetzt. Man sieht hier die durch das Skript erfolgreich gesetzten Mappings.

Möglichkeit A
Eine mögliche aber sinnfreie Lösung (aus Sicherheitstechnischen Gründen) wäre das UAC zu deaktivieren, wodurch die Trennung zwischen dem unprivilegierten und privilegierten Benutzer nicht mehr vorhanden wäre

Möglichkeit B
Eine andere "hübschere" Lösung wäre den Registry-Wert "EnableLinkedConnections" über Group Policy Preferences an die Clients zu verteilen. Hierdurch würden die Mappings an den Benutzer durchgereicht werden.

HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\System
REG_DWORD Name: EnableLinkedConnections
REG_DWORD Wert: 1

Möglichkeit C
Die beste Variante wäre die Umsetzung des Skripts mittels der Group Policy Preferences.
Da Batch-Skripte im Vergleich zu den neueren Skriptsprachen wie Powershell oder VBS wenig Spielraum bieten, sollte man sich mittelfristig von diesen verabschieden. Alle wichtigen Dinge wie Mappings, Verknüpfungen, Druckerzuordnungen, etc. können über die Gruppenrichtlinienerweiterungen dargestellt werden.


Quellen: http://www.winfaq.de/faq_html/Content/tip2500/onlinefaq.php?h=tip2563.htm
http://www.mcseboard.de/topic/172416-netzlaufwerk-per-gpo-verbikndet-nicht/
http://matthiaswolf.blogspot.de/2012/11/windows-8-gpp-drive-mapping-als.html




MICROL!NC - URL zum Artikel: http://microlinc.homeip.net/index.php?lev1=5&lev2=49&id=252 - Ausdruck vom 29.03.2024