Mit der Einführung der
Group Policy Preferences in Windows Vista und Server 2008 können viele
Aufgaben, für die Skripts erforderlich waren, jetzt direkt mit Gruppenrichtlinien
realisiert werden. Dazu gehören insbesondere die Zuordnung von freigegebenen Netzwerkressourcen
(Laufwerke und Drucker) oder Änderungen im Dateisystem (Ordner und Dateien
kopieren, erstellen und löschen). Trotzdem werden Sie gelegentlich Anforderungen
haben, die sich mit Gruppenrichtlinien nicht oder nur umständlich erfüllen
lassen. Dann ist die Verwendung von Skripts erforderlich.
Das Erstellen von
guten Skripts ist nicht Thema dieses Abschnitts, denn damit lassen sich eigene
Bücher füllen. Aber wir zeigen Ihnen, wie Sie Skripts sinnvoll in Ihr Umfeld
integrieren können.
Sie finden weitere Informationen
zu Skripts in Gruppenrichtlinien unter den Artikelnummern cc740163 und cc758918.
Allgemeine Informationen zum Erstellen von Skripts finden Sie unter den Artikelnummern
bb490869 (Batchdateien) und bb410849.
Asynchron oder synchron
Für Startskripts und Anmeldeskripts
können Sie festlegen, ob diese asynchron oder synchron ausgeführt werden sollen
(Pfad Richtlinien/Administrative
Vorlagen/System/Skripts unter Computerkonfiguration und Benutzerkonfiguration in GPEdit).
Asynchron bedeutet,
dass alle Skripts unabhängig voneinander in eigenen Prozessen gleichzeitig
gestartet werden. Damit ist verbunden, dass ein Skript nicht auf ein anderes
warten kann oder muss, aber auch, dass die Laufzeit der Skripts keine Rolle
spielt. Im Gegensatz dazu bedeutet synchron, dass Skripts einzeln und eines nach dem anderen ausgeführt werden.
Dadurch ist die Reihenfolge der Skripts eindeutig definiert, aber die Laufzeit
der Skripts wird ein kritischer Faktor für den Computerstart oder die
Benutzeranmeldung.
Für Anmeldeskripts heißt die entsprechende Einstellung Anmeldeskripts gleichzeitig ausführen. Damit ist gemeint, dass Anmeldeskripts synchron ausgeführt werden, also nacheinander und gerade nicht gleichzeitig.
Bei Anmeldeskripts
müssen Sie zusätzlich noch eine technische Abhängigkeit vom Ausführungsmodus
beachten. Werden Anmeldeskripts synchron ausgeführt, dann findet die Ausführung
innerhalb des Winlogon-Prozesses statt, bevor der Desktop erscheint. Werden sie
dagegen asynchron ausgeführt, dann findet die Ausführung innerhalb des
Explorer-Prozesses statt, der auch den Desktop darstellt, also auf der
Benutzeroberfläche.
Wie und wo aufrufen?
Für das Starten von
Skripts gibt es viele Möglichkeiten, die jeweils bestimmte Ausführungseigenschaften
des Skripts bereitstellen.
- Computerkonfiguration/Richtlinien/Windows-Einstellungen/Skripts/Starten
Startmodus: Asynchron oder synchron, Kontext: SYSTEM
- Computerkonfiguration/Richtlinien/Windows-Einstellungen/Skripts/Herunterfahren
Startmodus: Synchron, Kontext: SYSTEM
- Benutzerkonfiguration/Richtlinien/Windows-Einstellungen/Skripts/Anmelden
Startmodus: Asynchron oder synchron, Kontext: Benutzer
- Benutzerkonfiguration/Richtlinien/Windows-Einstellungen/Skripts/Abmelden
Startmodus: Synchron, Kontext: Benutzer
- Computerkonfiguration/Richtlinien/Administrative
Vorlagen/System/Anmelden: Diese Programme bei der Benutzeranmeldung ausführen
Startmodus: Asynchron, Kontext: Benutzer
- Benutzerkonfiguration/Richtlinien/Administrative
Vorlagen/System/Anmelden: Diese Programme bei der Benutzeranmeldung ausführen
Startmodus: Asynchron, Kontext: Benutzer
- Computerkonfiguration/Einstellungen/Windows-Einstellungen/Verknüpfungen
– Speicherort: Alle Benutzer – Start
Startmodus: Asynchron, Kontext: Benutzer
- Benutzerkonfiguration/Einstellungen/Windows-Einstellungen/Verknüpfungen
– Speicherort: Alle Benutzer – Start oder Starten
Startmodus: Asynchron, Kontext: Benutzer
- Computerkonfiguration/Einstellungen/Systemsteuerung/Geplante
Aufgaben – Trigger: Beim Start
Startmodus: Asynchron, Kontext: Taskbenutzer (SYSTEM, Benutzer oder andere)
- Benutzerkonfiguration/Einstellungen/Systemsteuerung/Geplante
Aufgaben – Trigger: Beim Start oder Bei Anmeldung
Startmodus: Asynchron, Kontext: Taskbenutzer (SYSTEM, Benutzer oder andere)
- Computerkonfiguration/Einstellungen/Windows-Einstellungen/Registrierung – Struktur: HKLM, Schlüsselpfad:
Software\Microsoft\Windows\CurrentVersion\Run
Startmodus: Asynchron, Kontext: Benutzer
- Benutzerkonfiguration/Einstellungen/Windows-Einstellungen/Registrierung – Struktur: HKLM oder HKCU, Schlüsselpfad: Software\Microsoft\Windows\CurrentVersion\Run
Startmodus: Asynchron, Kontext: Benutzer
- Computerkonfiguration/Einstellungen/Windows-Einstellungen/Registrierung – Struktur: HKLM, Schlüsselpfad:
Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
Startmodus: Asynchron, Kontext: Benutzer
- Benutzerkonfiguration/Einstellungen/Windows-Einstellungen/Registrierung – Struktur: HKLM oder HKCU, Schlüsselpfad: Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
Startmodus: Asynchron, Kontext: Benutzer
Der Registrierungsschlüssel Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run ist im Ergebnis identisch mit der Richtlinieneinstellung Diese Programme bei der Benutzeranmeldung ausführen, die den gleichen Registrierungsschlüssel verwendet. GPP Registrierung als Ergänzung von Administrative Vorlagen ermöglicht aber besondere Konfigurationen, die wir z.B. in einem zukünftigen Blogbeitrag Bildschirmschoner je nach Computer (-gruppe) festlegen verwenden.
Wenn Sie alle diese Möglichkeiten verwenden, geht allerdings der Überblick über die implementierten Skripts verloren. Daher ist eine Bewertung erforderlich, welche Möglichkeiten gut oder weniger gut geeignet sind. Für die Bewertung können Sie folgende Kriterien verwenden:
- Müssen Skripts abgeschlossen sein, bevor der Start oder die Anmeldung fortgesetzt werden darf? Dann müssen sie synchron ausgeführt werden.
- Benötigen Skripts eine längere Zeit? Dann sollten sie asynchron ausgeführt werden.
- Muss auf Dateien, Ordner oder Registrierungswerte zugegriffen werden, auf die der Benutzer keine Schreibrechte besitzt? Dann muss der Kontext von SYSTEM verwendet werden.
- Muss auf Dateien, Ordner oder Registrierungswerte im Benutzerprofil zugegriffen werden? Dann muss der Kontext des Benutzers verwendet werden.
Aus der praktischen
Erfahrung empfehlen wir Ihnen, bevorzugt folgende Möglichkeiten zu verwenden:
- Computerkonfiguration/Richtlinien/Windows-Einstellungen/Skripts/Starten (Richtlinie Startskripts asynchron ausführen aktivieren)
- Benutzerkonfiguration/Richtlinien/Windows-Einstellungen/Skripts/Anmelden (Richtlinie Anmeldeskripts gleichzeitig ausführen aktivieren)
- Computerkonfiguration/Einstellungen/Windows-Einstellungen/Registrierung – Struktur: HKLM, Schlüsselpfad: Software\Microsoft\Windows\CurrentVersion\Run
- Benutzerkonfiguration/Einstellungen/Windows-Einstellungen/Registrierung – Struktur: HKLM oder HKCU, Schlüsselpfad: Software\Microsoft\Windows\CurrentVersion\Run
Damit erreichen Sie
eine einfache Verwaltbarkeit bei gleichzeitig großer Flexibilität. Die
asynchronen Startskripts eignen sich für viele Aufgaben, auch für solche, die
länger benötigen (z.B. das Kopieren einer größeren Menge von Dateien). Die
synchronen Anmeldeskripts stellen sicher, dass der Benutzer noch keinen Desktop
und damit auch keine Anwendungen geöffnet hat. Sie sollten allerdings nur eine
kurze Laufzeit haben. Für länger laufende Skripts im Benutzerkontext wird mit
Hilfe von GPP Registrierung der Registrierungsschlüssel Software\Microsoft\Windows\CurrentVersion\Run verwendet, der die gleiche Funktion hat wie Diese Programme bei der Benutzeranmeldung ausführen. Mit GPP
Registrierung können Sie aber den
Vorteil der Zielgruppenadressierung von Group Policy Preferences nutzen, und Sie
können Umgebungsvariablen verwenden.
Die Richtlinieneinstellung Diese Programme bei der Benutzeranmeldung ausführen unterstützt grundsätzlich Umgebungsvariablen. Dafür muss in der Registrierung der Wertetyp REG_EXPAND_SZ verwendet werden. In der zugehörigen ADM(X)-Vorlage ist allerdings REG_SZ als Wertetyp festgelegt, Umgebungsvariablen werden daher nicht aufgelöst. Durch Verwenden von GPP Registrierung wird diese Einschränkung umgangen.