Dateien und Ordner kopieren über Gruppenrichtlinien
Group Policy Preferences können die meisten Aufgaben übernehmen, für die traditionell Login-Scripts eingesetzt wurden. Dazu gehört auch das Kopieren, Aktualisieren und Löschen von Dateien auf den Rechnern einer Domäne. GPOs erweisen sich dafür als sehr flexibel, weil sie eine Reihe von Variablen für Pfadangaben bieten.
Dateien und Ordner sind nur zwei von mehreren Einstellungen für das Management des Dateisystems über Group Policy Preferences (GPP). So existiert etwa eine eigene Option, um Verknüpfungen auf den Desktops der Benutzer anzulegen oder zu entfernen. Entsprechendes gilt für das Update von Konfigurationsdateien im INI-Format. Eine speziell dafür vorgesehene Einstellung dient dazu, einzelne Einträge zu verändern, ohne dass man die ganze Datei laufend in einer neuen Version an ihren Speicherort kopieren muss.
Komplementäre Einstellungen Ordner und Dateien
Als typische Anwendung der Einstellungen Dateien und Ordner gilt daher die Verteilung von Programmen, die nur aus einer .exe-Datei bestehen und keine Installation erfordern. Des Weiteren kämen sie in Frage, um für die IP-Namensauflösung hosts oder eventuell erforderliche Lizenzdateien auf Clients zu kopieren. Natürlich eignet sich dieser Mechanismus auch für das Übertragen von Dokumenten oder Office-Vorlagen, wenn man diese nicht zentral ablegen kann oder möchte.Die Einstellungen Dateien und Ordner ergänzen sich in ihrer Funktion. Nur Erstere ist dafür vorgesehen, Dateien zu kopieren, zu ersetzen oder zu löschen. Das gilt auch dann, wenn man den gesamten Inhalt eines Verzeichnisses auf die Ziel-PCs übertragen möchte.
Die Option Ordner ist dazu nicht in der Lage. Sie dient nur dazu, Verzeichnisse zu erstellen, in die man anschließend Files kopieren kann. Sie löscht aber auch Ordner, wahlweise mitsamt aller darin enthaltenen Dateien und Verzeichnisse oder wenn diese leer sind.
Ordner per GPO anlegen
Existiert ein Verzeichnis nicht, in das man Dateien per Gruppenrichtlinie transferieren möchte, dann besteht der erste Schritt darin, ein GPO für zu konfigurieren, um den Ordner zu erzeugen. Die entsprechende Einstellung findet sich sowohl in der Computer- als auch der Benutzerkonfiguration unter Einstellungen => Windows-Einstellungen => Ordner.
Dort legt man über den entsprechenden Befehl im Kontextmenü einen neuen Ordner an. Der dafür zuständige Dialog bietet die üblichen 4 Aktionen, die aber je nach GPP-Kontext verschiedene Bedeutungen haben können. Im Fall von Ordner bedeuten sie:
- Erstellen: Ein Ordner wird angelegt, wenn er noch nicht existiert
- Löschen: Entfernt Ordner, wobei nach dieser Auswahl die 5 Optionen im unteren Bereich des Dialogs zugänglich sind. Sie erlauben etwa das rekursive Löschen von enthaltenen Verzeichnissen oder das Entfernen schreibgeschützter Elemente.
- Ersetzen: Entspricht dem Löschen eines Ordners inklusive aller Einstellungen und einem anschließenden Neuanlegen (aus diesem Grund werden auch bei dieser Option die Löscheinstellungen freigeschaltet). Wenn der Ordner nicht existiert, dann wird er erzeugt.
- Aktualisieren: Diese Aktion erneuert nur Einstellungen, die über das GPO gesetzt wurden. Auch sie legt einen Ordner an, wenn er noch nicht existiert.
Besonders dann, wenn man die Einstellung unter der Benutzerkonfiguration wählt, wird man in der Regel keinen absoluten Pfad für einen Ordner angeben, weil sich sonst alle User das betreffende Verzeichnis teilen. Daher bietet der Ordner-Dialog die Auswahl aus zahlreichen Systemvariablen, die sich im Pfad verwenden lassen. Sie kann man durch Drücken der F3-Taste anzeigen lassen.
Dateien kopieren, ersetzen oder löschen
Diesem Zweck dient die Extension Dateien, die sich ebenfalls unter Einstellungen => Windows-Einstellungen befindet. Wenn man über ein GPO einen Ordner erstellt hat, in den man nun Dateien kopieren möchte, dann muss man darauf achten, dass in beiden der gleiche Kontext gewählt wurde. Das heißt, dass man sich nicht in dem einen Fall für Computerkonfiguration und im anderen für Benutzerkonfiguration entscheiden soll.
Die Konfiguration einer neuen Datei erfolgt ähnlich wie die eines Ordners. Im Unterschied zu diesem gibt man aber – ausgenommen beim Löschen – Pfade für die Quelle und Ziel an, zwischen denen eine oder mehrere Dateien kopiert werden sollen. Typischerweise wird die Quelle eine Windows-Freigabe sein, die man als UNC-Pfad spezifiziert.
Gibt man als Quelle nur eine einzelne Datei an, dann muss man darauf achten, dass man als Ziel nicht bloß ein Verzeichnis nennt, sondern wieder eine Datei. Andernfalls interpretiert die Datei-Extension das Zielverzeichnis als Dateinamen und das Kopieren wird scheitern (Zugriff verweigert, Ereignis-ID 4098).
Wildcards zulässig
Auch hier wird man in vielen Fällen keinen konstanten Wert eingeben, sondern eine der Systemvariablen nutzen, die man ebenfalls mit der F3-Taste abrufen kann. Darüber hinaus erlaubt diese Funktion die Verwendung von Wildcards, so dass man etwa *.* eingeben kann, um alle Dateien eines Verzeichnisses zu kopieren. In diesem Fall reicht die Nennung eines Verzeichnisses als Ziel.
Wie schon bei den Ordnern kann man auch hier die Dateiattribute der kopierten bzw. aktualisierten Files festlegen. Zur Auswahl stehen schreibgeschützt, versteckt und Archiv.
Die 4 vorgegebenen Aktionen haben bei Dateien folgende Auswirkungen:
- Erstellen: Eine oder mehrere Dateien werden von der Quelle zum Ziel kopiert, wenn sie dort noch nicht existieren. Anschließend werden die Dateiattribute gesetzt.
- Aktualisieren: Dabei werden die Attribute vorhandener Dateien auf Basis der geänderten Einstellungen erneuert. Existieren Dateien noch nicht, dann werden sie kopiert.
- Ersetzen: Löscht die betreffenden Dateien im Ziel und kopiert sie erneut von der Quelle an den Bestimmungsort, alle Attribute werden dabei neu gesetzt. Wenn eine Datei nicht existiert, wird sie kopiert.
- Löschen: Entfernt eine oder mehrere Dateien, die man im entsprechenden Feld angibt.
Existenz von Dateien prüfen mit Item Level Targeting
Sowohl für Dateien als auch für Ordner steht wie bei allen GPP unter Gemeinsame Optionen die Zielgruppenadressierung auf Elementebene zur Verfügung, um die Anwendung des GPO anhand verschiedener Kriterien einzuschränken.
Eine interessante Anwendung könnte darin bestehen, ein Äquivalent zu einer if exist-Abfrage zu erzeugen, wie man sie in einem Script verwenden würde. Damit könnte man bestimmte Operationen davon abhängig machen, ob die betreffenden Dateien und Ordner schon vorhanden sind.
Dazu legt man im Zielgruppenadressierungseditor ein neues Element an und wählt dafür die Einstellung Dateiübereinstimmung. Anschließend hat man die Möglichkeit, als Übereinstimmungstyp Datei vorhanden oder Ordner vorhanden zu spezifizieren.