Hallo, hier nochmal Rol mit einem Thema zum User Objekt Logon Script. Ein Team Kollege hatte eine Anfrage mit der Problemstellung, daß das Logon Script auf einem Windows 2003 Terminal Server nicht mehr ausgeführt wurde, nachdem die DCs größtenteils auf Windows 2008 (R2) migriert waren.
Konfiguration in der MMC “Active Directory Users and Computers” > Doppel-Klick Users > Properties > Tab Profile > Eingabefeld "Logon script:"
Beispiel:
Ohne weitere Fehlermeldung oder Events wurde das LogonScript immer dann nicht ausgeführt, wenn die User Variable %LOGONSERVER% auf einen Windows 2008 Domain Controller gezeigt hat. Wurde ein Windows Server 2003 DC verwendet, gab es das Problem nicht. Prüfen, welchen Anmeldeserver er hat, kann der Users ja recht schnell im Command Prompt mittels: SET LOGONSERVER
Wie kommt das jetzt und warum erst ab Windows Server 2008 als DC? Nun, aus dem obigen Property Beispiel kann man sehen, daß unter “Logon Script:” nur der Scriptname eingetragen ist. Der Userinit Prozess muß daher beim Logon erst selbst den Pfad dorthin zusammenbauen. Dazu ließt er die User Variable %LOGONSERVER% ein, welche jedoch nur den NetBios Namen des authentifizierenden DCs wiedergibt. Dazu kommt dann das default DC Share NETLOGON und der Scriptname. Der Netzwerkpfad wird so zu: \\NetBios_DCName\Netlogon\LogonScript.cmd Im Anschluß versucht Userinit dann den NetBios_DCName eben auch nur über NetBios Namensauflösung zu verwenden – und genau das ist der Haken.
Per Default ist ab Windows Server 2008 der WINS Client nicht aktiviert. Selbst wenn WINS Server implementiert sind, registrieren sich die Windows 2008 DCs so nicht automatisch und die NetBios Namensauflösung schlägt fehl.
Lösungen:
Zu welcher Lösung man greift ist schon fast Geschmackssache. Funktionieren sollten sie alle.
Damit gutes Gelingen! Euer Rol