Windows- Administration – Die technische Referenz

Transcrição

Windows- Administration – Die technische Referenz
Dan Holme
Microsoft
WindowsAdministration –
Die technische Referenz
Dieses Buch ist die deutsche Übersetzung von:
Windows Administration Resource Kit: Productivity Solutions for IT Professionals
Microsoft Press, Redmond, Washington 98052-6399
Copyright 2008 Microsoft Corporation
Das in diesem Buch enthaltene Programmmaterial ist mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden.
Autor, Übersetzer und der Verlag übernehmen folglich keine Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieses Programmmaterials oder Teilen davon entsteht.
Das Werk einschließlich aller Teile ist urheberrechtlich geschützt. Jede Verwertung außerhalb der engen Grenzen des
Urheberrechtsgesetzes ist ohne Zustimmung des Verlags unzulässig und strafbar. Das gilt insbesondere für Vervielfältigungen, Übersetzungen, Mikroverfilmungen und die Einspeicherung und Verarbeitung in elektronischen Systemen.
Die in den Beispielen verwendeten Namen von Firmen, Organisationen, Produkten, Domänen, Personen, Orten, Ereignissen sowie E-Mail-Adressen und Logos sind frei erfunden, soweit nichts anderes angegeben ist. Jede Ähnlichkeit mit
tatsächlichen Firmen, Organisationen, Produkten, Domänen, Personen, Orten, Ereignissen, E-Mail-Adressen und Logos
ist rein zufällig.
15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
10 09 08
ISBN 978-3-86645-919-9
© Microsoft Press Deutschland
(ein Unternehmensbereich der Microsoft Deutschland GmbH)
Konrad-Zuse-Str. 1, D-85716 Unterschleißheim
Alle Rechte vorbehalten
Übertragung ins Deutsche: G&U Language & Publishing Services GmbH, Flensburg (www.GundU.com)
Korrektorat: Jutta Alfes und Karin Baeyens, Siegen
Satz: G&U Language & Publishing Services GmbH, Flensburg (www.GundU.com)
Umschlaggestaltung: Hommer Design GmbH, Haar (www.HommerDesign.com)
Herstellung, Druck und Bindung: Kösel, Krugzell (www.KoeselBuch.de)
III
Inhaltsverzeichnis
Danksagungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXVII
Einleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXIX
Schreibweisen in diesem Buch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXX
Hinweiskästen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXXI
Auszeichnung durch Schriftschnitte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXXI
Systemanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXXI
Zusätzliche Inhalte im Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXXI
Suchen nach zusätzlichen Inhalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXII
Begleit-CD . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXII
Verwendung der Skripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXII
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . XXXIII
Lösungsgruppe 1: Rollenbasierte Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die 80/20-Regel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Skripts und Werkzeuge auf dem Begleitmedium . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Werkzeuge von Microsoft und von Drittanbietern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Onlinecommunity zu dieser technischen Referenz . . . . . . . . . . . . . . . . . . . . . . . . . . .
Los geht's! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Active Directory-Benutzer und -Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
DS-Befehle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines Batchskripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auflisten der Gruppenmitgliedschaften mit VBScript . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Warum VBScript? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die nächsten Schritte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten der Gruppenmitgliedschaften . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
HTML-Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer HTML-Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weitere Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
8
8
9
10
10
11
11
11
12
13
14
15
26
27
27
27
27
27
28
29
29
36
36
IV
Inhaltsverzeichnis
1.3 Erweitern von Active Directory-Benutzer und -Computer
zum Auflisten von Gruppenmitgliedschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Argumente in HTML-Anwendungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integrieren einer benutzerdefinierten HTML-Anwendung
in eine MMC mithilfe von Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Integrieren einer benutzerdefinierten HTML-Anwendung
in eine MMC mithilfe von Anzeigebezeichnern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufgaben und Anzeigebezeichner im Vergleich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Grundlagen der rollenbasierten Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rollengruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Befugnisverwaltungsgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verschachtelung von Rollengruppen in Befugnisverwaltungsgruppen . . . . . . . . . . . . . . .
Andere Arten der Verschachtelung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Daten, Geschäftslogik und Darstellung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Werkzeuge von Drittanbietern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Einrichten einer rollenbasierten Zugriffssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rollengruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Befugnisverwaltungsgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Darstellen von Geschäftsanforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Umsetzen von Befugnissen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatisieren und Bereitstellen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Berichtswesen und Überwachung bei rollenbasierter
Zugriffssteuerung und Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
My Memberships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Access Report . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Überwachen der rollenbasierten Zugriffssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.7 Einrichten der rollenbasierten Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übersicht über die rollenbasierte Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorstellen und Verteidigen der rollenbasierten Verwaltung . . . . . . . . . . . . . . . . . . . . . . .
Der Weg zur rollenbasierten Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Tokengröße . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
37
38
38
40
44
47
48
48
48
48
50
50
53
54
55
55
56
56
56
56
57
62
65
65
66
66
66
66
67
68
71
74
76
77
77
77
78
79
81
83
87
Inhaltsverzeichnis
V
Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben . . . . . . . . . . . . . . . . . . . . . 89
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.1 Effizientes Arbeiten mit dem ACL-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der ACL-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bestimmen der effektiven Berechtigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Verwalten der Ordnerstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer breiten statt einer tiefen Ordnerstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . .
Darstellen von freigegebenen Ordnern in einer logischen Hierarchie
mithilfe von DFS-Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Verwalten des Zugriffs auf Stammdatenordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von mindestens einem konsistenten Stammdatenordner
auf jedem Dateiserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten und Durchsetzen von Zugriffssteuerungslisten
für Stammdatenordner durch Gruppenrichtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Delegieren der Verwaltung von freigegebenen Ordnern . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Dedizierte Dateiserver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren der Verwaltung freigegebener Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Festlegen der freizugebenden Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen der freizugebenden Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Ordnerzugriffsberechtigungen auf der Grundlage der erforderlichen Befugnisse . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten einer Lesebefugnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten einer Befugnis zum Wechsel zu einer Ressource . . . . . . . . . . . . . . . . . . . . . . .
Einrichten einer Bearbeitungsbefugnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten einer Beitragsbefugnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten einer Ablagebefugnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten einer Unterstützungsbefugnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Skripts zur konsistenten Anwendung der Berechtigungen . . . . . . . . . . . . . .
90
92
92
92
92
96
99
99
99
100
100
103
103
103
103
104
104
105
107
107
107
107
107
107
109
110
110
110
111
112
112
112
112
113
114
115
117
117
118
118
VI
Inhaltsverzeichnis
2.7
2.8
2.9
2.10
2.11
2.12
2.13
Verwalten der Ordnerzugriffsbefugnisse durch rollenbasierte Zugriffssteuerung . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Berechtigungen für freigegebene Ordner (SMB-Berechtigungen) . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Skripterstellung für SMB-Berechtigungen auf lokalen und Remotesystemen . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Skripts zum Erstellen einer SMB-Freigabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Share_Create.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anpassen von Share_Create.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen von Share_Create.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen freigegebener Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Folder_Provision.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlegende Anpassung von Folder_Provision.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Code von Folder_Provision.hta und die erweiterte Anpassung . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vermeiden der Vererbungsweiterleitung beim Verschieben von Dateien und Ordnern . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wie sich das Problem darstellt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Was geschieht hinter den Kulissen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung für das Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Informieren der Benutzer und Ändern der Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verhindern von Berechtigungsänderungen durch den Besitzer einer Datei . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Besteht die Gefahr einer Sperrung? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verbergen nicht zugänglicher Objekte vor den Benutzern . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine Sichtweise: Kümmern Sie sich nicht darum! . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine zweite Sichtweise: Verwalten Sie die Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Eine dritte Sichtweise und eine Lösung: Zugriffsbasierte Auflistung . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wer hat eine Datei geöffnet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
119
120
120
120
120
122
123
123
123
123
123
124
124
125
125
125
126
127
129
130
134
135
135
135
136
137
138
138
139
139
139
140
141
141
142
142
142
142
143
143
144
144
144
144
2.14
2.15
2.16
2.17
2.18
Inhaltsverzeichnis
VII
Verwenden von FileServer_OpenFile.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen von FileServer_OpenFile.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Senden von Nachrichten an die Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Message_Notification.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen von Message_Notification.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausführen eines Skripts auf einem Remotecomputer mit PSExec . . . . . . . . . . . . . . . . . . .
Auflisten der geöffneten Sitzungen auf einem Server . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden und Anpassen von FileServer_NotifyConnectedUsers.vbs . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Serverübergreifendes Verteilen von Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verteilen von Dateien mit Robocopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verteilen von Dateien mit DFS-Replikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Speicherplatzverwaltung mit Kontingenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Neue Merkmale der Kontingentverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Kontingentvorlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anwenden eines Kontingents auf einen Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weniger Helpdesk-Anrufe zum Wiederherstellen
gelöschter oder überschriebener Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aktivieren von Schattenkopien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen und Konfiguration von Schattenkopien . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zugriff auf vorherige Versionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines effektiven delegierten DFS-Namespace . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von DFS-Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren von DFS-Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verknüpfen von DFS-Namespaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen von DFS-Namespaces für die Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
144
145
145
146
146
146
146
147
147
149
149
150
150
150
150
150
151
153
153
153
153
153
154
154
156
156
156
156
157
159
160
161
162
162
162
163
163
165
166
168
VIII
Inhaltsverzeichnis
Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen . . . . . . . . . . . . . . . . . . . . 169
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Definieren der Anforderungen an ein Framework für Benutzerdaten und -einstellungen .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Grund für die Definition der Geschäftsanforderungen . . . . . . . . . . . . . . . . . . . . . . . .
Definieren der Geschäftsanforderungen auf hoher Ebene . . . . . . . . . . . . . . . . . . . . . . . . .
Ableiten wichtiger Entwurfsentscheidungen aus Geschäftsanforderungen hoher Ebene .
Ableiten von Anforderungen aus wichtigen Entwurfsentscheidungen . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2 Entwerfen von UDS-Komponenten: Vereinbaren
der Anforderungen mit der Technologie (I) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen von UDS-Optionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anpassen der Optionen für Benutzerdaten und -einstellungen
an die Anforderungen und Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bewerten der Ergebnisse für stationäre und mobile Benutzer . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen des Stammordners für den Benutzerdatenspeicher . . . . . . . . . . . . . . . . . . . . . . .
Anpassen des physischen Namespace an Verwaltungsanforderungen wie Kontingente . .
Erstellen von Datenspeichern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren von Dateiprüfungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen des SMB-Namespace für den Benutzerdaten- und -einstellungsspeicher . . . . . .
Entwerfen der logischen Sicht des Benutzerdatenund -einstellungsspeichers mit DFS-Namenräumen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines DFS-Namespace für Tausende von Benutzern . . . . . . . . . . . . . . . . . . . . .
Der Einfluss von Datenverschiebungen und Namespaceänderungen . . . . . . . . . . . . . . . .
Der Einfluss von %username%-Änderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines abstrakten DFS-Namespace für Benutzerdaten
und -einstellungen (ohne Standort- und Personennamen) . . . . . . . . . . . . . . . . . . . . . . . . .
Automatisieren der Erstellung von Benutzerdatenspeichern und DFS-Namespaces . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.5 Entwerfen und Ausführen der Ordnerumleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen der Ordnerumleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
170
172
172
172
172
174
177
178
181
181
181
181
182
185
187
188
188
188
188
190
195
203
204
204
205
205
206
206
209
211
212
213
215
215
216
217
217
217
218
3.6
3.7
3.8
3.9
Inhaltsverzeichnis
IX
Konfigurieren von Richtlinien für die Ordnerumleitung . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen der Ziele für die Ordnerumleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einstellungen für die Ordnerumleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Unterstützung der Umleitung für Benutzer mit sowohl Windows XP
als auch Windows Vista . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Umleitung ohne Gruppenrichtlinien: Favoriten, Musik, Bilder und Videos . . . . . . . . . . .
Erzielen einer einheitlichen Umgebung für Windows XP
und Windows Vista mit umgeleiteten Ordnern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren von Offlinedateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen des Caches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen der Zwischenspeicherung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen der Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen des Offlinemodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nutzen von Offlinedateien für das UDS-Framework . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Offlinedateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entwerfen und Einrichten von servergespeicherten Profilen . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Struktur des Windows Vista-Benutzerprofils . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Bestandteile von Benutzerprofilen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren der nicht servergespeicherten Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren servergespeicherter Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erkennen der V2-Endung von servergespeicherten Windows Vista-Profilen . . . . . . . . . .
Vereinheitlichen der Arbeitspraxis von Windows XP- und Windows Vista-Benutzern . .
Legenden über servergespeicherte Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Vorteile servergespeicherter Profile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten des Ordners mit den Anwendungsdaten (AppData\Roaming) . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten lokal gespeicherter Benutzerdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Welche Daten sollen nur lokal verwaltet werden? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entwerfen einer Ordnerstruktur für rein lokale Daten . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten von Ordnern für rein lokale Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sicherstellen, dass die Anwendungen die verschobenen Medienordner finden . . . . . . . . .
Umleiten von rein lokal behandelten Windows XP-Medienordnern . . . . . . . . . . . . . . . . .
Vorsehen von Möglichkeiten zum Auffinden verschobener Ordner . . . . . . . . . . . . . . . . .
Informieren und Schulen der Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von nur lokal zugänglichen Benutzerdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
219
221
225
228
230
234
236
237
237
237
238
238
239
239
239
247
248
248
248
249
249
252
253
254
255
255
256
257
257
258
259
259
260
260
262
262
263
264
265
265
265
265
266
X
Inhaltsverzeichnis
Festlegen des Namens für den Order mit lokalen Dateien . . . . . . . . . . . . . . . . . . . . . . . . .
Option 1: Verwenden eines Ordners mit servergespeichertem Profil . . . . . . . . . . . . . . . .
Option 2: Nutzen von Offlinedateien (nur Windows Vista) . . . . . . . . . . . . . . . . . . . . . . . .
Option 3: Erstellen eines lokalen Ordners, der auf einem
Netzwerkspeicher gesichert wird . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit,
Mobilität und Ausfallsicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen der Ziele einer Synchronisationslösung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Robocopy als Sicherungsmodul . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Folder_Synch.vbs als Wrapper für Robocopy . . . . . . . . . . . . . . . . . . . . .
Bereitstellen von Folder_Synch.vbs und Robocopy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wie und wann soll Folder_Synch.vbs für die einzelnen
lokalen Speicher ausgeführt werden? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Manuelles Starten von Folder_Synch.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rechtsklicken und Sichern eines Ordners mit einem Shellbefehl . . . . . . . . . . . . . . . . . . .
Die manuellen Optionen für Folder_Synch.vbs im Vergleich . . . . . . . . . . . . . . . . . . . . . .
Automatisches Ausführen von Folder_Synch.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausführen von Folder_Synch.vbs nach einem Zeitplan . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausführen von Folder_Synch.vbs als Anmelde-, Abmelde-, Startskript
oder Skript zum Herunterfahren . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Protokollieren und Überwachen der Synchronisation . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen
mit der Technologie (II) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Herausforderung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ermitteln der gewünschten Klassen von Datenspeichern . . . . . . . . . . . . . . . . . . . . . . . . . .
Analysieren und Klassifizieren der Benutzerdatenspeicher und Daten . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
266
267
267
269
270
270
270
270
271
272
273
273
274
274
276
278
279
279
280
281
282
283
283
283
283
284
284
287
Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint . . . . . . . . . . . 289
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Erstellen und Einrichten einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer Website . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einstellungen für die Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen des Titels der Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aktivieren und Deaktivieren von Ordnern innerhalb der Dokumentbibliothek . . . . . . . . .
Ändern der Standardvorlage für die Bibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
290
291
291
291
292
292
294
295
296
297
4.2
4.3
4.4
4.5
Inhaltsverzeichnis
XI
Einrichten der Sicherheit für die Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten der Berechtigungen für Dokumentbibliotheken,
Ordner und Dokumente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von Dokumentmetadaten mit Bibliotheks- und Websitespalten . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer Spalte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Arbeiten mit benutzerdefinierten Spalten aus Microsoft Office-Clients . . . . . . . . . . . . . .
Arbeiten mit Dokumenteigenschaften aus der SharePoint-Webschnittstelle . . . . . . . . . . .
Ändern und Löschen von Bibliotheksspalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Umordnen von Spalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von Websitespalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Websitespalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden einer Websitespalte in einer Liste oder Bibliothek . . . . . . . . . . . . . . . . . . . . .
Ändern und Löschen von Websitespalten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von verwalteten Inhaltstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines Inhaltstyps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hinzufügen von Inhaltstypen zu einer Liste oder Bibliothek . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen von untergeordneten Website- und Listeninhaltstypen . . . . . . . . . . . . . . . . .
Schreibschutz für einen Inhaltstyp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ändern Sie keine standardmäßigen SharePoint-Inhaltstypen . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten mehrerer Vorlagen für eine Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer zentralen Bibliothek für Vorlagen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen des Inhaltstyps für eine Vorlage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren einer Bibliothek zur Unterstützung der Inhaltstypen . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hinzufügen, Speichern und Hochladen von Dokumenten
in einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines neuen Dokuments mit der Schaltfläche Neu . . . . . . . . . . . . . . . . . . . . . . .
Hochladen von Dokumenten mit den Befehlen unter Hochladen . . . . . . . . . . . . . . . . . . .
Hinzufügen von Dokumenten mit Windows Explorer . . . . . . . . . . . . . . . . . . . . . . . . . . .
Speichern von Inhalten einer SharePoint-kompatiblen
Anwendung in einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
E-Mail-Aktivierung einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
298
299
300
300
300
300
301
303
305
307
307
308
308
308
309
310
310
310
310
310
313
314
315
315
315
316
316
316
316
317
317
318
318
318
318
318
319
320
321
321
322
XII
Inhaltsverzeichnis
4.6 Erstellen von Verknüpfungen zu Dokumentbibliotheken für Endbenutzer . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Netzwerkressourcen (Windows XP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Netzwerkressourcen (Windows Vista) . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.7 Isolieren und Verwalten von hochgeladenen Dokumenten
in Bibliotheken mit mehreren Inhaltstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8 Arbeiten mit Dokumenten in einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen eines Dokuments in einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . .
Bearbeiten eines Dokuments in einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . .
Öffnen eines Dokuments mit Office 2007-Clients . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9 Überwachen von Änderungen an Bibliotheken und
Dokumenten mit Warnungen und RSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abonnieren von E-Mail-Warnungen für eine Bibliothek oder ein Dokument . . . . . . . . . .
Überwachen der Bibliotheksaktivität mit RSS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.10 Steuern der Dokumentbearbeitung durch Auschecken . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erzwingen des Auscheckens von Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auschecken von Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wie wirkt das Auschecken auf den Benutzer? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten des Eincheckens von Dokumenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 Einrichten und Warten des Dokument-Versionsverlaufs . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren des Versionsverlaufs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von Haupt- und Nebenversionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von Dokumentversionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vergleichen von Dokumentversionen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.12 Einrichten der Inhaltsgenehmigung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren der Inhaltsgenehmigung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
322
322
322
322
323
324
324
324
324
325
326
326
326
326
326
326
327
327
327
327
328
329
329
329
329
329
329
330
331
331
332
333
333
333
333
334
334
335
335
335
335
335
335
4.13
4.14
4.15
4.16
Inhaltsverzeichnis
XIII
Das Zusammenwirken von Inhaltsgenehmigung, Versionssteuerung und Auschecken . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten eines Drei-Status-Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten des Auswahlfelds für den Status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten des Drei-Status-Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starten und Verwalten des Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Gliedern und Verwalten von Dokumenten mit Ordnern und Ansichten . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufteilen des Dokumentverwaltungsbereichs mit Ordnern . . . . . . . . . . . . . . . . . . . . . . . .
Aufteilen der Darstellung und Verwaltung von Dokumenten mit Ansichten . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren der WSS-Indizierung von PDF-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Deaktivieren der Suche innerhalb einer Bibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aktivieren der Indizierung von PDFs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zuweisen eines Symbols zu nicht erkannten Dateitypen . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Offline arbeiten mit SharePoint-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Herunterladen einer Kopie der Datei . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Offlinezugriff auf Dateien mithilfe des lokalen Caches . . . . . . . . . . . . . . . . . . . . . . . . . . .
Offlinestellen von Bibliotheken und Listen mit Outlook 2007 . . . . . . . . . . . . . . . . . . . . .
Weitere Möglichkeiten für die Offlineverwendung von SharePointDokumentbibliotheken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
336
336
336
336
336
337
337
339
340
340
340
341
341
341
342
342
342
342
342
343
345
346
346
346
346
347
347
348
349
349
Lösungsgruppe 5: Active Directory-Delegierung und administrative Sperrung . . . . . . . . . . . . 351
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.1 Bestandteile und Werkzeuge der Active Directory-Delegierung . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Active Directory-Objektzugriffssteuerungslisten
und des ACL-Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von Zugriffssteuerungseinträgen für Active Directory-Objekte . . . . . . . . . . . .
Die goldenen Regeln der Delegierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ihr Freund zum Zuweisen von Berechtigungen: der Assistent
zum Zuweisen der Objektverwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten der Darstellung der Delegierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
351
353
353
353
353
355
357
358
360
361
XIV
Inhaltsverzeichnis
5.2 Anpassen des Assistenten zum Zuweisen der Objektverwaltung . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Speicherort und Grundlagen von Delegwiz.inf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anpassen von Delegwiz.inf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden der neuen Version von Delegwiz.inf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.3 Anpassen der Berechtigungen im ACL-Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erkennen von verborgenen Berechtigungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ändern von Dssec.dat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sicherstellen der Sichtbarkeit aller zu delegierenden Berechtigungen . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.4 Auswerten, Anzeigen und Widerrufen von Active Directory-Berechtigungen . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen von Active Directory-Berechtigungen mit Dsacls . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen von Active Directory-Berechtigungen mit ACLDiag . . . . . . . . . . . . . . . . . . . .
Anzeigen von Active Directory-Berechtigungen mit ADFind . . . . . . . . . . . . . . . . . . . . . .
Anzeigen von Active Directory-Berechtigungen mit DSRevoke . . . . . . . . . . . . . . . . . . . .
Auswerten von Active Directory-Berechtigungen für bestimmte
Benutzer oder Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Widerrufen von Active Directory-Berechtigungen mit DSRevoke . . . . . . . . . . . . . . . . . .
Widerrufen von Active Directory-Berechtigungen mit Dsacls . . . . . . . . . . . . . . . . . . . . .
Zurücksetzen von Berechtigungen auf den Schemastandard . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.5 Zuweisen und Widerrufen von Berechtigungen mit Dsacls . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die grundlegende Syntax von Dsacls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren von Berechtigungen zur Verwaltung von Computerobjekten . . . . . . . . . . . . .
Gewähren von Berechtigungen zur Verwaltung anderer gängiger Objektklassen . . . . . . .
Delegieren anderer häufiger Aufgaben mit Dsacls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.6 Definieren des Verwaltungsmodells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Definieren der Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen des Gültigkeitsbereichs für jede Aufgabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bündeln von Aufgaben in einem Gültigkeitsbereich . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen der Regeln, nach denen die Aufgabenbündel
durchgeführt werden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
361
361
361
362
365
366
367
367
367
368
368
369
371
371
371
371
372
372
372
373
375
376
377
377
377
379
379
379
379
379
380
381
382
388
388
388
388
389
389
389
390
390
Inhaltsverzeichnis
XV
5.7 Rollenbasierte Verwaltung der Active Directory-Delegierung . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Probleme beim Modell der nicht verwalteten Delegierung . . . . . . . . . . . . . . . . . . . . .
Erstellen von Befugnisverwaltungsgruppen zur Verwaltung
der Delegierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zuweisen von Berechtigungen an Befugnisverwaltungsgruppen . . . . . . . . . . . . . . . . . . .
Delegieren der Steuerung durch Hinzufügen von Rollen
zu Befugnisverwaltungsgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von detaillierten Befugnisverwaltungsgruppen . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen von Berechtigungen bei der rollenbasierten Delegierung . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.8 Skripterstellung für die Delegierung in Active Directory . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Notwendigkeit der skriptgesteuerten Delegierung . . . . . . . . . . . . . . . . . . . . . . . . . . .
Skriptgesteuerte Delegierung mit Dsacls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.9 Delegieren der Verwaltung und Unterstützung von Computern . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen der Gültigkeitsbereiche von Computern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Befugnisverwaltungsgruppen für die Verwaltungsbereiche . . . . . . . . . . . .
Delegieren der lokalen Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten des Gültigkeitsbereichs der Delegierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Entfernen der Gruppe Domänen-Admins aus der lokalen Administratorengruppe . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.10 Leeren so vieler integrierter Gruppen wie möglich . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren der Verwaltung an benutzerdefinierte Gruppen . . . . . . . . . . . . . . . . . . . . . . . .
Erkennen geschützter Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Versuchen Sie nicht, die Delegierung integrierter Gruppen aufzuheben! . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
390
390
390
391
392
393
393
393
394
396
396
396
396
396
397
398
398
398
399
399
399
400
402
403
404
404
404
404
404
404
405
406
Lösungsgruppe 6: Verbessern der Verwaltung von Computern . . . . . . . . . . . . . . . . . . . . . . . . 407
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.1 Empfohlene Vorgehensweisen für die Verwaltung von Computern in Active Directory .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten von Namenskonventionen für Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen der Anforderungen für den Beitritt von Computern zu Domänen . . . . . . . . . .
Einrichten von Active Directory für die Delegierung
der Verwaltung von Computerobjekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
407
409
409
409
409
410
411
XVI
Inhaltsverzeichnis
6.2
6.3
6.4
6.5
6.6
Delegieren von Berechtigungen zum Erstellen von Computern in der Domäne . . . . . . . .
Erstellen eines Computerobjekts in Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren von Berechtigungen für den Domänenbeitritt von Computern
mithilfe vorhandener Computerobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hinzufügen von Computern zu einer Domäne . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sicherstellen der korrekten Anmeldung nach dem Beitritt zu einer Domäne . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Steuern des Beitritts nicht verwalteter Computer zur Domäne . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Konfigurieren des Standardcontainers für Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Computerobjekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Computer_JoinDomain.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Computerkonten mit Computer_JoinDomain.hta . . . . . . . . . . . . . . . . . . . .
Erstellen eines Kontos und Beitreten zu einer Domäne mit Computer_JoinDomain.hta .
Grundlagen von Computer_JoinDomain.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verteilen von Computer_JoinDomain.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von Computerrollen und Befugnissen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatisieren der Verwaltung von Desktop- und Laptopgruppen . . . . . . . . . . . . . . . . .
Anpassen und Verwenden von Computer_DesktopsLaptops.vbs . . . . . . . . . . . . . . . . . . .
Bereitstellen von Software mit Computergruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bezeichnen und Verwalten anderer Computerrollen und -befugnisse . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zurücksetzen von Computern und Neuzuweisung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erneutes Beitreten zu einer Domäne ohne Zerstörung
der Gruppenmitgliedschaften eines Computers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Korrektes Ersetzen eines Computers durch Zurücksetzen
und Umbenennen des Computerobjekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ersetzen eines Computers durch Kopieren der Gruppenmitgliedschaften
und Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einrichten der Beziehungen zwischen Benutzern und ihren Computern
mit integrierten Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verfolgen der Zuweisung eines Computers zu einem einzelnen Benutzer
oder einer Gruppe mit dem Attribut managedBy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
413
413
414
415
417
418
418
418
419
420
422
423
423
423
424
426
427
429
429
429
429
429
430
430
431
432
433
433
434
434
434
434
435
436
437
437
437
437
438
Inhaltsverzeichnis
Verfolgen der Zuweisung von Computern zu einem Benutzer
mit dem Attribut manager . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.7 Nachverfolgen der Zuweisung von Computern zu Benutzern
durch Erweitern des Schemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Einfluss der Schemaerweiterung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Planen der Objektklassen ComputerAssignedTo und ComputerInfo . . . . . . . . . . . . . . . . .
Erwerben einer Objektkennung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Registrieren des Snap-Ins Active Directory-Schema . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Haben Sie die Berechtigungen für eine Schemaänderung? . . . . . . . . . . . . . . . . . . . . . . . .
Verbindung mit dem Schemamaster . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen des Attributs ComputerAssignedTo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen der Objektklasse ComputerInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verknüpfen der Objektklassen ComputerInfo und Computer . . . . . . . . . . . . . . . . . . . . . .
Vergeben eines Anzeigenamens für das Attribut ComputerAssignedTo . . . . . . . . . . . . . .
Replizieren der Änderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren der Berechtigungen zum Ändern des Attributs . . . . . . . . . . . . . . . . . . . . . . . .
Integrieren von Computer_AssignTo.hta in Active Directory-Benutzer und -Computer .
Hinzufügen anderer Attribute zu Computerobjekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.8 Einrichten von selbstständig angezeigten Computerinformationen . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bestimmen der gewünschten Informationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wo sollen die Informationen erscheinen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen von Computerinformationen mit Computer_InfoToDescription.vbs . . . . . . . . .
Grundlagen von Computer_InfoToDescription.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Offenlegen der Berichtsattribute in Active Directory-Benutzer und -Computer . . . . . . . .
Delegieren der Berechtigungen für die Anzeige von Computerinformationen . . . . . . . . .
Automatisieren der Anzeige von Computerinformationen durch Startund Anmeldeskripts und geplante Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weitere Möglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.9 Integrieren der Werkzeuge in Active Directory-Benutzer und -Computer . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hinzufügen des Befehls zur Verbindung mit dem Remotedesktop . . . . . . . . . . . . . . . . . .
Hinzufügen des Befehls zum Öffnen der Befehlszeile . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ausführen eines Befehls auf einem Remotesystem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Befehlsaufgaben für die Remoteverwaltung mit Remote_Command.hta . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XVII
439
440
441
441
441
441
442
443
443
444
444
444
446
447
448
449
449
449
453
453
454
454
454
454
455
455
455
456
456
458
458
459
459
459
460
460
461
461
462
463
XVIII
Inhaltsverzeichnis
Lösungsgruppe 7: Erweitern von Benutzerattributen und Verwaltungswerkzeugen . . . . . . . . 465
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.1 Empfohlene Vorgehensweisen für Benutzernamen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufstellen eines Standards für die Namesattribute von Benutzerobjekten . . . . . . . . . . . .
Verwenden verwaltbarer Benutzeranmeldenamen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein zweiter »Hans Mustermann« in Active Directory . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.2 Verwalten von Active Directory-Objekten mit gespeicherten Abfragen . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer benutzerdefinierten Konsole zur Anzeige aller Domänenbenutzer . . . . . .
Festlegen des Gültigkeitsbereichs einer gespeicherten Abfrage . . . . . . . . . . . . . . . . . . . .
Aufstellen von gespeicherten Abfragen für bestimmte Objekte . . . . . . . . . . . . . . . . . . . .
Grundlagen der LDAP-Abfragesyntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einige nützliche LDAP-Abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Austauschen von gespeicherten Abfragen zwischen Konsolen und Administratoren . . . .
Verwenden von gespeicherten Abfragen für die meisten Arten
von Verwaltungsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.3 Erstellen von MMC-Konsolen für untergeordnete Administratoren . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer Konsole mit gespeicherten Abfragen . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines Aufgabenblocks mit Aufgaben für jede delegierte Fähigkeit . . . . . . . . . .
Hinzufügen von Werkzeugen und Skripts zum Aufgabenblock . . . . . . . . . . . . . . . . . . . .
Hinzufügen von Dokumentation zur Konsole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen einer Verwaltungs-Homepage in der Konsole . . . . . . . . . . . . . . . . . . . . . . . . . .
Hinzufügen der Aufgabenblöcke zu den MMC-Favoriten . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Navigationsaufgaben . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Speichern der Konsole im Benutzermodus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sperren der Konsolenansicht . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verteilen der Konsole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.4 Erweitern der Attribute von Benutzerobjekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Nutzen von nicht verwendeten und nicht offen gelegten Attributen
der Benutzerobjekte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erweitern des Schemas mit benutzerdefinierten Attributen und Objektklassen . . . . . . . .
Erstellen eines Attributs zur Anzeige des Computers,
an dem ein Benutzer angemeldet ist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines Attributs zur Unterstützung der Softwareanforderungen des Benutzers . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
465
467
467
467
467
473
476
476
477
477
477
478
479
480
482
483
484
485
485
485
485
486
486
487
489
489
490
490
490
491
492
492
492
493
493
493
493
495
497
498
499
Inhaltsverzeichnis
7.5 Erstellen von Werkzeugen zur Verwaltung von nicht
verwendeten und benutzerdefinierten Attributen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen und Bearbeiten der Werte von nicht offen gelegten Attributen . . . . . . . . . . . . .
Anzeigen und Bearbeiten von einwertigen Attributen mit Object_Attribute.vbs . . . . . . .
Anzeigen und Bearbeiten von ein- oder mehrwertigen Attributen
mit Object_Attribute.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.6 Verschieben von Benutzern und anderen Objekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erforderliche Berechtigungen zum Verschieben von Objekten in Active Directory . . . . .
Die DoS-Gefahr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorsichtiges Einschränken der Delegierung zum Verschieben (Löschen) von Objekten .
Delegieren von sensiblen Aufgaben wie der Objektlöschung an tertiäre
administrative Anmeldeinformationen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übertragen der Aufgabe an Stellvertreter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
7.7 Erstellen von Benutzern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Ein Skript zum Erstellen von Benutzern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von grafischen Werkzeugen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XIX
499
499
499
500
507
508
509
509
509
509
510
510
510
511
511
511
512
512
512
512
515
515
Lösungsgruppe 8: Eine neue Sichtweise der Verwaltung
von Gruppen und Mitgliedschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.1 Empfohlene Vorgehensweisen für das Erstellen von Gruppenobjekten . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von selbst dokumentierenden Gruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schützen von Gruppen vor versehentlichem Löschen . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Abwägen des Gruppentyps: Sicherheits- oder Verteilergruppe . . . . . . . . . . . . . . . . . . . . .
Abwägen des Gültigkeitsbereichs: global, lokale Domäne, universell . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.2 Delegieren der Verwaltung von Gruppenmitgliedschaften . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Attribute member und memberOf . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren der Berechtigung zum Schreiben des member-Attributs . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
517
519
519
519
519
521
522
524
526
526
526
526
527
528
534
XX
Inhaltsverzeichnis
8.3 Erstellen von Abonnementgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wann eignen sich Abonnementgruppen? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren von »Selber als Mitglied hinzufügen/entfernen« . . . . . . . . . . . . . . . . . . . . . . .
Bereitstellen von Werkzeugen zum Abonnieren oder Aufheben des Abonnements . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.4 Erstellen einer HTML-Anwendung für Abonnementgruppen . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Group_Subscription.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen von Group_Subscription.hta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Der Nutzen von Gruppenstandards . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.5 Erstellen von Schattengruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Schattengruppen und detaillierte Kennwort- und Kontosperrungs-Richtlinien . . . . . . . . .
Die Elemente eines Schattengruppen-Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Aufstellen der Gruppenmitgliedschafts-Abfrage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen des grundlegenden Gültigkeitsbereichs der Abfrage . . . . . . . . . . . . . . . . . . . . .
Entwickeln eines Skripts zur Verwaltung des member-Attributs
mit minimalem Einfluss auf die Replikation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Regelmäßiges Ausführen des Skripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auslösen des Skripts durch Änderungen an einer Organisationseinheit . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.6 Benutzerfreundliche Werkzeuge für die Gruppenverwaltung . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Auflisten von memberOf und member . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anzeigen von direkten, indirekten und primären Gruppenmitgliedschaften . . . . . . . . . . .
Auflisten der Mitgliedschaften eines Benutzers nach Gruppentyp . . . . . . . . . . . . . . . . . .
Anzeigen aller Mitglieder einer Gruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hinzufügen und Entfernen von Gruppenmitgliedern mit Group_ChangeMember.hta . . .
Steuern der Gruppen durch die zuständigen Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Hinweise und weitere Möglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
8.7 Durchsetzen von Regeln und Protokollierung durch Bevollmächtigung . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen der Bevollmächtigung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Komponenten des Proxy-Frameworks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Was bringt Ihnen die Bevollmächtigung? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren der Gruppenverwaltung an Benutzer
mit erhöhter Zuverlässigkeit und Sicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
534
534
534
535
536
537
539
540
540
540
540
541
542
543
543
543
544
544
545
545
545
546
547
548
548
549
549
549
549
550
551
551
552
553
554
554
555
555
555
556
557
565
565
Inhaltsverzeichnis
XXI
Lösungsgruppe 9: Verbessern der Bereitstellung und Verwaltung
von Anwendungen und Konfiguration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.1 Bereitstellen von Software-Verteilungspunkten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Rationalisieren der Namespaces für Softwareordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten des Zugriffs auf Software-Verteilungsordner . . . . . . . . . . . . . . . . . . . . . . . . . .
Freigeben des Softwareordners und Verschleiern seines Speicherorts
mit einem DFS-Namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Replizieren von Software-Verteilungsordnern an Remotestandorte und Filialen . . . . . . .
Erstellen eines Speicherorts für eigene Werkzeuge und Skripts . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.2 Neue Ansätze zum Packen von Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatisieren der Anwendungsinstallation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Lesen der Ergebniscodes einer Anwendungsinstallation . . . . . . . . . . . . . . . . . . . . . . . . . .
Installieren mit Software_Setup.vbs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Trennen der Konfiguration von der Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Installieren der aktuellen Version einer Anwendung . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.3 Softwareverwaltung mit Gruppenrichtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorbereiten einer Anwendung auf die Bereitstellung mit GPSI . . . . . . . . . . . . . . . . . . . .
Konfigurieren eines Gruppenrichtlinienobjekts zur Bereitstellung einer Anwendung . . .
Festlegen des Gültigkeitsbereichs einer Bereitstellung
mit Anwendungsgruppen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Filtern des Gruppenrichtlinienobjekts mit der Anwendungsgruppe . . . . . . . . . . . . . . . . . .
Verknüpfen des Gruppenrichtlinienobjekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Wann sollten Sie GPSI verwenden? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
GPSI und Microsoft Office 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Weitere Möglichkeiten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.4 Bereitstellen von Dateien und Konfigurationen mit Gruppenrichtlinien-Voreinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bereitstellen von Dateien mit Gruppenrichtlinien-Dateieinstellungen . . . . . . . . . . . . . . .
Auslösen von Registrierungsänderungen durch
Registrierungsvoreinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
567
569
569
569
570
572
573
575
577
577
577
577
578
579
580
581
583
584
585
586
586
586
586
586
588
589
589
591
591
592
592
592
592
592
593
595
598
XXII
Inhaltsverzeichnis
9.5 Eine Softwareverwaltungs-Infrastruktur im Eigenbau . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Herausforderungen bei der Bereitstellung von Anwendungen
wie Microsoft Office 2007 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorbereiten eines Software-Verteilungsordners für Microsoft Office 2007 . . . . . . . . . . .
Erstellen einer Anpassungsdatei für die Installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Starten einer unbeaufsichtigten Installation von Office 2007 . . . . . . . . . . . . . . . . . . . . . .
Anforderungen an ein eigenes Softwareverwaltungsframework . . . . . . . . . . . . . . . . . . . .
Anpassen von Software_Deploy.vbs für die Bereitstellung von Anwendungen . . . . . . . .
Änderungsverwaltung durch Gruppenmitgliedschaften . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bereitstellen einer Anwendung mit geplanten Aufgaben . . . . . . . . . . . . . . . . . . . . . . . . . .
Steuern des Installationszeitpunkts durch die Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
9.6 Automatisieren von Vorgängen mit SendKeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Automatisieren einer Aktionssequenz mit SendKeys . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen und Anpassung von Config_QuickLaunch_Toggle.vbs . . . . . . . . . . . . . . . . .
Festlegen von »Details« als Standardansicht für alle Ordner . . . . . . . . . . . . . . . . . . . . . . .
Automatisierung mit AutoIt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
598
598
598
599
599
600
601
602
602
607
609
610
611
611
611
612
612
614
615
615
615
Lösungsgruppe 10: Verwalten von Änderungen, Konfiguration und Richtlinien . . . . . . . . . . . 617
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.1 Erstellen eines Arbeitsflusses zur Änderungssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erkennen von notwendigen Änderungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übersetzen der Änderungen in Gruppenrichtlinieneinstellungen . . . . . . . . . . . . . . . . . . .
Testen der Änderungen in einer Laborumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vermitteln der Änderungen an die Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Testen der Änderungen in der Produktionsumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Migrieren von Benutzern und Computern in der Produktionsumgebung . . . . . . . . . . . . .
Einrichten von mehr Gruppenrichtlinienobjekten mit weniger Einstellungen . . . . . . . . . .
Aufstellen einer Namenskonvention für Gruppenrichtlinienobjekte . . . . . . . . . . . . . . . . .
Sicherstellen, dass Gruppenrichtlinienobjekte während ihrer
Konfiguration nicht angewendet werden . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Sichern von Gruppenrichtlinienobjekten vor und nach Änderungen . . . . . . . . . . . . . . . . .
Dokumentieren der Einstellungen und des Gruppenrichtlinienobjekts . . . . . . . . . . . . . . .
Sorgfältiges Festlegen des Gültigkeitsbereichs von Gruppenrichtlinienobjekten . . . . . . .
Einrichten eines Arbeitsflusses für die Änderungsverwaltung
mit mehreren Dienstleistungsniveaus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Grundlagen des Verhaltens clientseitiger Gruppenrichtlinien . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
618
619
619
619
620
620
620
621
621
621
621
622
623
623
624
624
624
624
626
Inhaltsverzeichnis
10.2 Ausweiten der rollenbasierten Verwaltung auf Änderungen und Konfigurationen . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Festlegen von Sicherheitsgruppen als Gültigkeitsbereich
von Gruppenrichtlinienobjekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwalten von Ausnahmen von einem gesamten Gruppenrichtlinienobjekt . . . . . . . . . . .
Verwalten von Ausnahmen von einigen Einstellungen eines Gruppenrichtlinienobjekts .
Verknüpfen von gefilterten Gruppenrichtlinienobjekten . . . . . . . . . . . . . . . . . . . . . . . . . .
Optimieren der Gruppenverwaltungstechniken zur Steuerung
des Gültigkeitsbereichs von Gruppenrichtlinienobjekten . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.3 Kennwort- und Kontosperrungsrichtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Überprüfen der Eignung von Kennwortrichtlinien für Ihre Organisation . . . . . . . . . . . . .
Anpassen der standardmäßigen Gruppenrichtlinienobjekte
an die Richtlinien des Unternehmens . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Umsetzen der Kennwort-, Sperrungs- und Kerberos-Richtlinien . . . . . . . . . . . . . . . . . . .
Umsetzen detaillierter Kennwortrichtlinien zum Schutz
sensibler und privilegierter Konten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Vorrang von Kennworteinstellungsobjekten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.4 Richtlinien zur Authentifizierung und Active Directory-Überwachung . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Umsetzen von Überwachungsrichtlinien durch Ändern des Gruppenrichtlinienobjekts Default Domain Controllers Policy . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Überwachen von Fehlerereignissen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Anpassen von Überwachungs- und Firmenrichtlinien an die Realität . . . . . . . . . . . . . . . .
Überwachen von Änderungen an Active Directory-Objekten . . . . . . . . . . . . . . . . . . . . . .
Einsehen von Überwachungsereignissen im Sicherheitsprotokoll . . . . . . . . . . . . . . . . . . .
Überwachen von Verzeichnisdienständerungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.5 Durchsetzen von Firmenrichtlinien mit Gruppenrichtlinien . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Übersetzen von Firmenrichtlinien in Sicherheits- und nicht
sicherheitsrelevante Richtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen von Gruppenrichtlinienobjekten für Einstellungen aus Firmenrichtlinien . . . . .
Festlegen der Domäne als Gültigkeitsbereich von Gruppenrichtlinien . . . . . . . . . . . . . . .
Durchsetzen von Firmensicherheits- und Konfigurationsrichtlinien . . . . . . . . . . . . . . . . .
Vorausschauende Verwaltung von Ausnahmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bereitstellen eines verwalteten Migrationspfades zur Umsetzung von Richtlinien . . . . . .
Brauchen Sie mehr als ein Gruppenrichtlinienobjekt
zur Umsetzung von Firmenrichtlinien? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
XXIII
626
626
627
627
631
631
632
632
633
634
634
634
634
637
638
639
641
643
644
644
644
644
647
647
647
649
649
651
651
651
652
652
652
653
653
654
654
655
655
XXIV
Inhaltsverzeichnis
10.6 Erstellen einer Hierarchie für die delegierte Gruppenrichtlinienverwaltung . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren von Berechtigungen zur Verknüpfung bestehender
Gruppenrichtlinienobjekte mit einer Organisationseinheit . . . . . . . . . . . . . . . . . . . . . . . . .
Delegieren der Fähigkeit zur Verwaltung eines bestehenden Gruppenrichtlinienobjekts .
Delegieren der Berechtigung zum Erstellen von Gruppenrichtlinienobjekten . . . . . . . . . .
Geschäftliche und technische Bedenken zur Delegierung von Gruppenrichtlinien . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.7 Testen, Validieren und Migrieren von Richtlinieneinstellungen . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Erstellen eines wirksamen Verwaltungsbereichs für einen Pilottest . . . . . . . . . . . . . . . . .
Vorbereiten und Modellieren der Auswirkungen des Pilottests . . . . . . . . . . . . . . . . . . . . .
Erstellen eines Rollback-Mechanismus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Durchführen des Pilottests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Migrieren von Objekten in den Gültigkeitsbereich
des neuen Gruppenrichtlinienobjekts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
10.8 Einfache Tipps zu Gruppenrichtlinien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Die Lösung im Überblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Einführung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Bereitstellen von Registrierungsänderungen mit Vorlagen
oder Registrierungsvoreinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Loopback-Gruppenichtlinienverarbeitung im Zusammenführungsmodus . . . . . . . . . . . . .
Ausführen von GPUpdate auf einem Remotesystem zum Auslösen von Änderungen . . .
Delegieren von Berechtigungen für Berichte des Gruppenrichtlinienergebnissatzes . . . .
Verwenden von Standorten oder Schattengruppen als Gültigkeitsbereich
von Netzwerkeinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Verwenden von Schattengruppen anstelle von WMI-Filtern . . . . . . . . . . . . . . . . . . . . . . .
Einfache Gruppenrichtlinieneinstellungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
656
656
656
657
658
659
660
661
662
662
662
662
663
664
665
666
666
666
666
666
667
667
668
668
668
669
669
Stichwortverzeichnis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
Über den Autor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691
Dieses Buch ist meinen wunderbaren Kunden gewidmet,
denen ich über zehn Jahre Lernen, ein Leben voller Erfahrungen
und einen Schatz an Wissen verdanke. Dieses Buch
ist für sie geschrieben, aber es stammt auch
von ihnen und geht durch mich als Vermittler an Sie,
die Gemeinschaft der Windows-Administratoren.
XXVII
Danksagungen
Das Buch, das Sie in den Händen halten, blickt auf eine lange Geschichte zurück, die von vielen
wunderbaren Menschen geformt wurde – Menschen, die mir geholfen haben, diesen Weg zu gehen.
An erster Stelle sind meine Kunden zu nennen – diese Sklaven treibenden, wahnsinnigen, Ehrfurcht
gebietenden Freunde, die mir vertrauen, dass ich sie und ihr Unternehmen in die richtige Richtung führe
und die ihre Kenntnisse und ihre Erfahrungen mit mir teilen. Ohne sie gäbe es nicht diesen reichen
Schatz an Wissen, Lösungen und Erfahrungen, aus dem diese technische Referenz schöpft. Vielen Dank
dafür, dass ihr aus meiner Karriere eine ständige Lernerfahrung macht. Danke für euer Vertrauen in
mich. Danke für die vielen einmaligen Gelegenheiten, die ihr mir geschenkt habt.
Als Nächstes sind da meine Kollegen – die überverrückten Überguru-Jungs und -Mädels, die mich mit
ihrer Hirnmasse und ihren Muskeln glatt überrumpeln. Jeremy, Don, Darren, Mark, Rhonda, Derek,
Alan, Gil, Sean, Guido, Jim, Brian, Steve, Richard, Joel, Tom – ich wäre sehr traurig, wenn ich jemanden vergessen hätte. Vielen Dank dafür, dass ihr die Latte so hoch gelegt und mich ermutigt habt, sie zu
erreichen!
Dann gilt mein Dank den unglaublichen Leuten bei Microsoft Press. Beginnen wir mit Martin Del Re.
Du hast mich damals Anno 2003 gesehen, wie ich Lösungen vorstellte, und gesagt: »Eines Tages
müssen wir das Zeug aufschreiben.« Und bist dabei geblieben. Wir haben es geschafft! Karen Szall: Ich
habe mein ganzes Können in dieses Projekt gesteckt, und ich bin Dir etwas schuldig! Melissa von
Tschudi-Sutton: Du bist auf diesen Zug aufgesprungen, ohne je zuvor mit mir gearbeitet zu haben, und
hast innerhalb von nicht mehr als zehn Wochen über 650 Seiten Inhalt und Dutzende von Skripts daraus
fertig gestellt. Es gibt nicht genug Worte, um dir zu danken, Melissa! Und natürlich Curtis Philips,
Rozanne Whalen, Roger LeBlanc und Teresa Barensfeld – ihr habt diese neue Art von technischer
Referenz mit verblüffendem Können in Angriff genommen. Dieses Projekt war ein Mammutunternehmen, das ohne jeden einzelnen von euch nicht möglich gewesen wäre. Ich habe so viel Glück gehabt,
dass ich mit euch zusammenarbeiten durfte!
Schließlich und vor allem möchte ich meinen Freunden und meiner Familie danken: Lyman, Maddie,
Mom und Dad, Bob und Joni, Stan und Marylyn, Julie, Joe und die ganze Clique in Maui und Phoenix.
Eure Geduld, eure Unterstützung und eure Liebe waren das Öl in meinem Feuer. Vielen Dank dafür,
dass ihr mich ermutigt und angestachelt und an der Ziellinie auf mich gewartet habt. Ich schulde euch
allen viel Zeit, wenn dieses Projekt abgeschlossen ist. Ihr habt mir beigebracht, was ohano bedeutet.
Mahalo!
XXIX
Einleitung
Willkommen bei Windows-Administration – Die technische Referenz!
Dieses Buch ist eine Fundgrube für Lösungen, die Ihnen helfen sollen, Microsoft Windows-Technologien einzusetzen, um Probleme zu lösen, wie sie in der Unternehmenspraxis auftreten. Die meisten
technischen Referenzen haben sich auf ein einzelnes Produkt oder ein Feature konzentriert und das
Innenleben dieser Technologie genau untersucht, doch in diesem Buch nehmen wir einen anderen
Blickwinkel ein. Hier schauen wir uns an, wie Sie Windows-Technologien an Ihren geschäftlichen
Erfordernissen ausrichten.
Das klingt nach etwas, für das Sie normalerweise einen Berater anheuern müssten, und das ist auch
wirklich so. Was dieses Buch möglich gemacht hat, waren die vielen Jahre, in denen ich als Berater und
Unterweiser meinen Kunden geholfen habe, geschäftliche und technische Herausforderungen zu meistern. Sehr oft, wenn ich einem Kunden eine Lösung präsentiert hatte, wurde ich gefragt: »Gibt es ein
Buch darüber?« Nun, hier ist es! Ich sehe es als den »Windows-Berater aus der Schachtel« an. Oder
besser gesagt, im Buch.
Dieses Buch geht Dutzende von Problemen an, gegen die ich große und kleine Unternehmen ankämpfen gesehen habe. Mein Ziel ist es, Ihnen dabei zu helfen, klug und geschickt zu arbeiten – also
SMART. Das ist ein Akronym, das ich bei Intelliem geprägt habe. Es steht für:
„ Secure (Sicher)
„ Managed (Verwaltet)
„ Agile (Flexibel)
„ Rapid (Schnell)
„ Trustworthy (Vertrauenswürdig )
Um dies zu erreichen und die anstehenden Probleme zu lösen, ist mehr erforderlich, als die Einzelheiten
einer einzigen Technologie zu kennen. Stattdessen müssen Sie Folgendes tun:
„ Verschiedene Technologien vereinen und die einzelnen Komponenten genau so zusammenstellen,
dass das gewünschte Ergebnis dabei herauskommt
„ Wiederholt vorkommende Schritte durch Skripts automatisieren
„ Technologien durch Arbeitsflüsse und Vorausdenken an unseren Geschäftsprozessen ausrichten
„ Hilfsprogramme von Drittanbietern integrieren
„ Die Einschränkungen der im Lieferumfang enthaltenen Funktionen und Verwaltungswerkzeuge
von Windows umgehen
Wenn die letzten beiden Punkte Sie überraschen, dann seien Sie beruhigt – mich haben sie auch überrascht! Ich kann Ihnen jedoch schwarz auf weiß Beispiele für Situationen geben, die Sie nicht ändern
können, ohne sich der Einschränkungen von Windows bewusst zu werden und sie dann zu umgehen.
Wenn Sie so viel Offenheit bei Microsoft schätzen, dann lassen Sie es das die Leute bei Microsoft Press
wissen!
XXX
Einleitung
Ich denke, dass der Ansatz, den wir in dieser technischen Referenz verfolgen, eine äußerst nützliche
Ergänzung zu der Dokumentation bietet, die Microsoft für verschiedene Technologien zur Verfügung
stellt. Dadurch werden diese Technologien in den Kontext der Praxis gestellt.
A propos Praxis, was nützten diese Lösungen, wenn sie nur für Windows Server 2008 gelten würden?
Wichtig Die meisten Lösungen in dieser technischen Referenz sind für Umgebungen geeignet, wie sie in
der Praxis vorkommen: mit einer Mischung aus Windows XP SP2 oder höher, Windows Vista, Windows
Server 2003 SP2 oder höher und Windows Server 2008.
In dieser technischen Referenz geht alles um »Lösungen«. Einige davon sind einfach, andere ziemlich
kompliziert. Manche Lösungen bauen auf vorhergehenden auf, einige sind eigenständig. Viele der
Lösungen bestehen aus Anleitung – der Art von Anleitung, wie Sie sie von einem Berater erhalten
können. Sie weisen auf die empfehlenswerten Vorgehensweisen hin und helfen Ihnen, Technologien
und geschäftliche Anforderungen miteinander zu vereinbaren. Bei anderen Lösungen handelt es sich
um Skripts.
Die Skripts, die ich Ihnen auf dem Begleitmedium zur Verfügung stelle, sind anders als die Werkzeuge,
die es bei anderen technischen Referenzen zu Windows gab. Es handelt sich nicht um ausführbare
Dienstprogramme, die eine bestimmte Aufgabe erfüllen. Die meisten sind Meta-Werkzeuge, die Vorgänge automatisieren. Sie wurden dazu entworfen, Ihnen zu zeigen, wie Sie Ihre Verwaltungsproduktivität steigern können. Um dieses Ziel zu erreichen, habe ich die große Mehrheit der Skripts in VBScript
geschrieben. Sie können sie also öffnen, lesen und anpassen. Wenn Sie mit VBScript nicht vertraut sind,
ist das auch nicht schlimm, denn die meisten Skripts erfordern nur wenige Konfigurationsänderungen,
damit sie in Ihrer Umgebung funktionieren. Als erfahrener Skriptprogrammierer können Sie die Werkzeuge erweitern, um noch leistungsfähigere Lösungen zu gestalten, die noch stärker auf Ihre Bedürfnisse zugeschnitten sind.
Mit den Skripts und Lösungen ist es jedoch auf der letzten Seite des Buchs noch nicht zu Ende. Eine
weitere Abweichung von früheren technischen Referenzen zu Windows bildet die Community-Website, die ich für dieses Buch erstellt habe: www.intelliem.com/resourcekit. Dort finden Sie Korrekturen,
Diskussionen, Revisionen und komplett neue Lösungen, beigesteuert von den IT-Profis, die dieses
Buch gelesen haben.
Mehr über all das erfahren Sie in Lösungsgruppe 1. Lassen Sie mich damit schließen, Ihnen für all die
Arbeit zu danken, die Sie leisten, um Ihre Organisation mithilfe von Windows-Technologien zu unterstützen. Ich weiß, dass dies nicht immer leicht ist – ich kämpfe an derselben Front. Ich schätze die Zeit,
die Sie aufwenden, um die Lösungen, die ich Ihnen vorstelle, zu lesen, zu interpretieren, anzupassen
und umzusetzen. Dabei hoffe ich, dass Sie Ihr Wissen und Ihre Erfahrungen mit anderen Lesern auf der
Website zu dieser technischen Referenz austauschen. Wir sitzen im selben Boot, und ich freue mich
darauf, das gesammelte Wissen der Tausende von IT-Profis, mit denen ich über die Jahre gearbeitet
habe, zusammenzubringen, damit wir noch geschickter – noch SMARTer – arbeiten können.
Schreibweisen in diesem Buch
In diesem Buch werden die folgenden Besonderheiten als Mittel zur Hervorhebung verwendet.
Zusätzliche Inhalte im Web XXXI
Hinweiskästen
Die folgenden Hinweiskästen werden überall in diesem Buch verwendet, um auf nützliche Einzelheiten
hinzuweisen:
Titel
Bedeutung
Hinweis
Unterstreicht die Wichtigkeit eines Begriffs oder hebt einen Sonderfall hervor,
der nicht auf jede Situation zutreffen muss.
Wichtig
Lenkt die Aufmerksamkeit auf entscheidende Informationen,
die Sie nicht unbeachtet lassen sollten.
Vorsicht
Weist auf ein Problem oder auf Sicherheitsbedenken hin.
Empfohlene Vorgehensweisen
Gibt Ratschlag zu Verfahren und Techniken, mit denen Sie die Effizienz
oder Sicherheit einer Technologie optimieren können.
Anleitung
Fasst eine Abhandlung zusammen, um ein Fazit zu ziehen.
Auszeichnung durch Schriftschnitte
Die folgenden Formatierungskonventionen gelten in diesem Buch:
Stil
Bedeutung
Fettschrift
Wird für Benutzereingaben verwendet
Kursivschrift
Wird im Fließtext für Begriffe aus der Benutzeroberfläche, Datei- und Pfadnamen und die
Namen von Befehlen verwendet. Variablen, für die Sie konkrete Werte eingeben müssen,
stehen dabei in spitzen Klammern (anstelle von <dateiname> setzen Sie z.B. einen Dateinamen ein).
In Listings bezeichnet Kursivschrift Variablen, für die Sie konkrete Werte eingeben müssen.
Listingschrift
Wird für Codebeispiele und Befehlszeilenausgaben verwendet. Variablen, die durch konkrete
Werte ersetzt werden müssen, stehen hier in Kursivschrift.
%SystemRoot%
Wird für Umgebungsvariablen verwendet.
Systemanforderungen
Die Skripts, die auf dem Begleitmedium zur Verfügung stehen, wurden auf Windows Server 2008
getestet. Die meisten sind mit Windows Server 2003 SP2 oder höher, Windows XP SP2 oder höher und
Windows Vista kompatibel. Bei bekannten Einschränkungen weise ich durch Anmerkungen im Text
bzw. Kommentare im Skript darauf hin.
Zusätzliche Inhalte im Web
Neben dem Inhalt dieses Buchs und des Begleitmediums finden Sie zusätzliche Inhalte (in englischer
Sprache) unter http://www.intelliem.com/resourcekit.
XXXII
Einleitung
Suchen nach zusätzlichen Inhalten
Wenn neues oder aktualisiertes Material (in englischer Sprache) zur Ergänzung des Buchs zur Verfügung
steht, wird es online auf die Website Microsoft Press Online Developer Tools gestellt. Hier können Sie
Aktualisierungen zum Buchinhalt, Artikel, Links zu verwandten Inhalten, Errata, Beispielkapitel usw.
erwarten. Diese Website wird in Kürze unter www.microsoft.com/learning/books/online/developer zur
Verfügung stehen und regelmäßig aktualisiert.
Begleit-CD
Die Begleit-CD ist vollgepackt mit nützlichen Werkzeugen und Links, die Ihnen Hilfestellung für Ihre
Installation von Windows Server 2008 bieten. Die CD enthält Folgendes:
„ Vollständiges E-Book Eine elektronische Version dieses Buchs im PDF-Format.
„ Skripts Mehr als 75 Beispielskripts, mit denen Sie Ihre Aufgaben als Systemadministrator automatisieren können.
„ Werkzeuge Viele Links zu Werkzeugen für IIS, PowerShell, System Center Data Operations
usw., die Sie sofort einsetzen können.
„ Produktinformationen Links zu Informationen über Funktionen und Möglichkeiten von Windows Server 2008 sowie Produktanleitungen, die Ihnen helfen, die Windows-Verwaltung in Ihrem
Unternehmen zu optimieren.
„ Quellen Links zu Whitepapers, Anleitungen, Webcasts, Newsgroups usw. (in englischer Sprache), die Ihnen helfen, die Funktionen von Windows Server 2008 einzusetzen und Fehler zu beheben.
Verwendung der Skripts
Die Verwendung der einzelnen Skripts ist jeweils in der Lösung dokumentiert, in der das Skript vorgestellt wird. Die meisten Skripts sind in VBScript (Visual Basic Scripting Edition) geschrieben, sodass
Sie sie an der Befehlszeile ausführen können, indem Sie cscript Skriptname.vbs gefolgt von den erforderlichen Parametern eingeben. Bei einigen Skripts handelt es sich um Batchdateien, die Sie an der
Befehlszeile ausführen können, indem Sie den Namen des Skripts und die erforderlichen Parameter
eingeben.
Schließlich gibt es auch noch eine Reihe von HTML-Anwendungen, bei denen es sich um Skripts mit
einer grafischen Benutzeroberfläche handelt. Sie können eine HTML-Anwendung ausführen, indem
Sie darauf doppelklicken. Außerdem lassen sich die meisten dieser HTML-Anwendungen mithilfe der
Anleitung aus Lösung 1.3 in das Snap-In Active Directory-Benutzer und -Computer integrieren, um die
Funktionalität Ihrer systemeigenen Verwaltungswerkzeuge zu erweitern.
Wichtig Es ist äußerst wichtig, dass Sie die Skripts nur als Vorlagen behandeln. Öffnen Sie jedes Skript im
Editor oder einem Skriptbearbeitungsprogramm, lesen Sie den Code und die Kommentare, nehmen Sie die
erforderlichen Konfigurationsänderungen vor und testen Sie das Skript vor allem in einer Laborumgebung,
bevor Sie es in einer Produktionsumgebung einsetzen. Weder Microsoft noch Intelliem übernehmen eine
Garantie für die Skriptbeispiele und Werkzeuge.
Support XXXIII
Nachdem das gesagt ist, werden Sie feststellen, dass Sie die Skripts mit geringen Änderungen am Konfigurationsblock in Ihrem Labor erfolgreich ausführen können. Ich habe mich bemüht, die Skripts so
gut lesbar und anpassungsfreundlich zu machen wie möglich. Die Skripts werden auf der Website zu
dieser technischen Referenz unter www.intelliem.com/resourcekit aktualisiert. Falls Sie auf Bugs stoßen
oder nützliche Änderungen an einem Skript stoßen, teilen Sie dies bitte auf der Website mit.
Bevor Sie einen Bug melden, vergewissern Sie sich bitte, dass Sie Folgendes durchgeführt haben:
„ Lesen Sie die gesamte Lösung, in der das Skript vorgestellt wird. Stellen Sie sicher, dass Sie alle
dort genannten Schritte ausgeführt haben.
„ Untersuchen Sie den Konfigurationsblock des Skripts, der gewöhnlich Configuration Block heißt.
Ich habe eine Beispielkonfiguration für die fiktive Domäne contoso.com eingefügt. Manche Skripts
funktionieren nicht, bevor Sie die Konfiguration so ändern, dass sie zu Ihrer Umgebung passt.
„ Stellen Sie sicher, dass Sie das Skript mit ausreichenden Berechtigungen für die Aufgabe ausführen,
die durch das Skript automatisiert wird. Es kann erforderlich sein, die HTML-Anwendung oder die
Befehlszeile mit erhöhten Privilegien auszuführen, vor allem in Windows Vista und Windows Server 2008. Rechtsklicken Sie auf das Werkzeug oder das Befehlszeilensymbol im Startmenü und
wählen Sie Als Administrator ausführen.
„ Testen Sie das Skript auf Plattformen mit anderen Betriebssystemen. Die meisten Skripts und HTMLAnwendungen funktionieren auf den zuvor aufgeführten Betriebssystemen, aber bei einigen von
ihnen bestehen Einschränkungen. Manche HTML-Anwendungen erfordern Internet Explorer 7 und
werden auf Systemen mit Internet Explorer 6 nicht ausgeführt.
Support
Microsoft Press bemüht sich um die Richtigkeit der in diesem Buch sowie der auf der Begleit-CD enthaltenen Informationen. Korrekturen zu den Originalausgaben der Microsoft Press-Bücher finden Sie
im Web unter der folgenden Adresse:
http://www.microsoft.com/learning/support/search.asp
Supportdateien zu deutschen Titeln finden Sie unter: http://www.microsoft-press.de/support.asp
Korrekturen werden auch (in englischer Sprache) auf der Website zu dieser technischen Referenz unter
http://www.intelliem.com/resourcekit veröffentlicht.
Anmerkungen, Fragen oder Verbesserungsvorschläge bezüglich dieses Buches oder der Begleit-CD,
die sich nicht über eine Abfrage der Knowledge Base klären lassen, können Sie an Microsoft Press
weiterleiten:
Per E-Mail: [email protected]
Per Post: Microsoft Press
Betr.: <<Titel>>
Konrad-Zuse-Straße 1
85716 Unterschleißheim
Bitte beachten Sie, dass Sie unter den angegebenen Adressen keinen Produktsupport erhalten.
Weitere Informationen zu den Softwareprodukten von Microsoft erhalten Sie unter der Adresse
http://support.microsoft.com/.
1
L Ö S U N G S G R U P P E
1
Rollenbasierte Verwaltung
In diesem Kapitel:
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) . . . . . . . . . . . . . . . . .
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten der Gruppenmitgliedschaften . . . . . . . . . . . . . . .
1.3 Erweitern von Active Directory-Benutzer und -Computer zum Auflisten
von Gruppenmitgliedschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Grundlagen der rollenbasierten Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.5 Einrichten einer rollenbasierten Zugriffssteuerung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.6 Berichtswesen und Überwachung bei rollenbasierter Zugriffssteuerung und Verwaltung . . . . . .
1.7 Einrichten der rollenbasierten Verwaltung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2
11
27
37
48
56
66
77
Willkommen zur ersten Lösungsgruppe von Windows-Administration – Die technische Referenz.
Mit dieser Gruppe wollen wir versuchen, mehrere Ziele gleichzeitig zu erreichen.
Zunächst stelle ich einige der Konzepte und Taktiken vor, die ich in dieser technischen Referenz durchgängig verwende. Bis zum Ende der dritten Lösung legen Sie den Weg von dem Auftreten eines verbreiteten Verwaltungsproblems (in diesem Fall die Anzeige der vollständigen verschachtelten Gruppenmitgliedschaft eines Benutzers) über die Erstellung eines Lösungsskripts und den Aufbau eines GUIVerwaltungswerkzeugs (Graphical User Interface) bis hin zur direkten Integration dieses Werkzeugs in
das Snap-In Active Directory-Benutzer und -Computer zurück.
Die auf dieser Reise erworbenen Fähigkeiten ermöglichen Ihnen die Umsetzung zahlreicher weiterer
Lösungen aus dieser technischen Referenz. Wenn Sie bereits Erfahrungen im Schreiben von VBScript
haben, werden Sie einige wichtige Tipps und Ansätze für die Anwendung Ihres Wissens sammeln. Sind
Sie kein erfahrener Skripter, werden Sie lernen, wie Sie an den fertigen Skripts und Werkzeugen auf
dem Begleitmedium zu diesem Buch einfache Änderungen vornehmen, um sie in Ihrem Unternehmen
nutzen zu können, und wie Sie die Lösungen einsetzen, ohne VBScript oder andere Skriptsprachen
beherrschen zu müssen.
Dieses Buch ist nicht als Anleitung zur Skripterstellung gedacht. Bei bestimmten Lösungen gehen wir
direkt zur Anwendung von Skripts zum Lösen von Problemen über. Ich werde Sie zwar auf einige wichtige Quellen hinweisen, die Sie nutzen können, um das Erstellen von Skripts zu lernen, möchte aber
nochmals darauf hinweisen, dass Sie kein Skripter sein müssen, um von den Lösungen dieser technischen Referenz zu profitieren.
Vielmehr steht das Skript bei etlichen der hier beschriebenen Lösungen nicht im Mittelpunkt. Weiter
hinten in dieser Gruppe finden Sie Lösungen, mit denen Sie Benutzer, Computer, Gruppen, die Sicherheit – eigentlich alles – effektiver verwalten können. Diese Lösungen, die sich auf die rollenbasierte
2 Lösungsgruppe 1: Rollenbasierte Verwaltung
Verwaltung konzentrieren, umfassen die disziplinierte Verwaltung von Gruppen in Active Directory
sowie viele geschäftsorientierte Analysen und Prozesse. An sich sind keine Skripts in den Entwurf und
die Implementierung der rollenbasierten Verwaltung eingebunden, obwohl wir in dieser und weiteren
Lösungsgruppen einige vorstellen, die Ihr rollenbasiertes Verwaltungsmodell aufwerten und Ihnen
enorme Kräfte für die Verwaltung Ihres Unternehmens verleihen.
Am Ende dieser Lösungsgruppe werden Sie sich auf dem besten Wege zur Einrichtung der rollenbasierten Verwaltung in Ihrem Unternehmen befinden. Dies ist das zweite Ziel dieser Gruppe. Im Abschnitt
»Szenarien, Probleme und Lösungen« nenne ich Ihnen weitere Einzelheiten. An dieser Stelle sei lediglich gesagt, dass die rollenbasierte Verwaltung nach den Erfahrungen, die ich mit meinen Kunden
gemacht habe, eine der wertvollsten Investitionen von Zeit und Denkarbeit darstellt, die Sie als ITSpezialist tätigen können.
Szenarien, Probleme und Lösungen
Wenn Sie Netzwerkadministration studieren sollten, würden Sie in den ersten Lektionen Folgendes lernen: »Verwalten Sie Ihr Unternehmen nicht benutzer-, sondern gruppenweise.« Ich hoffe, dass Sie dies
auch dann bereits wissen, wenn Sie Netzwerkadministration nicht studiert, sondern in der Praxis gelernt
haben!
Noch vergeuden sowohl IT-Experten als auch Endbenutzer durch die Verwaltung der Benutzer, Gruppen, Computer, Sicherheit, Konfiguration, Anwendungsbereitstellung und anderer Bestandteile eines
IT-Unternehmens eine Menge Produktivität. Vielleicht kommen Ihnen einige der folgenden Situationen
bekannt vor:
„ Wenn ein neuer Mitarbeiter bei Contoso Ltd. eingestellt wird, dauert es mehrere Tage, bis das
Benutzerkonto freigeschaltet wird. Nachdem der Mitarbeiter die Arbeit aufgenommen hat, kann es
außerdem Tage oder sogar Wochen dauern, bis er über alle erforderlichen Anwendungen verfügt
und auf alle für seine Tätigkeit notwendigen Ressourcen zugreifen kann.
„ Wenn ein Benutzer denselben Zugang zu Ressourcen benötigt wie ein anderer, gibt es keine einfache Möglichkeit, herauszufinden, worauf der zweite Benutzer zugreifen kann.
„ Wenn ein Benutzer an einen anderen Standort wechselt, verläuft die Übertragung der Benutzerdaten
und -einstellungen auf die Server des neuen Standorts nicht nahtlos.
„ Wenn ein Mitarbeiter in ein anderes Gebäude, in eine andere Abteilung oder an einen anderen
Arbeitsplatz wechselt, kann niemand sicher sein, dass er alle benötigten neuen Anwendungen und
Ressourcen erhält. Oft kann er weiterhin auf Ressourcen zugreifen, die er nicht mehr benötigt.
„ Beim Ausscheiden oder bei der Kündigung eines Benutzers ist es schwierig, sicherzustellen, dass
alle mit ihm verbundenen Verwaltungsprozesse, z.B. die ihm gewährten Berechtigungen, gelöscht
wurden.
„ Es ist schwierig zu klären, wie viele Kopien einer Softwareanwendung bereitgestellt wurden,
sodass die Lizenzverwaltung eine Herausforderung darstellt.
„ Wird eine Software für einen Benutzer bereitgestellt, steht ihm diese sogar im Konferenzraum zur
Verfügung. Wenn Janine etwa Visio benötigt und sich an einem anderen Computer anmeldet, z.B.
im Konferenzraum, wird Visio dort installiert. Dies sollte allerdings nicht passieren, da Visio pro
Computer und nicht pro Benutzer lizenziert wird.
Szenarien, Probleme und Lösungen 3
Es ist schwierig, herauszufinden, wo sich ein Computer oder ein Benutzer befindet, d.h. in welchem
Büro, an welchem Active Directory-Standort usw.
„ Es gibt ständige Diskussionen über den Entwurf der Active Directory-Organisationseinheit und darüber, ob sie sich auf Bürostandorte oder Objekttypen stützen sollte.
„ Muss ein Benutzer aus besonderen Gründen auf eine Ressource zugreifen, wird er deren Zugriffssteuerungsliste direkt hinzugefügt, was den Grundsatz der Verwaltung nach Gruppen verletzt. Wenn
beispielsweise Janice aus der Marketingabteilung Expertin im Schreiben von Makros für Microsoft
Office Excel ist und von der Buchhaltung (Accounting) beauftragt wird, beim Erstellen der BudgetArbeitsmappe für das nächste Jahr behilflich zu sein, braucht sie die Berechtigungen für diese
Arbeitsmappe. Der Gruppe Accounting sind zwar bereits die Berechtigungen erteilt worden, aber
Janice gehört nicht zu dieser Gruppe. Der Administrator möchte Janice nicht zur Gruppe Accounting hinzufügen, aber sie braucht diese Berechtigung … Was geschieht? Normalerweise werden ihr
die Berechtigungen direkt in der Zugriffssteuerungsliste (Access Control List, ACL) erteilt. Diese
Lösung mag für den einen Fall, die Arbeitsmappe Budget, ausreichen. Aber was geschieht mit den
Arbeitsmappen Sales Forecast, Operations Planning und allen anderen Arbeitsmappen, zu denen
sie »außer der Reihe« Zugang benötigt? Sie können sehen, warum die Angelegenheit außer Kontrolle gerät.
„ Die Überprüfung der Gruppenmitgliedschaften eines Benutzers ist schwierig. Wenn ein Administrator gefragt wird, zu welchen Gruppen Janice gehört, und auch die verschachtelten Gruppen
berücksichtigen soll, ist es unmöglich, dies herauszufinden, oder erfordert zumindest mehrere
Schritte.
„ Die Überprüfung des Sicherheitsmodells stellt eine Herausforderung dar. Stellt man einem Administrator die Frage: »Wer kann die Budgetpläne für nächstes Jahr lesen?« oder »Worauf kann Janice
zugreifen?«, ist es für ihn schwierig oder unmöglich, eine zuverlässige Antwort zu geben.
Dies verdeutlicht nur einige Problempunkte – Szenarien, in denen Produktivität vergeudet wird, Zeit
oder Geld verschwendet wird, die Sicherheit unzureichend ist oder andere Schwächen deutlich werden.
Diese und andere Probleme können mit der rollenbasierten Verwaltung behandelt werden. Diese
Lösungsgruppe bereitet Sie auf die Beseitigung aller Arten von Problempunkten vor. Einige werden
dabei vollständig gelöst, während andere zusätzliche Lösungen erfordern, die weiter hinten in dieser
technischen Referenz vorgestellt werden.
„
Hinweis Das Ziel der rollenbasierten Verwaltung besteht darin, Ihr IT-Verwaltungsmodell an Ihren
Geschäftsprozess und Ihre Anforderungen anzupassen.
Die rollenbasierte Verwaltung erlaubt Ihnen, einen Benutzer zu definieren (d.h. seine Rollen, wobei dieser Begriff im weiteren Verlauf noch geklärt wird) und die Verwaltung eines Benutzers automatisch zu
aktivieren, wozu auch die Ermittlung der folgenden Einzelheiten gehört:
„ Vorhandene oder nicht vorhandene Zugriffsmöglichkeiten des Benutzers (Zugriff auf Ressourcen)
„ Vorhandene oder nicht vorhandene Berechtigungen des Benutzers für das System (Benutzerrechte)
„ Anwendungen, die dem Benutzer zur Verfügung gestellt werden (Softwareverteilung)
„ Die Microsoft Windows-Umgebung des Benutzers, z.B. deren Schnittstellenkonfiguration, »Sperrungsebene«, zugeordnete Laufwerke usw. (Arbeitspraxis und Konfiguration der Benutzer einschließlich der Gruppenrichtlinie)
4 Lösungsgruppe 1: Rollenbasierte Verwaltung
Verwaltung der Benutzerdaten (umgeleitete Ordner und Profile)
„ E-Mail-Verteilerlisten, zu denen der Benutzer gehört
Ebenso gestattet die rollenbasierte Verwaltung Ihnen, einen Computer anhand seiner Rollen zu definieren (zum Beispiel einen Desktop- oder Laptopcomputer, einen Computer im Konferenzraum, eine
gemeinsam genutzte Arbeitssstation, einen öffentlichen Kioskcomputer, einen Datenbank- oder Dateiserver) und damit automatisch die Verwaltung dieses Computers zu ermöglichen, darunter auch das
Festlegen der folgenden Details:
„ Vorhandene oder nicht vorhandene Berechtigungen an diesem Computer (Benutzerrechte)
„ Vorhandene oder nicht vorhandene Zugriffsmöglichkeiten für diesen Computer (Zugriff auf Ressourcen)
„ Konfiguration und Sicherheit (Gruppenrichtlinie)
„ Spezielle Konfiguration für Benutzer dieses Computers (z.B. Loopback-Verarbeitung von Gruppenrichtlinienobjekten)
Ich vermute, einige der zu Beginn dieses Abschnitts beschriebenen Szenarien kamen Ihnen bekannt vor.
Sie spiegeln die Art der Probleme wider, die ich bei jedem Kunden antreffe, ob groß oder klein, der die
rollenbasierte Verwaltung nicht sorgfältig umgesetzt hat. Lassen Sie mich diese Szenarien damit vergleichen, wie die Situation in einem Unternehmen aussehen könnte, in dem die rollenbasierte Verwaltung vorhanden ist. Das Bild, das ich dabei zeichne, kann Ihnen dabei helfen, sich vorzustellen, was die
rollenbasierte Verwaltung wirklich bedeutet.
Die Firma Contoso Ltd. hat kürzlich ein rollenbasiertes Verwaltungsmodell für ihre Windows-Organisation eingeführt. Die Firma hat einen fantastischen Berater eingestellt, Dan Holme … Entschuldigung,
ich konnte mich nicht mehr bremsen … Ich schweife ab.
Nun wird bei Contoso ein Werkzeug namens My Memberships verwendet, um den Status eines Benutzers oder Computers anzuzeigen.
„
Hinweis My Memberships.hta befindet sich im Ordner Scripts auf der Begleit-CD und wird in Lösung 1.6
erörtert.
Kürzlich wurde James Fine als Buchhalter im Büro in Denver eingestellt. Zum Zeitpunkt der Bereitstellung seines Benutzerkontos (wie in Lösung 7.7 auf Seite 512 beschrieben) wurde es in den folgenden
Rollen definiert: Accounting und LOC_DEN. Er bekam einen Computer namens DESKTOP432, der
der Rolle LOC_DEN zugewiesen wurde.
Mit diesen drei Änderungen bot ihm sein Gesamtstatus (wie auf dem Screenshot von My Memberships
in Abbildung 1.1 zu sehen) alle Möglichkeiten, seine Arbeit als Buchhalter zu verrichten.
Beachten Sie, dass James alle anderen Befugnisse einfach dadurch erbt, dass er als Benutzer der Rolle
Accounting in Denver zugewiesen wurde: Er hat Zugang zu mehreren Ressourcen (darunter Lesezugriff
auf die Budget-Ressourcen), Software, Konfigurationen wie das Accounting-Anmeldeskript und zu den
auf Server in Denver umgeleiteten Ordern sowie E-Mail-Listen. Keine dieser Befugnisse werden ihm
direkt gewährt. Sie alle sind Teil der so genannten rollenbasierten Verwaltung, d.h. der Geschäftslogik,
die festlegt und bereitstellt, was Buchhalter in Denver für die Erledigung ihrer Aufgaben benötigen.
Sechs Monate später wird James zum Leiter der Abteilung Finanzwirtschaft befördert. Als solcher
ändert sich seine Rolle von Accounting in Finance Manager. Die Geschäftslogik bei Contoso besagt
jedoch, dass die Leiter der Abteilung Finanzwirtschaft auch Buchhalter sind, sodass James weiterhin
Szenarien, Probleme und Lösungen 5
der Rolle Accounting angehört, allerdings indirekt über eine verschachtelte Gruppenmitgliedschaft.
Außerdem wird er zu dem Standort versetzt, an dem er seine Aufgabe am effektivsten ausführen kann:
nach Sydney. Mit diesen beiden Änderungen erhält er alle in Abbildung 1.2 aufgeführten Befugnisse.
Abbildung 1.1 Die Verwaltung von James Fine, Buchhalter in Denver
Abbildung 1.2 Verwaltung von James Fine, Leiter der Abteilung Finanzwirtschaft
6 Lösungsgruppe 1: Rollenbasierte Verwaltung
Beachten Sie, dass James nun das Budget bearbeiten kann und über eine neue Anwendung (BudgetPro)
verfügt, seine Ordner nach Sydney umgeleitet wurden und er zu einer neuen E-Mail-Verteilerliste gehört.
James macht sich so gut, dass er zwei Jahre später zum Finanzvorstand befördert wird. Als solcher wird
seine Rolle nun als Mitglied der Geschäftsleitung (Executive) definiert und sein Arbeitsplatz an den
Hauptgeschäftssitz nach London verlagert. Er erhält alle weiteren in Abbildung 1.3 angegebenen Rollen und Befugnisse.
Abbildung 1.3 Verwaltung von James Fine, Finanzvorstand/Geschäftsleitung
Als Mitglied der Geschäftsleitung bekommt James eine neue Anwendung (PerksPlus), Zugriff auf
zusätzliche Ressourcen (auf Ordner für Vorstandssitzungen), zusätzliche Konfigurationen und die Mitgliedschaft in einer neuen E-Mail-Verteilerliste. Das alles geschieht mit nur zwei Änderungen an der
Definition seiner Rolle: Executive und London. James wird nur durch drei direkte Rollen definiert:
Finance Managers, Executives und London. Die restlichen Rollen und alle Befugnisse werden von
diesen drei Rollen vererbt.
Nun wollen wir ein weiteres, in früheren Szenarien erwähntes Problem aufgreifen. Schauen Sie sich in
Abbildung 1.4 an, wie einfach es für die IT-Abteilung ist, die Benutzer anzugeben, die auf einer
bestimmten Ebene auf eine Ressource zugreifen können.
Szenarien, Probleme und Lösungen 7
Abbildung 1.4 Access Report
Das in Abbildung 1.4 dargestellte Werkzeug Access Report steht Ihnen auch auf dem Begleitmedium
zur Verfügung. Es trägt den Namen Members_AccessReport.hta und befindet sich im Ordner Scripts.
Erläutert wird es in Lösung 1.6.
Das Szenario verdeutlicht, wie bei vorhandener rollenbasierter Verwaltung durch die einfache Definition eines Benutzers oder Computers die automatische Bereitstellung und Verwaltung aller für das
Geschäft erforderlichen Einzelheiten für diesen Benutzer oder Computer durchgeführt werden kann.
Dies ist natürlich ein einfaches Szenario, und ich hoffe, dass Sie jetzt zumindest einige Fragen oder
Anmerkungen wie zum Beispiel folgende im Kopf haben:
„ »Nun ja, das klingt großartig. Aber wie machen wir das?« Das ist der Schwerpunkt dieser Lösungsgruppe. Weiter hinten in diesem Buch finden Sie eine Reihe weiterer Lösungen, die auf der an dieser Stelle erarbeiteten Grundlage aufbauen. Ich gebe Ihnen einige kurze Ausblicke: Es hat viel mit
der fortgeschrittenen Gruppenverwaltung und der gleichermaßen fortgeschrittenen Verwaltung von
Ressourcen, Anwendungen, Gruppenrichtlinien, Skripts usw. zu tun. »Fortgeschritten« ist aber
nicht gleichzusetzen mit »schwierig«. Lesen Sie weiter!
„ »Mein Unternehmen ist komplizierter …« Das sagen alle. Vertrauen Sie mir. Ich habe dieses Verfahren in sehr großen Organisationen im Einsatz gesehen. Es funktioniert. Dieses Szenario ist vereinfachend dargestellt, aber die Konzepte, Fähigkeiten und Werkzeuge, die Sie beherrschen, erlauben Ihnen, diese Lösung in Ihrer Organisation anzuwenden.
„ »Haben Sie letztendlich nicht eine Menge Gruppen, wenn sich dabei alles um Gruppen dreht?« Ja!
Wenn Sie sich aber wirklich ansehen, was gerade in Ihrem Unternehmen geschieht, werden Sie feststellen, dass die Gruppenverwaltung viel einfacher ist. Außerdem stelle ich Ihnen Werkzeuge zur
Verfügung, mit denen alles unkomplizierter und automatisiert abläuft. Vertrauen Sie mir: Es ist einfacher!
8 Lösungsgruppe 1: Rollenbasierte Verwaltung
»Wie vielen Rollen sollte ein Benutzer angehören?« Das hängt von einer Reihe von Faktoren ab,
mit denen wir uns weiter hinten in dieser Lösungsgruppe befassen. Im Endeffekt wird ein normaler
Benutzer wahrscheinlich durch gerade mal eine Hand voll, vielleicht sogar bis zu einem Dutzend
direkter Rollen definiert. Weitere Rollen können vererbt werden.
Jetzt haben Sie vielleicht noch mehr Fragen oder Anmerkungen im Kopf. Das ist gut! Lesen Sie weiter.
Ich werde versuchen, sie alle zu behandeln.
Bevor wir uns mit unseren ersten Lösungen beschäftigen, sind einige weitere Hinweise angebracht
„
Die 80/20-Regel
Ein altbewährter Grundsatz besagt, dass Sie oftmals 80% der Probleme mit 20% des Aufwands lösen
können und umgekehrt die verbleibenden 20% (die eine Situation »perfekt« machen) 80% des Aufwands erfordern. Ich halte sehr viel davon, die 80/20-Regel bei der Bewältigung von Problemen im
Auge zu behalten. Wenn ich 80% meines Problems lösen kann, spare ich so viel Zeit, dass ich wesentlich mehr Wert bereitstelle, wenn ich mich anderen Herausforderungen zuwende, anstatt zu versuchen,
alle Ausnahmen von der Regel aufzugreifen, die mich der 100%-Marke näher bringen.
Ich glaube, darum geht es bei der Produktivität: diese 80% Ihres Aufwands freizusetzen, sodass Sie sich
über Wasser halten, vorausschauen, Strategien bilden und umsetzen können, um zusätzlichen Wert für
Ihr Unternehmen zu erzielen und ein gesünderes, erfüllteres Berufsleben zu führen. Da dieses Buch
hoffentlich von Millionen Menschen (nun ja, ich übertreibe – hoffen wir auf sehr viele) in Unternehmen
aller Formen, Größen, Standorte und Kulturen gelesen wird, ist das Beste, was wir tun können, der
Versuch, 80% der Probleme aller zu lösen. Das wäre eine Meisterleistung und ein Grund zu feiern!
Wenn Sie beim Einsatz dieser Lösungen die 80/20-Regel im Auge behalten, werden Sie überrascht sein,
welchen Produktivitätsgewinn Sie erzielen. Es gibt wahrscheinlich hier und da einige Lücken. Dies ist
eine Gelegenheit für Sie, eine Lösung bis zum letzten Schritt auszuarbeiten, damit Sie in Ihrer Organisation perfekt funktioniert. Machen Sie sich an die Arbeit!
Skripts und Werkzeuge auf dem Begleitmedium
Das Begleitmedium zu diesem Buch sind mit vielen Extras versehen. Die darin enthaltenen Ressourcen
dienen nur als Referenz und Beispiel. Das bedeutet, dass diese Werkzeuge weder von Microsoft noch
von mir oder Dritten unterstützt werden. Sie sollten alle von Ihnen eingesetzten Werkzeuge unbedingt
analysieren, verstehen, testen (!) und einen Rollback-Plan ausarbeiten. Sie sind auf sich allein gestellt.
Nachdem wir mit diesem Hinweis unsere Anwälte zufrieden gestellt haben, können wir jetzt sagen,
dass wir natürlich versuchen, die Werkzeuge so nützlich wie möglich zu gestalten. Sie müssen sie
öffnen (bei den meisten handelt es sich um Skripts und HTML-Anwendungen, die Sie mit dem Editor
öffnen können) und nach den Angaben Änderungen an den Parametern vornehmen, z.B. Firmen- und
Domänennamen. Keine große Sache. Dann untersuchen Sie jedes von ihnen eingesetzte Werkzeug,
entwickeln Verständnis dafür, testen (!) es und erstellen einen Rollback-Plan. Viel Vergnügen damit!
In der im Abschnitt »Die Onlinecommunity zu dieser technischen Referenz« erwähnten Onlinecommunity finden Sie Aktualisierungen von Skripts und Werkzeugen sowie Diskussionen zu den einzelnen
Lösungen. Dabei handelt sich um eine Ressource von unschätzbarem Wert. Sofern (im Buch, in der
README-Datei des Werkzeugs, in der dazugehörigen Lizenzvereinbarung oder in den Kommentaren
Szenarien, Probleme und Lösungen 9
des Skripts oder Werkzeugs) nichts anderes angegeben ist, dürfen Sie außerdem das Werkzeug ändern
und nach Ihren Anforderungen erweitern. Die Hinweise zum Urheberrecht und die Anmerkungen
müssen Sie beibehalten. Wir wären Ihnen dankbar, wenn Sie Ihre Kreationen auf der Website der
Community vorstellen würden, damit alle anderen Communitymitglieder ebenfalls davon profitieren
können. Falls all das für Sie nach Open Source klingt, sind Sie auf der richtigen Spur. Wir vereinen all
dies: Respekt, Kreativität und Nutzen.
Werkzeuge von Microsoft und von Drittanbietern
In dieser technischen Referenz erwähne ich auch Werkzeuge, die Ihnen bei der Lösung der von uns
behandelten Probleme helfen können. Mit einigen können Sie in der Tat die letzten 20% auf dem Weg
zur »Perfektion« erreichen. Zweifellos gibt es Werkzeuge, die von Microsoft und anderen Softwareherstellern entwickelt wurden und einen großen Gewinn für jeden Windows-Spezialisten darstellen.
Beispielweise sind Microsoft Identity Lifecycle Manager (ILM) und System Center Configuration
Manager zwei Serveranwendungen von Microsoft, die eine bedeutende Rolle auf Ihrem Weg zur rollenbasierten Verwaltung spielen können. Diese Werkzeuge bringen einen enormen Wert mit sich und
führen wahrscheinlich zu einer Senkung der Gesamtbetriebskosten des Unternehmens. Allerdings ist
bei der Berechnung der Gesamtbetriebskosten und des ROI (Return on Investment) der Zeitaufwand
der IT-Spezialisten und Endbenutzer mit zu berücksichtigen. Wie viel Zeit wird aufgewendet, wie viel
Zeit wird eingespart und wie viel ist das wert? Ich stelle fest, dass die meisten Organisationen überhaupt
nicht in der Lage oder bereit sind, den Arbeitsaufwand ihrer Mitarbeiter genau zu berücksichtigen. Die
meisten Organisationen beachten letztlich nur die ausgegebene Geldsumme und die mit einem Einkauf
verbundenen Einsparungen. Daher kann der ROI nicht genau genug berechnet werden, um die reduzierten Gesamtbetriebskosten des Werkzeugs aufzuzeigen, sodass das Werkzeug nicht gekauft wird. Das ist
schade, aber diese Haltung ist allzu häufig anzutreffen.
Wenn Sie das Glück haben, für eine Organisation zu arbeiten, in der es Richtlinien für die Berücksichtigung der menschlichen Arbeitszeit gibt, stellen Sie sicher, dass Sie nicht nur berechnen, wie viel Geld
durch die Bereitstellung einer bestimmten Lösung eingespart wird. Das ist der einfache Teil. Sie müssen auch den zusätzlichen Wert berechnen, der in den Endgewinn einfließt, wenn die Arbeitszeit eines
Mitarbeiters von einer Aufgabe, die einen Wertverlust mit sich bringt, auf eine kreative, strategische
oder taktische Aufgabe verlagert wird, die einen zusätzlichen Wert für die Organisation schafft.
Daher zielt dieses Buch darauf ab, Sie mit Werkzeugen zu versorgen, die Sie ohne Geldmittel und hoffentlich mit minimiertem Aufwand an Zeit und Mühe einsetzen können. Wenn möglich, werden wir
diese kostenlos anbieten.
Falls es neben den in Windows Server 2008, Windows Server 2003, Windows Vista und Windows XP
integrierten Werkzeugen eine gute Lösung gibt, werde ich Sie darauf aufmerksam machen – besonders
wenn sie kostenlos ist. Sie sollten nur wissen, dass weder ich noch Microsoft noch dritte an dieser
technischen Referenz beteiligte Parteien garantieren können, dass ein bestimmtes Werkzeug für Ihre
Organisation von Wert ist oder überhaupt wie versprochen funktioniert. Ich kann Ihnen sagen, ob ich
bei früheren Kundenprojekten gute Erfahrungen mit einem Werkzeug gemacht habe oder Gutes darüber
gehört habe. Dies stellt jedoch keinerlei Empfehlung oder Garantie dar. Führen Sie eigene Untersuchungen und Tests durch und treffen Sie die für Ihr Unternehmen geeignete Entscheidung.
10 Lösungsgruppe 1: Rollenbasierte Verwaltung
ROI und Produktivität
Während meiner Laufbahn als Berater gab es mehrere Anlässe, bei denen mein Kunde mir Zahlen
zur Berechnung des ROI vorgelegt hat, darunter die Zeitersparnis seitens der Mitarbeiter. Die
Arbeitszeit der Mitarbeiter ist im Allgemeinen etwas mehr als doppelt so viel wert wie ihr Gehalt
unter Berücksichtigung von Steuern, Zulagen und indirekten Kosten.
All diese Ereignisse lehrten mich, dass Sie wahrscheinlich Ihre ROI-Berechnungen erheblich
abschwächen müssen, falls Sie das Glück haben, dass Ihnen solche Zahlen zur Verfügung stehen.
Bei einer dieser Gelegenheiten haben wir eine Lösung bereitgestellt, die als Orientierungshilfe für
die Produktivität der Informationsmitarbeiter eines Unternehmens diente. Die Lösung bestand vorwiegend aus gezielten Schulungen und einem Onlineportal zur Selbsthilfe. Anhand einer Analyse
der durch die Lösung erzielten Zeiteinsparungen, die mehrere Male gemessen wurden und sich mit
meinen Erfahrungen bei anderen Kunden deckten, fanden wir heraus, dass die Endbenutzer zehn
Minuten pro Tag und Benutzer sparten. Wir gingen davon aus, dass wir nur einen Bruchteil der
Belegschaft erreichen, da nicht alle Mitarbeiter beteiligt sein würden. Bei einer Zeitersparnis von nur
zehn Minuten pro Tag betrug der ROI mehr als 1000%. Das entspricht einem zehnfachen ROI. Die
meisten Aktiengesellschaften verwenden eine interne Ertragsrate zur Bewertung ihrer Investitionen,
die sich im Allgemeinen im Bereich von 10 bis 20% bewegt. Ein ROI von 1000% war absurd (wenn
auch durch Daten gestützt). Wir legten die Ergebnisse dem Leiter der IT-Abteilung vor, der mit seinem Team übereinkam, dass wir den ROI in unserer Projektzusammenfassung auf unter 100% (einen
doppelten ROI) senken müssten. Niemand würde einen ROI von 1000% glauben.
Noch amüsanter war die Tatsache, dass dieser ROI lediglich die wiedergewonnene verschwendete
Zeit (die Wiedergewinnung der durch die ineffiziente Ausführung von Aufgaben verschwendeten
Zeit) der Mitarbeiter widerspiegelte. Dabei wurde der Gewinn, der der Firma dadurch entstand, dass
diese Zeit für wertbildende Tätigkeiten genutzt wurde, gar nicht berücksichtigt. Wenn Sie das Glück
haben, die menschliche Arbeitszeit berücksichtigen zu können, und Ihr Projekt auch nur einige Mitarbeiter Ihres Unternehmens erreicht, werden Sie feststellen, dass das Anpreisen von Produktivitätsprojekten der einfachste Verkaufsjob der Welt ist.
Die Onlinecommunity zu dieser technischen Referenz
Wir haben für Sie, die Leser dieses Buchs, eine hervorragende Onlineressource zusammengestellt.
Melden Sie sich einfach unter http://www.intelliem.com/resourcekit an. Dort finden Sie eine Gemeinschaft von IT-Experten, die sich mit der Umsetzung dieser und anderer fantastischer Lösungen beschäftigen. Falls Änderungen an den im Buch oder auf dem Begleitmedium bereitgestellten Skripts oder
Werkzeugen vorgenommen werden oder falls wir Fehler finden, werden wir diese auf der Site bekannt
geben. Außerdem können Sie dort erörtern, was funktioniert, was nicht funktioniert und wie Sie die
Lösungen einen Schritt weiter bringen.
Los geht's!
Nun habe ich Sie auf einige der Dinge vorbereitet, die Sie in dieser technischen Referenz erfahren. Ich
habe Ihnen ein grundlegendes Verständnis für die Probleme der Verwaltbarkeit vermittelt, bei deren
Lösung Ihnen die rollenbasierte Verwaltung helfen kann. Ich habe Sie auf die Begleitmedien und die
Onlinecommunity hingewiesen und auf die rechtlichen Aspekte der von mir erwähnten, im Buch
enthaltenen Skripts und Werkzeuge. Befassen wir uns nun eingehender mit den Lösungen dieser
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 11
Gruppe! Zunächst wärmen wir unsere Fähigkeiten zur Entwicklung maßgeschneiderter Werkzeuge auf
und wenden sie auf die rollenbasierte Verwaltung an.
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers
(oder Computers)
Die Lösung im Überblick
Typ
Werkzeug (Skript)
Funktionen und Werkzeuge
Befehlszeile, VBScript
Zusammenfassung
Erstellen eines Skripts zum Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers)
Vorteile
Beantwortet die Frage: »Zu welchen Gruppen gehört X?«
Macht die Gruppenmitgliedschaften einsehbarer, als es bei der
Verwendung der standardmäßigen GUI-Werkzeuge möglich ist.
Vorschau
Abbildung 1.5 illustriert die Ausgabe eines Skripts, das die Gruppenmitgliedschaften eines Benutzers anzeigt.
Abbildung 1.5 Skript zur Anzeige der Gruppenmitgliedschaften
Einführung
Unsere erste Lösung veranschaulicht einen allgemeinen Problemlösungsansatz dieses Buchs. Wir
beginnen mit einem Problem, das den meisten Administratoren bekannt ist, und zeigen die Grenzen der
Standardverwaltungswerkzeuge von Windows auf. Dann sehen wir uns erweiterte Werkzeuge an, die
Funktionen zur Behebung des Problems anbieten. Abschließend erstellen wir ein Skript, mit dem sich
das Problem vollständig lösen lässt.
12 Lösungsgruppe 1: Rollenbasierte Verwaltung
In den darauf folgenden Lösungen verwandeln wir das Skript in ein Verwaltungswerkzeug mit einem
GUI-Front-End. Dann integrieren wir das Werkzeug in das Standard-Snap-In Active Directory-Benutzer und -Computer, damit unsere neuen Funktionen zur Problembehebung innerhalb eines administrativen Standardwerkzeugs zur Verfügung stehen. Wenn Sie diese Lösungen befolgen und anwenden,
erhalten Sie einen Ausblick auf einige der einzigartigen Ansätze, auf die wir in diesem Buch aufbauen.
Active Directory-Benutzer und -Computer
Im Leben eines jeden Administrators gibt es Momente, in denen er angeben muss, welchen Gruppen ein
Benutzer angehört. Angesichts einer mehr als zehnjährigen Tätigkeit in der Erstellung GUI-basierter
Verwaltungswerkzeuge für Windows-Netzwerke denken Sie vielleicht, dass der Standardwerkzeugkasten von Microsoft (einschließlich des Snap-Ins Active Directory-Benutzer und -Computer) diese
Funktionen bereitstellen sollte. Das ist aber nicht der Fall. Sie können natürlich die Eigenschaften eines
Benutzerobjekts öffnen und seine direkten Mitgliedschaften der in Abbildung 1.6 gezeigten Registerkarte Mitglied von entnehmen. Allerdings gehen die verschachtelten Mitgliedschaften des Benutzers
nicht aus dieser Liste hervor. Wir können beispielsweise nicht sehen, dass James Mitglied von Accounts
Payable ist, da die Gruppe Accounting Mitglied der Gruppe Accounts Payable ist.
Abbildung 1.6 Die Registerkarte Mitglied von im Dialogfeld Eigenschaften eines Benutzerobjekts
Mit einem Doppelklick auf eine beliebige Gruppe der Liste Mitglied von können Sie deren Eigenschaften öffnen und weiterforschen, bis Sie eine Gruppe finden, die nicht Mitglied einer anderen ist.
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 13
Hinweis Mit einem Doppelklick auf eine beliebige Gruppe der Liste Mitglied von können Sie deren Eigenschaften öffnen.
Dies ist ein unsauberes, langsames Verfahren, um die Gruppenmitgliedschaften eines Benutzers herauszufinden. Falls Sie pro Stunde bezahlt werden, mag dies ihre Lieblingsmethode sein. Wir anderen
müssen eine bessere Möglichkeit finden.
DS-Befehle
Geben Sie die DS-Befehle ein. Dabei handelt es sich um Befehlszeilenwerkzeuge für den Zugriff auf
Active Directory und dessen Bearbeitung. Wir werden diese Befehle in mehreren Lösungen dieses
Buchs wirksam einsetzen. Für diese Aufgabe nutzen wir den Befehl dsget.exe, mit dem Sie eine Eigenschaft eines Active Directory-Objekts herausfinden. Dazu ist die folgende Syntax erforderlich:
dsget user Benutzer-DN -memberof –expand
Der erste Parameter, user, gibt die Klasse des uns interessierenden Objekts an. Beim zweiten Parameter,
Benutzer-DN, handelt es sich um den definierten Namen des Objekts, beim dritten, memberof, um die
gewünschte Eigenschaft. Der vierte – für uns entscheidende – Parameter weist dsget an, die Anzeige
der Mitgliedschaft um verschachtelte Gruppen zu erweitern. Um die Mitgliedschaften unseres Benutzers James herauszufinden, verwenden wir den folgenden Befehl:
dsget user "cn=James Fine,ou=employee,ou=people,dc:contoso,dc=com" –memberof –expand
Es macht keinen Spaß, den vollständigen definierten Namen (DN) eines Benutzers eingeben zu müssen,
sodass wir einen anderen DS-Befehl einsetzen, um den Benutzer zu finden: dsquery.exe durchsucht
Active Directory nach den von Ihnen angegebenen Eigenschaften und gibt den definierten Namen
passender Objekte zurück. Bei der Eingabe von
dsquery user -samid jfine
erhalten wir den definierten Namen des Benutzerobjekts mit der Eigenschaft samid (Prä-Windows
2000-Anmeldename), der mit jfine übereinstimmt:
cn=James Fine,ou=employees,ou=people,dc=contoso,dc=com
Da dsquery den von dsget benötigten definierten Namen generiert, können wir die Ergebnisse von
dsquery an dsget »weiterleiten«, wie der nächste Befehl zeigt:
dsquery user -samid jfine | dsget user -memberof -expand
Beachten Sie, dass der Befehl dsget keinen definierten Namen mehr enthält. Wenn Sie den definierten
Namen des abzufragenden Objekts weglassen, erwartet dsget, dass Sie ihn eingeben. Versuchen Sie es –
geben Sie den definierten Namen eines oder mehrerer Objekte in Anführungszeichen ein und drücken
Sie anschließend (Strg) + (C). Zur Bereitstellung des definierten Namens verwenden Sie den Standardeingabestream StdIn.
14 Lösungsgruppe 1: Rollenbasierte Verwaltung
Das Pipe-Symbol (|) leitet die vom Befehl dsquery generierte Ausgabe an die Eingabe StdIn des Befehls
dsget um, sodass Sie sich die Eingabe des definierten Namens sparen können. Sie brauchen lediglich
den Prä-Windows 2000-Anmeldenamen des Benutzers einzugeben.
Die Ausgabe unseres Befehls dsquery | dsget bietet noch Raum für Verbesserungen: Die Gruppen werden in Form von definierten Namen aufgelistet, was nicht schön ist. Ändern wir unseren Befehl so ab,
dass er nur die Namen der Gruppen zurückgibt:
dsquery user -samid jfine | dsget user -memberof -expand | dsget group -samid
Beachten Sie, dass wir die vom ersten dsget-Befehl bereitgestellte Liste definierter Namen an einen
zweiten dsget-Befehl weiterleiten. Dieser legt fest, dass es sich bei allen definierten Namen und die
Namen einer Gruppe handelt und wir die Eigenschaft samid abrufen wollen. Beachten Sie, dass der
eigentliche Name der Prä-Windows 2000-Namenseigenschaft nach dem Active Directory-Schema
sAMAccountName lautet. DS-Befehle folgen leider nicht den eigenen Standards von Microsoft, sodass
die Option samid verwendet wird.
Damit handelt es sich bei der Befehlszeilenlösung um ein Bündel aus drei Befehlen:
dsquery user -samid SAM-Benutzerkontoname | dsget user -memberof -expand | dsget group -samid
Wenn wir die Gruppenmitgliedschaften eines Computers herausfinden wollen, setzen wir einfach computer als Objektklasse in unsere DS-Befehle ein und fragen den Computer anhand seines allgemeinen
Namens ab:
dsquery computer -name Computername | dsget computer -memberof -expand | dsget group -samid
Erstellen eines Batchskripts
Nachdem wir nun die zum Auflisten der verschachtelten Gruppenmitgliedschaft erforderlichen DSBefehle kennen, können wir diese in ein einfaches, einzeiliges Skript verwandeln. Öffnen Sie den
Editor und geben Sie die folgende Zeile ein:
dsquery user -samid %1 | dsget user -memberof -expand | dsget group -samid
Speichern Sie das Skript unter dem Namen "User_MemberOf_Enum.bat". Achten Sie darauf, den
Dateinamen in Anführungszeichen einzuschließen, da der Editor andernfalls die Erweiterung .txt
anfügt. Ich empfehle Ihnen, das Skript in einem leicht zugänglichen Ordner zu speichern, zum Beispiel
in einem Ordner im Stammverzeichnis eines Festplattenlaufwerks.
Begeben Sie sich dann an der Eingabeaufforderung zu dem Ordner, in dem Sie das Skript gespeichert
haben, und führen Sie es wie folgt aus:
User_MemberOf_Enum SAM-Benutzerkontoname
Beispiel:
User_MemberOf_Enum jfine
Die Angabe %1 in dem Skript fügt das erste von Ihnen bereitgestellte Argument nach dem Befehl (den
Prä-Windows 2000-Anmeldenamen oder »SAM-Benutzerkontoname«) an der richtigen Stelle der
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 15
Befehlsfolge ein. Wir können das Skript eleganter gestalten, indem wir das erste Argument einer
Variablen zuweisen und diese dann wie folgt in der Befehlssequenz verwenden:
set userdn=%1
dsquery user -samid %userdn% | dsget user -memberof -expand | dsget group –samid
Die erste Zeile weist das Argument einer Variablen mit dem Namen userdn zu (bei den Namen von
Variablen kann es sich um ein beliebiges nicht reserviertes Wort handeln), wobei der Verweis auf die
Variable in der Befehlsfolge durch Einschließen ihres Namens in Prozentzeichen (%) erfolgt.
Auflisten der Gruppenmitgliedschaften mit VBScript
VBScript ist eine leistungsfähige, flexible Skriptsprache, die eine Reihe administrativer Lösungen
ermöglicht. Dieses Buch ist nicht als Lehrbuch für VBScript gedacht. Zum Erlernen der Skripterstellung empfehle ich Ihnen Microsoft Windows Administrator's Automation Toolkit (Microsoft Press,
2005) oder ein anders Buch von dessen Autor, dem Skriptguru Don Jones.
Bei der Vorstellung und Verwendung von Skripts in diesem Buch werden Sie meistens feststellen, dass
diese mit geringfügigen Änderungen einsatzbereit sind, für deren Durchführung Sie kein Skripter sein
müssen. Die Skripts werden hier oft bis zu einem gewissen Detaillierungsgrad überprüft. Wenn Sie
dazu nicht bereit sind, überspringen Sie diesen Teil der Erläuterungen. Sie werden feststellen, dass Sie
den Anweisungen zur Verwendung des Skripts leicht folgen können. Sind Sie kein Skripter, können Sie
daher zum Beispiel die folgende Erläuterung überspringen und mit dem Abschnitt »Grundlagen von
ADObject_MemberOf_Enum.vbs« auf Seite 15 fortfahren.
Grundlagen von ADObject_MemberOf_Enum.vbs
Der folgende Code erstellt eine besondere Art Array, das als Dictionary bezeichnet wird, und füllt es
mit den Gruppenmitgliedschaften unseres Benutzers James Fine:
' Dictionary-Objekt zum Speichern von Gruppennamen erstellen
Set oMemberOfList = CreateObject("Scripting.Dictionary")
' Vergleichsmodus auf Nichtbeachtung der Groß- und Kleinschreibung setzen
oMemberOfList.CompareMode = vbTextCompare
Set oUser = GetObject("LDAP://cn=james fine,ou=employees,ou=people,dc=contoso,dc=com")
Call ADObject_MemberOf_Enum(oUser)
aMemberOfList = oMemberOfList.Keys
WScript.Echo "MEMBERSHIPS"
For Each sMemberOf In aMemberOfList
WScript.Echo sMemberOf
Next
Sub ADObject_MemberOf_Enum(ByVal oObject)
' Listet die Eigenschaft MemberOf eines Objekts auf
' EINGABEN: oObject: Objekt, für das MemberOf aufgelistet werden soll
' ERFORDERT: Dictionary-Objekt oMemberOfList mit globalem Gültigkeitsbereich
16 Lösungsgruppe 1: Rollenbasierte Verwaltung
On Error Resume Next
aMemberOf = oObject.GetEx("memberOf")
If Err.Number <> 0 Then
' Annahme, dass der Fehler auf fehlende definierte Namen von memberOf zurückzuführen ist
Err.Clear
On Error GoTo 0
Exit Sub
Else
On Error GoTo 0
For Each sMemberOf In aMemberOf
Set oMemberOf = GetObject("LDAP://" & sMemberOf)
sMemberOfSAM = oMemberOf.sAMAccountName
If (oMemberOfList.Exists(sMemberOfSAM) = False) Then
' Wir haben diese Gruppe noch nicht gesehen
' Zum Dictionary-Objekt hinzufügen
oMemberOfList.Add sMemberOfSAM, True
' Verschachtelte Mitgliedschaften dieser Gruppe auflisten
Call ADObject_MemberOf_Enum(oMemberOf)
End If
Next
End If
End Sub
Das »Arbeitstier« dieses Skripts ist die Subroutine mit dem Namen ADObject_MemberOf_Enum. Sie
nimmt ein Active Directory-Objekt (Benutzer, Gruppe oder Computer) entgegen und überprüft dessen
MemberOf-Eigenschaft. Ist diese vorhanden, wird jede Gruppe dahingehend untersucht, ob sie der Liste
der Mitgliedschaften bereits hinzugefügt wurde. Falls nicht, wird sie in die Liste aufgenommen.
Danach ruft die Routine sich selbst auf, um die Mitgliedschaft der Gruppe zu überprüfen. Dieser iterative, verschachtelte Prozess wird als Rekursion bezeichnet und erlaubt der Routine, alle Mitgliedschaften des ursprünglichen Objekts mit den Mitgliedschaften aus verschachtelten Gruppen aufzulisten.
Die von diesem Skript erstellte Mitgliedschaftsliste ist fast, aber doch nicht ganz vollständig. Jedes
Benutzer- und Computerobjekt in Active Directory weist eine primäre Gruppenmitgliedschaft auf:
Benutzer gehören normalerweise zur Gruppe Domänen-Benutzer und Computer zu Domänencomputer.
Diese primäre Gruppenzugehörigkeit ist nicht in der Eigenschaft MemberOf, sondern in der Eigenschaft PrimaryGroupID gespeichert. Die PrimaryGroupID muss in den tatsächlichen Gruppennamen
übersetzt werden. PrimaryGroupID 514 entspricht beispielsweise der Gruppe Domänen-Benutzer.
Das folgende Codesegment nimmt einen von oObject dargestellten Active Directory-Benutzer oder
-Computer und fügt die primäre Gruppe des Objekts unserem Mitgliedschaftslisten-Dictionary hinzu:
iPrimaryGroup = oObject.PrimaryGroupID
sPrimaryGroup = ""
Select Case iPrimaryGroup
Case 513
sPrimaryGroup = "Domain Users"
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 17
Case 514
sPrimaryGroup = "Domain Guests"
Case 515
sPrimaryGroup = "Domain Computers"
Case 516
sPrimaryGroup = "Domain Controllers"
End Select
If sPrimaryGroup > "" Then
Call ADObject_MemberOf_Enum(sPrimaryGroup)
oMemberOfList.Add sPrimaryGroup, True
End If
Befinden sich diese beiden wichtigen Komponenten an Ort und Stelle, können wir den Rest des Skripts
erstellen. Das Skript heißt ADObject_MemberOf_Enum.vbs und ist wie alle Skriptlösungen dieses
Buchs im Ordner Scripts auf dem Begleitmedium zu finden. Im Buch drucke ich nicht immer das
gesamte Skript ab, damit mehr Seiten für weitere Lösungen zur Verfügung stehen. In diesem Fall kann
ich jedoch dieses Skript verwenden, um den Aufbau der Skripts zu diesem Buch, einige der vor mir
verwendeten Konventionen sowie Anwendungsmöglichkeiten in Ihrem Unternehmen zu verdeutlichen.
ADObject_MemberOf_Enum.vbs
Option Explicit
Dim oMemberOfList
Dim aMemberOfList
Dim sMemberOf
Dim sDomainDN
Dim sArgument
Dim sObjectDN
' KONFIGURATIONSBLOCK
sDomainDN = "dc=contoso,dc=com"
If WScript.Arguments.Count <> 1 Then
' Falsche Anzahl von Argumenten übergeben
WScript.Echo "USAGE: cscript //nologo <name of script> [DN | ADSPath | NAME]"
WScript.Echo "where the object can be represented by a distinguished name,"
WScript.Echo "ADSPath, pre-Windows 2000 logon name (user/group) or name (computer)"
WScript.Quit(501)
' 501 ist ein Beendigungscode, den ich zur Angabe eines generischen Fehlers in meinen Skripts verwende
End If
' Argument abrufen
sArgument = WScript.Arguments(0)
' In DN übersetzen
sObjectDN = ADObject_DN_UCG(sArgument, sDomainDN)
18 Lösungsgruppe 1: Rollenbasierte Verwaltung
If sObjectDN = "" Then
WScript.Echo "ERROR--NOT FOUND: " & sArgument
WScript.Quit (501)
End If
' Dictionary-Objekt zum Speichern von Gruppennamen erstellen
Set oMemberOfList = CreateObject("Scripting.Dictionary")
' Vergleichsmodus auf Nichtbeachtung der Groß- und Kleinschreibung setzen
oMemberOfList.CompareMode = vbTextCompare
Call ADObject_MemberOf (sObjectDN)
aMemberOfList = oMemberOfList.Keys
aMemberOfList = Array_Sort(aMemberOfList)
WScript.Echo "MEMBERSHIPS"
For Each sMemberOf In aMemberOfList
WScript.Echo sMemberOf
Next
' =============================
' FUNKTIONEN AUS DER BIBLIOTHEK
' =============================
Function ADObject_DN_UCG(ByVal sObject, sSearchDN)
' Version 070706
' Übernimmt jede Eingabe (Name, DN oder ADsPath) eines Benutzers, eines Computers oder einer Gruppe
' und gibt den definierten Namen des Objekts zurück
' EINGABEN: sObject: Name, DN oder ADsPath zu einem Benutzer, einer Gruppe oder einem Computer
'
sSearchDN: zu durchsuchender DN (oftmals der DN der Domäne,
z.B. dc=contoso, dc=com)
' RÜCKGABEN: ADObject_DN_UCG: definierter Name (cn=...) des Objekts
' ERFORDERT: die Routine ADObject_Find_UCG
Dim sObjectName, oObject, sObjectADsPath, sObjectDN
If Len(sObject) = 0 Then
sObjectDN = ""
ElseIf Len(sObject) < 3 Then
' Kann kein DN oder ADsPath sein – muss ein Name sein
sObjectADsPath = ADObject_Find_UCG(sObject, sSearchDN)
If sObjectADsPath <> "" Then sObjectDN = mid(sObjectADsPath,8)
ElseIf LCase(Left(sObject,3)) = "cn=" Then
' Ist ein DN – sicherstellen, dass er existiert
On Error Resume Next
Set oObject = GetObject("LDAP://" & sObject)
sObjectDN = oObject.distinguishedName
If Err.Number <> 0 Then
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 19
' Fehler – Objekt konnte nicht gefunden werden
sObjectDN = ""
Err.Clear
End If
On Error GoTo 0
ElseIf Len(sObject) < 8 Then
' Kann kein ADsPath sein und ist kein DN, muss ein Name sein
sObjectADsPath = ADObject_Find_UCG(sObject, sSearchDN)
If sObjectADsPath <> "" Then sObjectDN = mid(sObjectADsPath, 8)
ElseIf Ucase(Left(sObject, 7)) = "LDAP://" Then
' Ist ein ADsPath – sicherstellen, dass er existiert
' Zuerst sicherstellen, dass LDAP:// in Großbuchstaben geschrieben ist, um Fehler zu vermeiden
sObject = "LDAP://" & Mid(sObject, 8)
On Error Resume Next
Set oObject = GetObject(sObject)
sObjectDN = oObject.distinguishedName
If Err.Number <> 0 Then
' Fehler – konnte Objekt nicht finden
sObjectDN = ""
Err.Clear
End If
On Error GoTo 0
Else
' muss ein Name sein
sObjectADsPath = ADObject_Find_UCG(sObject, sSearchDN)
If sObjectADsPath <> "" Then sObjectDN = mid(sObjectADsPath,8)
End If
ADObject_DN_UCG = sObjectDN
End Function
Function ADObject_Find_UCG(sObjectName, sSearchDN)
' VERSION 070706
' Gibt den vollständigen ADsPath (LDAP://...) eines Benutzers, eines Computers oder einer Gruppe
zurück
' Eingaben:
'
sObjectName: der eindeutige Bezeichner für die Objektklasse. Das Skript unterstützt:
'
Benutzer: sAMAccountName (Prä-Windows 2000-Anmeldename)
'
Gruppe: sAMAccountName (Prä-Windows 2000-Anmeldename)
'
Computer: Name (vom Skript durch Hinzufügen eines $-Zeichens
in den sAMAccountName des Computers übersetzt)
'
sSearchDN: zu durchsuchender DN (oftmals der DN der Domäne, z.B.
dc=contoso, dc=com)
20 Lösungsgruppe 1: Rollenbasierte Verwaltung
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
Dim
oConnection
oRecordset
sLDAPObjectQuery
sLDAPIdentifierQuery
sLDAPQuery
sProperties
oADObject
aProperties
sProperty
sLDAPIdentifier
sSearchScope
sLDAPIdentifier = "samAccountName"
sProperties = "ADsPath"
sSearchScope = "subtree"
' Öffnen einer ADO-Verbindung unter Verwendung von NULL-Anmeldeinformationen
Set oConnection = CreateObject("ADODB.Connection")
oConnection.Provider = "ADsDSOObject"
'Bei Fehler mit nächster fortfahren
oConnection.Open "", vbNullString, vbNullString
If oConnection.State = 0 Then ' 0 = adStateClosed
' Fehlerbehandlungscode: Kann keine Verbindung zu AD herstellen
ADObject_Find_UCG = ""
Exit Function
End If
' Erstellen der LDAP-Abfrage
sLDAPQuery = "<LDAP://" & sSearchDN & ">;"
sLDAPQuery = sLDAPQuery & _
"(|(samAccountName=" & sObjectName & ")" & _
"(samAccountName=" & sObjectName & "$));" & _
sProperties & ";" & sSearchScope
' Resultset abrufen, Verbindung schließen und überprüfen, ob
' wir mindestens ein Ergebnis erhalten haben
Set oRecordset = oConnection.Execute (sLDAPQuery)
If oRecordset.EOF and oRecordset.BOF Then
' Fehlerbehandlugnscode: kein Objekt gefunden
ADObject_Find_UCG = ""
Exit Function
End If
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 21
ADObject_Find_UCG = oRecordset.Fields("ADsPath")
oRecordset.Close
oConnection.Close
End Function
Sub ADObject_MemberOf(ByVal sObjectDN)
' Version 070701
' Listet die Gruppenmitgliedschaften eines Benutzers oder Computers auf
' EINGABEN: sObjectDN: DN des Benutzers oder Computers
' RÜCKGABEN: sortierte oMemberOfList mit den einzelnen Gruppen,
'
denen der Benutzer oder Computer angehört
' ERFORDERT: die Funktion ADObject_MemberOf_Enum
'
die Funktion Array_Sort
'
oMemberOf-Liste mit globalem Gültigkeitsbereich
'
z.B.
'
Set oMemberOfList = CreateObject("Scripting.Dictionary")
'
oMemberOfList.CompareMode = vbTextCompare ' keine Berücksichtigung der Groß- und
’ Kleinschreibung
Dim
Dim
Dim
Dim
oObject
iPrimaryGroup
sPrimaryGroup
aMemberOf
On Error Resume Next
Set oObject = GetObject("LDAP://" & sObjectDN)
If Err.Number<>0 Or oObject Is Nothing Then
Err.Clear
Exit Sub
End If
On Error GoTo 0
If oObject.Class = "computer" Or oObject.Class = "user" Then
iPrimaryGroup = oObject.PrimaryGroupID
sPrimaryGroup = ""
Select Case iPrimaryGroup
Case 513
sPrimaryGroup = "Domain Users"
Case 514
sPrimaryGroup = "Domain Guests"
Case 515
sPrimaryGroup = "Domain Computers"
22 Lösungsgruppe 1: Rollenbasierte Verwaltung
Case 516
sPrimaryGroup = "Domain Controllers"
End Select
If sPrimaryGroup > "" Then
Call ADObject_MemberOf_Enum(sPrimaryGroup)
oMemberOfList.Add sPrimaryGroup, True
End If
End If
On Error Resume Next
aMemberOf = oObject.GetEx("memberOf")
If Err.Number <> 0 Then
' Annahme, dass Fehler auf fehlende definierte Namen von memberOf zurückzuführen ist
Err.Clear
On Error GoTo 0
Exit Sub
Else
On Error GoTo 0
Call ADObject_MemberOf_Enum(oObject)
End If
End Sub
Sub ADObject_MemberOf_Enum(ByVal oObject)
' Version 070701
' Listet die Eigenschaft MemberOf eines Objekts auf
' EINGABEN: oObject: Objekt, dessen MemberOf-Eigenschaft aufgelistet werden soll
' ERFORDERT: Dictionary-Objekt oMemberOfList mit globalem Gültigkeitsbereich
'
z.B.
'
Set oMemberOfList = CreateObject("Scripting.Dictionary")
'
Dim
Dim
Dim
Dim
oMemberOfList.CompareMode = vbTextCompare ' keine Berücksichtigung der Groß- und
’ Kleinschreibung
aMemberOf
sMemberOf
oMemberOf
sMemberOfSAM
On Error Resume Next
aMemberOf = oObject.GetEx("memberOf")
If Err.Number <> 0 Then
' Annahme, dass der Fehler auf fehlende definierte Namen von memberOf zurückzuführen ist
Err.Clear
On Error GoTo 0
Exit Sub
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 23
Else
On Error GoTo 0
For Each sMemberOf In aMemberOf
Set oMemberOf = GetObject("LDAP://" & sMemberOf)
sMemberOfSAM = oMemberOf.sAMAccountName
If (oMemberOfList.Exists(sMemberOfSAM) = False) Then
' Wir haben diese Gruppe noch nicht gesehen
' Zum Dictionary-Objekt hinzufügen
oMemberOfList.Add sMemberOfSAM, True
' Auflisten der verschachtelten Mitgliedschaften dieser Gruppe
Call ADObject_MemberOf_Enum(oMemberOf)
End If
Next
End If
End Sub
Function Array_Sort(ByVal aArray)
' VERSION 070701
' Sortiert ein Array sehr schnell mithilfe von .NET-Objekten
' EINGABEN: aArray: ein zu sortierendes Array (einschl. Dictionary-Objekt)
' RÜCKGABEN: Array_Sort: sortiert
' ERFORDERT: .NET Framework 2.0
Dim oNAL
Dim nIdx
Set oNAL = CreateObject("System.Collections.ArrayList")
For nIdx = 0 To UBound(aArray)
oNAL.Add aArray(nIdx)
Next
oNAL.Sort
For nIdx = 0 To UBound(aArray)
aArray(nIdx) = oNAL(nIdx)
Next
Array_Sort = aArray
End Function
24 Lösungsgruppe 1: Rollenbasierte Verwaltung
Zum Ausführen des Skripts öffnen sie die Eingabeaufforderung, begeben sich zu dem Ordner, der das
Skript enthält, und geben den folgenden Befehl ein:
cscript.exe ADOBJECT_MEMBEROF_ENUM.vbs "Name des Benutzers, des Computers oder der Gruppe"
Um das Skript sehr flexibel zu gestalten, habe ich es so kodiert, dass Sie eine der folgenden Möglichkeiten zur Angabe des zu analysierenden Objekts verwenden können:
„ Den definierten Namen eines Benutzers, eines Computers oder einer Gruppe
„ Den vollständigen LDAP-Pfad zum Objekt (LDAP://CN=...), der aus dem Präfix LDAP:// gefolgt
von dem definierten Namen des Objekts besteht. Dies wird als ADsPath des Objekts bezeichnet.
„ Den Prä-Windows 2000-Anmeldenamen eines Benutzers: sein Attribut sAMAccountName
„ Den Prä-Windows 2000-Anmeldenamen einer Gruppe: ihr Attribut sAMAccountName
„ Den Namen eines Computers: sein Attribut Name. Beim Attribut sAMAccountName eines Computers handelt es sich um dessen Attribut Name, an das ein Dollarzeichen ($) angehängt wurde, damit
das Skript sAMAccountName vom Computernamen ableiten kann.
Ich habe aus folgenden Gründen die Möglichkeit bereitgestellt, einen einfachen Namen als Argument
einzugeben. Erstens ist ein einfacher im Vergleich zu einem definierten Namen im wahrsten Sinne des
Wortes einfach. Zweitens werden wir in der nächsten Lösung das Skript nicht an der Befehlszeile aufrufen, sondern in der MMC (Microsoft Management Console), und zwar mit einem bestimmten ausgewählten Benutzer (oder einem Computer oder einer Gruppe). Je nachdem, wie wir das Skript starten,
wird ihm der Objektname in einer anderen Form als Argument übergeben, sodass das Skript in der Lage
sein muss, mehrere Arten von Namen zu übernehmen.
Als Beispiele für die Befehle zum Aufruf des Skripts sind unter anderem folgende zu nennen:
cscript //nologo ADOBJECT_MEMBEROF_ENUM.vbs "cn=james
fine,ou=employees,ou=people,dc=contoso,dc=com"
oder
cscript //nologo ADOBJECT_MEMBEROF_ENUM.vbs jfine
Die Option //nologo unterdrückt den normalen Header aus dem Befehl cscript. Im ersten Beispiel wird
der definierte Name von James Fine als Argument an das Skript übergeben, im zweiten sein Benutzername (der Prä-Windows 2000-Anmeldename). Anführungszeichen um das letzte Argument sind erforderlich, wenn es wie im ersten Beispiel Leerzeichen enthält.
Das Skript beginnt mit der Anweisung Option Explicit, die es erforderlich macht, dass Sie jede Variable
vor deren Verwendung durch eine Dim-Anweisung deklarieren, wie es in den folgenden Zeilen der Fall
ist. Optimal ist es bei der Skripterstellung, Option Explicit zu verwenden und Variablen zu deklarieren,
da dies die Wahrscheinlichkeit von Fehlern verringert, die aus Eingabefehlern in den Variablennamen
resultieren. Die Skripts auf dem Begleitmedium verwenden Option Explicit und Deklarationen, obwohl
ich normalerweise solche Anweisungen auslasse, wenn ich ein Skript im Buch abdrucke, damit wir uns
auf die funktionalen Aspekte des Skripts konzentrieren können.
Wird einer dieser Namen an das Skript übergeben, schlägt dieses das passende Objekt in der durch
DomainDN angegebenen Domäne im Konfigurationsblock des Skripts nach.
1.1 Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) 25
Wichtig Viele der in dieser technischen Referenz bereitgestellten Skripts und Werkzeuge verfügen über
einen Konfigurationsblock, in dem Sie die meisten oder sogar alle notwendigen unternehmensspezifischen
Anpassungen vornehmen. Lesen Sie auch die Kommentare im Skript, die auf andere eventuell erforderliche
Anpassungen hinweisen. In einem VBScript beginnen Kommentare mit einem Apostroph ('), in HTML sind sie
in zwei Tags eingeschlossen: <!-- am Anfang und --> am Ende.
Wir programmieren die Domäne fest ein, da das Attribut sAMAccountName nur innerhalb einer einzigen
Domäne garantiert eindeutig ist. Eine altbewährte Alternative zur Bestimmung des definierten Namens
der Domäne besteht darin, eine Verbindung zum Objekt RootDSE herzustellen und den Standardnamenskontext zu untersuchen, was jedoch in einer Gesamtstruktur mit einem leeren Gesamststrukturstamm
und einer untergeordneten Domäne mit all den Benutzern und Computern nicht funktioniert. Daher ziehe
ich es vor, den Domänennamen fest einzuprogrammieren.
Als geschulter Skripter möchten Sie vielleicht andere Möglichkeiten nutzen, um den Wert für
sDomainDN dynamisch zu ermitteln. Das Skript deklariert sDomainDN als Variable und nicht als
Konstante, sodass Sie bei der Zuweisung des Werts flexibel vorgehen können.
WScript.Arguments() ist eine Gruppe von Argumenten, die Sie an der Befehlszeile an das Skript übergeben haben. Ich verwende die Gruppeneigenschaft Count, um sicherzustellen, dass Sie nur ein einziges
Argument an das Skript übergeben haben. Falls nicht (was bedeutet, dass Sie entweder kein Argument
oder zu viele Argumente angegeben haben), wird ein Verwendungshinweis angezeigt.
Wurde ein Argument an das Skript übergeben, wird es der Variablen sArgument zugewiesen. Die
Gruppe Arguments beginnt bei null, sodass WScript.Arguments(0) das erste Argument darstellt.
Das Skript verwendet dann zwei Routinen aus unserer Bibliothek, um das Argument in den definierten
Namen des ausgewählten Objekts zu übersetzen. Bei den beiden Routinen handelt es sich um die Funktionen ADObject_DN_UCG und ADObject_Find_UCG. Diese beiden Funktionen übernehmen gemeinsam den Namen eines Benutzers, eines Computers oder einer Gruppe und geben den definierten Namen
des Objekts in Active Directory zurück. Bei dem Namen, den die Funktionen übernehmen, kann es sich
um einen definierten Namen (z.B. CN=...), ADsPath (z.B. LDAP://CN=...) oder sMAccountName
(einen Prä-Windows 2000-Anmeldenamen) handeln. Wenn Sie einen definierten Namen oder ADsPath
bereitstellen, bestätigen die Routinen das Vorhandensein des Objekts und geben dessen definierten
Namen zurück. Falls Sie sAMAccountName angeben, sucht die Funktion ADObject_Find_UCG nach
einem passenden Objekt innerhalb eines bestimmten Gültigkeitsbereichs – normalerweise der gesamten Domäne –, das als definierter Name (z.B. DC=contoso,DC=com) an die Funktion übergeben wird.
Das Skript ruft die Funktion ADObject_DN_UCG auf, die für die Übersetzung eines der vier verwendbaren Namenstypen in einen definierten Namen verantwortlich ist. Handelt es sich bei dem übergebenen
Namen nicht um einen definierten Namen oder ADsPath, ruft die Funktion ADOObject_Find_UCG auf,
die den angegebenen Gültigkeitsbereich (in diesem Fall die gesamte Domäne) nach einem Benutzer,
einem Computer oder einer Gruppe mit einem dem angegebenen Argument entsprechenden Namen
durchsucht. Als Nächstes bereitet das Skript das Dictionary-Objekt oMemberOfList vor, das alle für den
Benutzer oder den Computer ermittelten Gruppenmitgliedschaften enthält. Dann ruft der Code die Subroutine ADObject_MemberOf auf, die mit dem Auflisten der Gruppenmitgliedschaften beginnt. Der
Code übergibt den zuvor ermittelten definierten Namen des Objekts an die Subroutine.
Die Subroutinen füllen das Dictionary oMemberOfList mit allen Gruppen, zu denen das Objekt (Benutzer, Computer oder Gruppe) gehört, darunter auch dessen primäre Gruppe. Ich werde die Subroutinen
gleich ausführlich beschreiben. Das daraus resultierende Schlüsselfeld des Dictionary-Objekts wird in
26 Lösungsgruppe 1: Rollenbasierte Verwaltung
ein Array, MemberOfList, kopiert, das dann mit der Funktion Array_Sort sortiert wird. Anschließend
werden die Einträge des Arrays nacheinander angezeigt.
Zwei Subroutinen sind für das Füllen von oMemberOfList verantwortlich. Die erste, ADObject_MemberOf, erstellt einen Verweis auf das Objekt und interpretiert seine primäre Gruppe, falls es sich um
einen Benutzer oder Computer handelt. Weist das Objekt weitere Mitgliedschaften auf, wird es an die
Subroutine ADObject_MemberOf_Enum übergeben, die die Gruppenmitgliedschaften rekursiv überprüft, wie bereits in dieser Lösung beschrieben, und nacheinander dem Dictionary oMemberOfList
hinzufügt. Wie andere Skripts dieses Buchs bietet auch dieses die Möglichkeit einer einfachen bis
mittelmäßigen Fehlererkennung. Wenn Kunden mich fragen, worin der Unterschied zwischen Skriptund Codeerstellung besteht, hebe ich oft hervor, dass es für ein Skript lediglich notwendig ist, eine
Aufgabe zu bewältigen. Punkt. Eine Anwendung dagegen muss robuster, flexibler und sicherer sein
und ein größeres Eingabespektrum besser unterstützen. Bei der Skripterstellung stellen Sie stets
Voraussetzungen auf und machen Zugeständnisse an die Zweckmäßigkeit und Effizienz des Codes.
Sie dürfen die Fehlerbehandlung, Eingabevalidierung oder andere derartige Eigenschaften der Skripts
gerne erweitern.
Verwenden von ADObject_MemberOf_Enum.vbs
Das Skript ADOBJECT_MMEMBEROF_ENUM.vbs finden Sie im Ordner Scripts auf dem Begleitmedium zu diesem Buch. Um es auszuführen, öffnen Sie die Eingabeaufforderung (cmd.exe) und geben
den folgenden Befehl ein:
cscript //nologo ADOBJECT_MEMBEROF_ENUM.vbs " Name des Benutzers, des Computers oder der Gruppe "
Dieses und alle anderen von mir vorgestellten Skripts sollten Sie sorgfältig testen. Skripts stellen eine
schnelle, effiziente Lösung, aber keine vollständig getestete Anwendung dar. Daher sollten Sie sicherstellen, dass Sie ein Skript und die Änderungen verstehen, die Sie daran vornehmen müssen oder können,
und das vollständige Skript vor seiner Bereitstellung in der Produktion in einer Testumgebung testen.
Warum VBScript?
Wie Sie vielleicht wissen, unterstützt Windows Server 2008 die Windows PowerShell als Schnittstelle
für die Administration und Automatisierung. Sie können Windows PowerShell auch von der MicrosoftWebsite herunterladen und unter Windows Vista, Windows XP und Windows Server 2003 installieren.
Allerdings werden wir für die meisten Lösungen in diesem Buch VBScript einsetzen, weil wir möglichst flexiblen und wiederverwendbaren Code erstellen wollen. Die VBScript-Subroutinen, die wir
früher geschrieben haben, konnten beispielsweise leicht in ein Anmeldeskript, eine Webseite oder eine
HTML-Anwendung (.hta) integriert werden. Tatsächlich integriert die nächste Lösung den Code in eine
benutzerdefinierte Verwaltungs-GUI, die als HTA-Datei gespeichert wird. In jedem dieser Szenarien
kann VBScript ausgeführt werden, ohne dass Sie sich darüber Gedanken machen müssen, ob Windows
PowerShell installiert ist oder nicht. Selbst unter Windows Server 2008 gibt es keine Garantie, dass
PowerShell zur Verfügung steht, da das Programm als Feature installiert werden muss. Schließlich ist
PowerShell ein neues Produkt und bietet keine einheitliche Gruppe von Funktionen an. Viele unserer
Lösungen beziehen beispielsweise Active Directory ein, wofür PowerShell nicht so ergiebig ist wie für
andere Komponenten, z.B. Windows Management Instrumentation (WMI).
Um die maximale Flexibilität, Wiederverwendbarkeit und Kompatibilität zu erhalten und einen reichhaltigen Satz von Funktionen nutzen zu können, ist daher VBScript oft, aber nicht immer das Mittel
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten der Gruppenmitgliedschaften 27
unserer Wahl. Sie können sicher sein, dass in künftigen Ausgaben dieses Buchs zunehmend PowerShell-Skripts zum Einsatz kommen, da PowerShell und Windows-Client- und -Servertechnologien
zunehmend integriert werden.
Die nächsten Schritte
Das Skript ADObject_MemberOf_Enum.vbs ist eine fertige Lösung zum Auflisten der Gruppenmitgliedschaften eines Benutzers, eines Computers oder einer Gruppe. Seine Funktionalität unterscheidet
sich allerdings bis auf die sortierte Ausgabe nicht wesentlich von unserer Befehlsfolge dsquery | dsget |
dsget. Die wahren Gründe, warum ich so viel Zeit für dieses Skript aufgewendet habe, bestehen erstens
darin, dass ich Ihnen den in diesem Buch verwendeten Ansatz zur Skripterstellung vorstellen möchte.
Zweitens verwenden wir diesen Code in den nächsten beiden Lösungen zum Erstellen eines wirklich
nützlichen GUI-Verwaltungswerkzeugs. Hören Sie also noch nicht auf zu lesen!
Weitere Informationen
Um mehr über VBScript zu erfahren, beginnen Sie bei den hervorragenden Quellen im TechNet Script
Center unter http://www.microsoft.com/technet/scriptcenter/default.mspx. Ich lege Ihnen das Buch
Microsoft Windows Administrator's Automation Toolkit (Microsoft Press, 2005) oder einen der anderen
Titel von Skriptguru Don Jones ans Herz. Im Internet gibt es unzählige Quellen zum Erlernen von
VBScript und für Beispielcode. Ich schlage vor, die Suche mithilfe von Schlüsselwörtern dazu durchzuführen, was Sie mit einem Skript erreichen wollen, und das Schlüsselwort »VBScript« hinzuzufügen.
Eine Suche mit dem Suchbegriff VBScript Gruppenmitgliedschaft führt beispielsweise zu einer Vielzahl weiterer Ansätze für das soeben von uns gelöste Problem. Eine der namhaftesten und aktivsten
Sites ist www.ScriptingAnswers.com von Don Jones.
Zusammenfassung
Die standardmäßigen GUI-Verwaltungswerkzeuge von Windows zeigen nicht die vollständigen Gruppenmitgliedschaften eines Benutzers oder Computers an, da sie keine verschachtelten Gruppenmitgliedschaften offen legen. Der Befehl dsget [user | computer] -memberof -expand listet alle Gruppenmitgliedschaften so auf, wie es auch bei VBScript der Fall ist, z.B. bei dem Skript dieser Lösung,
ADOObject_MemberOf_Enum.vbs. Dabei handelt es sich jedoch lediglich um eine unausgereifte
Lösung. Die nächsten beiden Lösungen bauen darauf auf und erstellen eine sehr nützliche Erweiterung
zum Snap-In Active Directory-Benutzer und -Computer.
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten
der Gruppenmitgliedschaften
Die Lösung im Überblick
Typ
HTML-Anwendung
Funktionen und Werkzeuge
HTA, HTML, VBScript
Zusammenfassung
Sie erstellen ein GUI-Werkzeug zum Auflisten der Gruppenmitgliedschaften eines Benutzers (oder Computers) und lernen,
wie Sie Skripts in Verwaltungswerkzeuge verwandeln.
28 Lösungsgruppe 1: Rollenbasierte Verwaltung
Vorteile
Beantwortung der Frage: »Zu welchen Gruppen gehört X?«
Bessere Verdeutlichung der Gruppenmitgliedschaften, als es bei
der Verwendung des Standardsatzes von GUI-Werkzeugen möglich ist.
Vorschau
Abbildung 1.7 zeigt die HTML-Anwendung Group Membership
Report in Aktion, die die Mitgliedschaften eines Benutzers mit
dem Prä-Windows 2000-Ameldenamen jfine auflistet.
Abbildung 1.7 Die HTML-Anwendung Group Membership Report
Einführung
In Lösung 1 wurde ein VBScript vorgestellt, dass die Gruppenmitgliedschaften eines Benutzers, eines
Computers oder einer Gruppe mit den verschachtelten Gruppenmitgliedschaften und der primären
Gruppe des Kontos auflistet. In dieser Lösung wird dieses Skript um eine Ebene weiterentwickelt, indem
ein Verwaltungswerkzeug mit einer grafischen Benutzeroberfläche (Graphical User Interface, GUI)
durch die Entwicklung einer einfachen Webseite und einer HTML-Anwendung (HTA) erstellt wird.
Webbasierte Verwaltungswerkzeuge sind von Vorteil, weil sie über Standardwebbrowser, z.B. Internet
Explorer, zugänglich sind. Sie können das Werkzeug von einer Stelle aus aktualisieren und verwalten
und brauchen keine Komponenten auf Clients zu installieren. Eine Herausforderung bei webbasierten
Werkzeugen besteht allerdings darin, dass Internet Explorer eine Reihe von Sicherheitsbeschränkungen
im Hinblick auf die zulässige Art des auszuführenden Codes aufweist. Einige dieser Einschränkungen
können Sie umgehen, indem Sie Ihre Administrationswebsite in der Sicherheitszone Lokales Intranet
einordnen. Sie können Ihre Verwaltungswerkzeuge auch als ASP.NET-Seiten kodieren, die im Sicherheitskontext des Anwendungspools der Website ausgeführt werden und serverseitig eine große Bandbreite an Code ausführen können, wobei dem Client eine dargestellte Seite geliefert wird und der Client
dazu nur wenig oder gar kein clientseitiges Skript benötigt.
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten der Gruppenmitgliedschaften 29
HTML-Anwendungen
Alternativ können Sie HTML-Anwendungen effektiv als Verwaltungswerkzeuge einsetzen. Dabei
handelt es sich um eigenständige Anwendungen, die in Standard-HTML-, VBScript- und/oder JavaScript-Code geschrieben werden. Mit Ausnahme eines zusätzlichen <HTA>-Tags ist der Code einer
solchen Anwendung identisch mit dem einer HTML-Webseite. Allerdings werden sie nicht mit Internet Explorer (iexplore.exe), sondern mithilfe von mshta.exe ausgeführt, die wesentlich weniger
Sicherheitsbeschränkungen für den innerhalb der Anwendung ausgeführten Code aufweist.
Da HTML-Anwendungen eigenständig sind, können Sie auch gestartet werden, wenn kein Netzwerkzugang zur Verfügung steht. Sie können von der lokalen Festplatte eines Systems, einem USB-Stick
oder einem optischen Medium aus ausgeführt werden – Sie brauchen keinen Webserver als Host.
Zum Kodieren von HML-Anwendungen sollten Sie mit einer Skriptsprache wie VBScript und mit
HTML vertraut sein. Sie können HTML-Editoren wie Microsoft Expression oder FrontPage 2003 als
HTML-Hilfe verwenden. Skripteditoren können die Erstellung von VBScript vereinfachen. Obwohl
dieses Buch nicht als Anleitung zur Skripterstellung gedacht ist, bietet diese Lösung einen Einstieg in
die Fähigkeiten, die erforderlich sind, um ein Skript in eine HTML-Anwendung zu verwandeln.
Wenn Sie kein erfahrender Skripter sind, können Sie dennoch die von uns entwickelten HTML-Anwendung verwenden, die sich im Ordner Scripts auf dem Begleitmedium befinden. Sie müssen jedoch
Änderungen daran vornehmen. Dazu müssen Sie sie im systemeigenen Editor oder einem anderen Texteditor öffnen. Verwenden Sie nicht Microsoft Office Word oder ein anderes Textverarbeitungsprogramm, das möglicherweise Änderungen an Zeichen und Formatierungen vornimmt. Word könnte beispielsweise die neutralen Anführungszeichen (") in typographische Anführungszeichen („ und “)
umwandeln. In alle HTML-Anwendungen und Skripts sind Kommentare eingebettet, die darauf hinweisen, was Sie ändern müssen, damit die Anwendung in Ihrer Umgebung funktioniert.
Selbst wenn Sie sich mit HTML oder VBScript nicht besonders gut auskennen, möchte ich Sie ermutigen, diese Lösung zu lesen, um zu erfahren, wie sich ein gutes Skript recht einfach in eine HTMLAnwendung integrieren lässt. Achten Sie darauf, wie Eingabesteuerelemente, z.B. Textfelder, eingesetzt werden können, um Parameter für das GUI-Werkzeug anstelle von Befehlszeilenargumenten für
das Skript bereitzustellen.
Erstellen einer HTML-Anwendung
Eigentlich ist es recht einfach, ein gut geschriebenes Skript in eine HTML-Anwendung zu verwandeln.
Die folgenden Erläuterungen sollen Ihnen helfen, die dafür erforderlichen Schritte zu meistern.
Zuerst der funktionale Code
Bevor Sie sich Gedanken darüber machen, wie Ihre HTML-Anwendung – die »Schnittstelle« für Ihr
Verwaltungswerkzeug – aussieht, sollten Sie dafür sorgen, dass Ihr Skript funktioniert. Der gesamte
Code sollte sich in Subroutinen und Funktionen befinden, die eigenständig sind, d.h. Eingaben von
Parametern übernehmen, die an die Routine übergeben oder in Eingabesteuerelementen (z.B. Textfeldern) auf der HTA-Seite gefunden wurden, und Ergebnisse an den aufrufenden Code zurückgeben
oder auf der Seite anzeigen. Wenn ein Skript dafür ausgelegt ist, Argumente zu übernehmen und Ergebnisse effizient anzuzeigen, sollte diese Aufgabe leicht zu bewältigen sein.
30 Lösungsgruppe 1: Rollenbasierte Verwaltung
Unser Skript ADObject_MemberOf_Enum.vbs ist modular aufgebaut, wobei Subroutinen und Funktionen die eigentliche Arbeit erledigen. Die Funktionalität des Skripts ist daher beinahe für den Einsatz in
für HTML-Anwendungen geeignetem Code bereit. Lediglich der Code am Anfang der Routine ist nicht
Teil einer Subroutine oder Funktion. Dieser Code, außer dem Verwendungshinweis, ist im Folgenden
wiedergegeben:
Option Explicit
Dim oMemberOfList
Dim aMemberOfList
Dim sMemberOf
Dim sDomainDN
Dim sArgument
Dim sObjectDN
' KONFIGURATIONsBLOCK
sDomainDN = "dc=contoso,dc=com"
' Argument abrufen
sArgument = WScript.Arguments(0)
' In DN übersetzen
sObjectDN = ADObject_DN_UCG(sArgument, sDomainDN)
If sObjectDN = "" Then
WScript.Echo "ERROR--NOT FOUND: " & sArgument
WScript.Quit (501)
End If
' Erstellen eines Dictionary-Objekts zum Speichern von Gruppennamen
Set oMemberOfList = CreateObject("Scripting.Dictionary")
' Vergleichsmodus auf Nichtbeachtung der Groß- und Kleinschreibung setzen
oMemberOfList.CompareMode = vbTextCompare
Call ADObject_MemberOf (sObjectDN)
aMemberOfList = oMemberOfList.Keys
aMemberOfList = Array_Sort(aMemberOfList)
WScript.Echo "MEMBERSHIPS"
For Each sMemberOf In aMemberOfList
WScript.Echo sMemberOf
Next
Dieser Code steuert den Ablauf des Skripts. Wir brauchen es lediglich in eine Subroutine zu verwandeln, indem wir es in Sub- und End Sub-Anweisungen einschließen:
OOption Explicit
Dim oMemberOfList
Dim sDomainDN
' KONFIGURATIONsBLOCK
sDomainDN = "dc=contoso,dc=com"
Sub MainRoutine()
Dim aMemberOfList
Dim sMemberOf
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten der Gruppenmitgliedschaften 31
Dim sArgument
Dim sObjectDN
' Argument abrufen
sArgument = WScript.Arguments(0)
' In DN übersetzen
sObjectDN = ADObject_DN_UCG(sArgument, sDomainDN)
If sObjectDN = "" Then
WScript.Echo "ERROR--NOT FOUND: " & sArgument
WScript.Quit (501)
End If
' Dictionary-Objekt zum Speichern von Gruppennamen erstellen
Set oMemberOfList = CreateObject("Scripting.Dictionary")
' Vergleichsmodus auf Nichtbeachtung der Groß- und Kleinschreibung setzen
oMemberOfList.CompareMode = vbTextCompare
aMemberOfList = oMemberOfList.Keys
aMemberOfList = Array_Sort(aMemberOfList)
WScript.Echo "MEMBERSHIPS"
For Each sMemberOf In aMemberOfList
WScript.Echo sMemberOf
Next
End Sub
Beachten Sie, dass wir die Variablen oMemberOfList und sDomainDN außerhalb der Subroutine deklarieren, weil wir für diesen besonderen Code Variablen mit globalem Gültigkeitsbereich benötigen, die
daher von Funktionen und Subroutinen gemeinsam genutzt werden können.
Erstellen einer Benutzeroberfläche: der HTML-Code
Hoffentlich haben Sie einen HTML-Editor, z.B. FrontPage 2003 oder Microsoft Expression Web, der
Ihnen beim Erstellen des HTML-Codes für Ihre HTA behilflich ist. Falls nicht, können Sie den Editor
verwenden. Nachstehend finden Sie die wichtigen Codezeilen, die Sie benötigen:
<html>
<head>
<title>My Administrative Tool</title>
<hta:application>
<script language="vbscript"> HIER STEHT DER SKRIPTCODE </script>
</head>
<body> HIER STEHT DER HTML-CODE FÜR DIE BENUTZEROBERFLÄCHE </body>
</html>
Das <title>-Tag erstellt den Text in der Titelleiste des Browsers. Der HTML-Code, den Sie zwischen
dem öffnenden <body>- und dem schließenden </body>-Tag platzieren, erstellt die sichtbaren Elemente der Benutzeroberfläche. Der Funktionscode wird zwischen dem öffnenden <script>- und dem
schließenden </script>-Tag eingefügt. Diese Elemente sind allen webbasierten Verwaltungswerkzeugen gemeinsam.
Zum Erstellen einer HTML-Anwendung müssen Sie die Seite mit der Erweiterung .hta speichern.
Darüber hinaus fügen Sie das Tag <hta:application> hinzu, das die Ausführung der Anwendung unter
32 Lösungsgruppe 1: Rollenbasierte Verwaltung
mshta.exe erlaubt, sodass sie von den normalerweise für webbasierten Code geltenden Sicherheitsbeschränkungen ausgenommen ist.
Sie können sicherlich noch viel mehr tun und der Seite Stile, Metadaten und andere Tags hinzufügen.
Hierbei handelt es sich aber um die Grundstruktur einer HTML-Anwendung. Weitere Einzelheiten
über HTML-Anwendungen erfahren Sie unter http://msdn2.microsoft.com/en-us/library/
ms536471.aspx. Dort finden Sie eine Übersicht über HTML-Anwendungen und Einzelheiten über das
leistungsfähige <hta:application>-Tag.
Erstellen einer Benutzeroberfläche: Eingaben
Nur wenige Zeilen unseres Skripts, die die Eingabe verarbeiten, sind notwendig, um zu einem für
HTML-Anwendungen geeigneten Code überzugehen:
sArgument = WScript.Arguments(0)
sObjectDN = ADObject_DN_UCG(sArgument, sDomainDN)
Dieser Code weist das erste an das Skript übergebene Argument einer Variablen mit dem Namen
sArgument zu und übersetzt dann dieses Argument mithilfe der Funktion ADObject_DN_UCG in einen
definierten Namen. In einer HTML-Anwendung werden solche Parameter, Argumente oder Eingaben
für den Code mithilfe von Eingabesteuerelementen, z.B. Textfeldern, Dropdownlisten, Listenfeldern
und Kontrollkästchen bereitgestellt. Diese Steuerelemente sind Teil des Seitenrumpfs und befinden sich
innerhalb der <body>-Tags.
Die folgende Codezeile nach dem öffnenden <body>-Tag erstellt beispielsweise ein Textfeld, in das
wir den definierten Namen des Benutzers oder Computers eingeben können, dessen Gruppenmitgliedschaften wir auflisten wollen:
<input type="text" name="txtObjectDN" id="txtObjectDN" size="20">
Die Attribute des <input>-Tags erstellen ein 20 Zeichen breites Textfeld mit dem Namen und der ID
von txtObjectDN. Die Attribute des Namens und der ID sollten auf denselben Wert gesetzt werden. Der
eigentliche Name spielt keine Rolle, obwohl Sie bestimmte reservierte Wörter (wie body) nicht verwenden dürfen. Außerdem sollten Sie konventionsgemäß ein Präfix verwenden, um den Typ des Steuerelements anzugeben (z.B. txt für ein Textfeld).
Der Name und die ID Ihrer Eingabesteuerelemente können dann von Ihrem Funktionscode zum Abruf
der Daten verwendet werden, die der Benutzer in diese Steuerelemente eingegeben hat. Wenn wir die
Zeile
sArgument = WScript.Arguments(0)
sObjectDN = ADObject_DN_UCG(sArgument, sDomainDN)
unseres Skripts in
sObjectDN = ADObject_DN_UCG(txtObjectDN.value, sDomainDN)
ändern, haben wir den Eingabeabschnitt des Skripts für das Web geändert. Wird der Code ausgeführt,
wird der in das Textfeld eingegebene Wert an die Routine ADObject_DN_UCG übergeben und in einen
definierten Namen übersetzt. Recht einfach, nicht wahr?
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten der Gruppenmitgliedschaften 33
Verarbeiten von Ereignissen
Was genau veranlasst die Ausführung des Codes? Im Gegensatz zu einem eigenständigen Skript, das den
Code ausführt, wenn es geöffnet wird, sind HTML-Anwendungen und Webseiten ereignisgesteuert. Das
bedeutet, dass der Code nur ausgeführt wird, wenn ein auslösendes Ereignis stattfindet. Es gibt zwei
Möglichkeiten, ein Ereignis an den auszuführenden Code zu binden.
Die erste Möglichkeit besteht darin, dem HTML-Tag ein Ereignishandler-Attribut hinzuzufügen:
<input type="text" name="txtObjectDN" id="txtObjectDN" size="20" onchange="MainRoutine()"/>
Textfelder und viele andere Eingabesteuerelemente lösen ein Ereignis aus, wenn der Wert des Steuerelements geändert wird. Das Ereignishandler-Attribut onchange veranlasst den Client, den angegebenen Code auszuführen, wenn dies geschieht.
In ähnlicher Weise können wir der Seite eine Schaltfläche hinzufügen, die auf einen Klick hin die Subroutine ausführt:
<input type="button" name="btnSubmit" id="btnSubmit" value="Go" onclick="MainRoutine()"/>
Die zweite Möglichkeit besteht darin, die Subroutine zu benennen, um den Ereignishandler automatisch zu verarbeiten. Anstelle von MainRoutine() können wir unsere Subroutine txtObjectDN_
onChange() nennen. Bei dem Namen wird die Groß- und Kleinschreibung nicht beachtet, er muss aber
die Form steuerelementID_Ereignis aufweisen. Wenn wir unsere Schaltfläche haben, aber das Attribut
onclick weglassen, können wir unsere Subroutine btnSubmit_onClick() nennen. Durch die Benennung
einer Subroutine in diesem Format ruft das Ereignis den Code automatisch auf.
Sie können sogar Ereignisse auf Seitenebene zum Auslösen des Codes nutzen. Im <body>-Tag vieler
unserer HTML-Anwendungen sehen Sie ein Ereignishandler-Attribut, wie das folgende Beispiel zeigt:
<body onload="Initialize()">
Beim Laden der Seite wird die Routine ausgeführt, um die Initialisierungsaufgaben wie das Ändern der
Fenstergröße oder die Initialisierung von Variablen durchzuführen.
Erstellen einer Benutzeroberfläche: Ausgabe
Wenn Sie eine HTML-Anwendung erstellen, verwenden Sie keine WScript.Echo-Anweisungen, um die
Ausgabe bereitzustellen. Tatsächlich steht WScript.Echo nicht zur Verfügung, allerdings kann MsgBox
verwendet werden: MsgBox wird zur Anzeige einer Fehlermeldung eingesetzt, wenn der in das Textfeld
eingegebene Name ungültig ist.
Bei den meisten Ausgaben ändern Sie jedoch normalerweise den HTML-Code der angezeigten Seite.
Das folgende Skript zeigt beispielsweise die Meldung an, dass die in einem Bereich (div) der HTMLSeite geladene Seite als Nachrichtenfeld erkannt wurde.
<html>
<head>
<script language="vbscript">
Sub DisplayMessage(sMessageHTML)
MessageBox.innerHTML = sMessageHTML
End Sub
</script>
34 Lösungsgruppe 1: Rollenbasierte Verwaltung
</head>
<body onload="DisplayMessage('<h1>The page loaded</h1>')">
Results:
<div id="MessageBox" name="MessageBox">&nbsp;</div>
</body>
</html>
Bei dem Ereignis, das in dem hier gezeigten Code die Subroutine DisplayMessage auslöste, handelt es
sich um das Laden der Seite – das Ereignishandler-Attribut onload des body-Tags.
Um ein anderes Ereignis zu demonstrieren, fügen Sie die folgende Codezeile oberhalb des schließenden
</body>-Tags ein:
<input type="button" name="btnTest" id="btnTest" onclick="DisplayMessage('<i>You just clicked
the button.</i>')" value="Click Me"/>
Diese Zeile erstellt eine Schaltfläche, deren Attribute name und id auf btnTest gesetzt werden. Der
Ereignishandler onclick ruft die Subroutine DisplayMessage auf. Das Label der Schaltfläche (value)
wird so gesetzt, dass der Text »Click me« angezeigt wird.
Sie verwenden diese Art von Verfahren zum Erstellen von Ausgaben, sodass Sie sicherstellen sollten,
dass Ihr Skript die effektive Anzeige auf der HTML-Seite ohne WScript.Echo-Anweisungen vorbereitet. Unser Skript zum Auflisten der Gruppenmitgliedschaften enthält den folgenden Code, der die Liste
der Mitgliedschaften ausgibt:
WScript.Echo "MEMBERSHIPS"
For Each sMemberOf In aMemberOfList
WScript.Echo sMemberOf
Next
Wir können den Code beispielsweise so ändern, dass die Liste der Mitgliedschaften erstellt und
anschließend auf einer Webseite angezeigt wird:
sMessageHTML = "MEMBERSHIPS"
For Each sMemberOf In aMemberOfList
sMessageHTML = sMessageHTML & "<br/>" & sMemberOf
Next
Call DisplayMessage(sMessageHTML)
Die fertige HTML-Anwendung
Nach der Kapselung unseres Funktionscodes in Subroutinen und Funktionen, der Erstellung einer
Benutzeroberfläche mit Eingabesteuerelementen, der Verarbeitung von Ereignissen zum Auslösen des
Codes und der Bereitstellung eines Mechanismus zur Anzeige der Ausgabe sind wir einer »perfekten«
HTML-Anwendung recht nahe gekommen. Sie trägt den Namen ADObject_MemberOf_Enum.hta und
ist im Ordner Scripts auf dem Begleitmedium zu finden.
Sie werden dort ein zusätzliches Element bemerken. Wir haben dem Seitenelement <head> ein
<style>-Tag hinzugefügt:
1.2 Erstellen eines GUI-Werkzeugs zum Auflisten der Gruppenmitgliedschaften 35
<style>
body, tr, td, table, p, input {font-family: arial; font-size: 9pt;}
</style>
Damit wird die Schriftart der HTML-Anwendung auf Arial in 9 Punkt gesetzt.
Nachstehend finden Sie den endgültigen HTA-Code, wobei ich die fünf Funktionen, die Teil unserer
Funktionsbibliothek sind, ausgelassen habe, sodass sich die Hauptelemente und -funktionen leichter
beurteilen lassen:
ADObject_MemberOf_Enum.hta
<html>
<head>
<title>Group Membership Report</title>
<hta:application>
<script language="vbscript">
Option Explicit
Dim oMemberOfList
Dim sDomainDN
' KONFIGURATIONSBLOCK
sDomainDN = "dc=contoso,dc=com"
Sub MainRoutine()
Dim aMemberOfList
Dim sMemberOf
Dim sResults
Dim sObjectDN
sObjectDN = ADObject_DN_UCG(txtObjectDN.value, sDomainDN)
If sObjectDN = "" Then
MsgBox "Could not find " & txtObjectDN.value
End If
' Dictionary-Objekt zum Speichern der Gruppennamen erstellen
Set oMemberOfList = CreateObject("Scripting.Dictionary")
' Vergleichsmodus auf Nichtbeachtung der Groß- und Kleinschreibung setzen
oMemberOfList.CompareMode = vbTextCompare
Call ADObject_MemberOf (sObjectDN)
aMemberOfList = oMemberOfList.Keys
aMemberOfList = Array_Sort(aMemberOfList)
sResults = "MEMBERSHIPS"
For Each sMemberOf In aMemberOfList
sResults = sResults & "<br/>" & sMemberOf
Next
36 Lösungsgruppe 1: Rollenbasierte Verwaltung
divResults.innerHTML = sResults
End Sub
' =============================
' FUNKTIONEN AUS DER BIBLIOTHEK
' ==============================
Sub ADObject_MemberOf(ByVal sObjectDN)
Sub ADObject_MemberOf_Enum(ByVal oObject)
Function Array_Sort(ByVal aArray)
Function ADObject_DN_UCG(ByVal sObject, sSearchDN)
Function ADObject_Find_UCG(sObjectName, sSearchDN)
</script>
<style>
body, tr, td, table, p, input {font-family: arial; font-size: 9pt;}
</style>
</head>
<body>
<input type="text" name="txtObjectDN" id="txtObjectDN" size="20"
onchange="MainRoutine()"/>
<h3>Group memberships</h3>
<div id="divResults" name="divResults">&nbsp;</div>
</body>
</html>
Doppelklicken Sie einfach auf die HTML-Anwendung, um sie auszuführen! Das Textfeld verwendet
ein OnChange-Ereignis zum Auslösen von MainRoutine, sodass Sie den Namen eines Benutzers, eines
Computers oder einer Gruppe eingeben und dann (Tab) drücken können, um die Gruppenmitgliedschaften des Objekts zu sehen.
Weitere Informationen
Um mehr über HTML-Anwendungen zu erfahren, beginnen Sie mit der MSDN-Übersicht unter http://
msdn2.microsoft.com/en-us/library/ms536471.aspx. Fahren Sie dann mit der HTA-Site im TechNet
Scripting Center unter http://www.microsoft.com/technet/scriptcenter/hubs/htas.mspx fort.
Zusammenfassung
Erstellen Sie ein benutzerdefiniertes, GUI-Verwaltungswerkzeug zum Auflisten der Gruppenmitgliedschaften, indem Sie den in Lösung 1.1 entwickelten VBSchript-Funktionscode in eine HTML-Anwendung verwandeln. Zum Erstellen einer solchen Anwendung müssen Sie sicherstellen, dass der gesamte
Code in Subroutinen und Funktionen gekapselt ist. Erstellen sie eine HTML-basierte Benutzeroberfläche und verarbeiten Sie Ereignisse zur Ausführung des Codes. Der Code kann die Ergebnisse durch
das Einfügen von HTML in ein <div>-Tag anzeigen.
1.3 Erweitern von Active Directory-Benutzer und -Computer zum Auflisten von Gruppenmitgliedschaften 37
1.3 Erweitern von Active Directory-Benutzer und -Computer
zum Auflisten von Gruppenmitgliedschaften
Die Lösung im Überblick
Typ
Werkzeug (HTML-Anwendung)
Funktionen und Werkzeuge
HTML-Anwendung, MMC-Aufgabenblöcke, Active DirectoryAnzeigebezeichner
Zusammenfassung
Erweitern Sie das Snap-In Active Directory-Benutzer und -Computer, sodass Sie mit der rechten Maustaste auf einen Benutzer,
einen Computer oder eine Gruppe klicken und die entsprechenden
Gruppenmitgliedschaften mit den verschachtelten Gruppen anzeigen lassen können. Lernen Sie, wie Sie benutzerdefinierte Werkzeuge in MMC-Snap-Ins integrieren.
Vorteile
Beantwortung der Frage: »Zu welchen Gruppen gehört x?«
Die Gruppenmitgliedschaften sind besser einsehbar, als es bei der
Verwendung der standardmäßigen GUI-Werkzeuge möglich ist.
Vorschau
Es gibt zwei Möglichkeiten, unsere benutzerdefinierte HTMLAnwendung in das Snap-In Active Directory-Benutzer und
-Computer zu integrieren. Wenn ein Benutzer ausgewählt wird,
erscheint eine Aufgabe am linken Rand des MMC-Detailfensters.
Alternativ wird ein Befehl im Kontextmenü angezeigt. Normalerweise verwenden Sie nur eine dieser beiden Methoden. Abbildung 1.8 illustriert beide.
Abbildung 1.8 Integrieren eines benutzerdefinierten Werkzeugs in Active Directory-Benutzer und -Computer
38 Lösungsgruppe 1: Rollenbasierte Verwaltung
Einführung
In Lösung 1.1 und 1.2 haben wir ein Skript zum Auflisten der Gruppenmitgliedschaften entwickelt und
in eine eigenständige HTML-Anwendung verwandelt, um ein GUI-Front-End bereitzustellen. Allerdings müssen wir die HTML-Anwendung immer noch suchen, starten und den Namen des Benutzers
oder Computers manuell eingeben. Wäre es nicht schön, wenn wir einen Benutzer einfach in einem
Verwaltungswerkzeug wie Active Directory-Benutzer und -Computer auswählen und mit einem oder
zwei Klicks seine Gruppenmitgliedschaften anzeigen lassen könnten? Das erreichen wir mit dieser
Lösung.
Noch wichtiger sind aber wohl die Kenntnisse, die Sie dabei erwerben und die es ermöglichen, unser
maßgeschneidertes Werkzeug in ein standardmäßiges MMC-Snap-In zu integrieren. Mit diesen Fähigkeiten sind Sie in der Lage, beliebige Skripts, HTML-Anwendungen, ausführbare Dateien, Hilfsprogramme von Drittanbietern und andere Werkzeuge in Ihre MMC einzufügen und damit ein besonders
leistungsfähiges Paket administrativer Werkzeuge zu entwickeln.
Argumente in HTML-Anwendungen
Wenn wir unsere benutzerdefinierte HTML-Anwendung starten wollen und erwarten, dass sie wie von
Zauberhand eine Aufstellung der Gruppenmitgliedschaften des ausgewählten Benutzers erstellt, müssen wir im Hintergrund den Benutzernamen in Form eines Arguments an sie übergeben. Die HTMLAnwendung muss in der Lage sein, dieses Argument zu übernehmen und zu verarbeiten
Leider bieten HTML-Anwendungen keinen besonders eleganten Weg dafür an. Es gibt zum Beispiel
keine Arguments()-Auflistung wie in VBScript. Wir müssen eine Notlösung finden.
Nehmen wir an, wir müssten versuchen, unsere HTML-Anwendung von der Befehlsshell aus zu starten. Dazu würden wir die folgende Syntax verwenden:
mshta.exe "\\pfad-zur-HTA\HTA-name.hta"
Wenn wir ein Argument, z.B. einen Benutzernamen, übergeben wollten, würden wir es wie folgt an den
Befehl anfügen:
mshta.exe "\\pfad-zur-HTA\HTA-name.hta" "jfine"
Wie bereits erwähnt, kann die HTML-Anwendung das Argument "jfine" nicht gleich erkennen. Allerdings kennt sie die Befehlszeile, mit der sie gestartet wurde. Die Befehlszeile ist eine Eigenschaft der
Anwendung selbst, wobei die Anwendung durch das Attribut id des Elements <hta:application> identifiziert wird. Betrachten Sie beispielsweise eine Anwendung, die das folgende <hta:application>-Element aufweist:
<hta:application
id="oMyHTA">
In diesem Fall wird die Anwendung durch ein Objekt, oMyHTA, repräsentiert, wobei der Zugriff auf die
Befehlszeile durch das Abrufen der Eigenschaft oMyHTA.commandline erfolgen kann, wie das folgende Beispiel zeigt:
sHTACommandLine = oMyHTA.commandline
1.3 Erweitern von Active Directory-Benutzer und -Computer zum Auflisten von Gruppenmitgliedschaften 39
Wir brauchen lediglich die Befehlszeile auszuwerten. Die HTML-Anwendung wird namentlich aufgerufen (z.B. [mshta.exe] "Pfad\MyHTA.hta"), sodass wir nach der Erweiterung .hta suchen und davon
ausgehen können, dass es sich bei allen darauf folgenden Angaben um Argumente handelt. Dann analysieren wir die restliche Zeichenfolge und verwenden dabei das Leerzeichen als Trennzeichen zwischen
den Argumenten und Anführungszeichen, die die Argumente einschließlich Leerzeichen umschließen –
genau wie bei einer normalen Befehlszeile.
Wenn Sie den Code HTA_Arguments.snippet auf dem Begleitmedium untersuchen, werden Sie zwei
Funktionen bemerken. Die erste Funktion, HTA_Arguments, wird mit dem Objektverweis der HTMLAnwendung aufgerufen. Sie sucht nach der Befehlszeile und anschließend nach der Erweiterung .hta,
um herauszufinden, ob Argumente vorhanden sind, und analysiert anschließend die restliche Befehlszeile mithilfe der zweiten Funktion, Text_Delimited_Parse(). Diese zweite Funktion ist sehr nützlich
für die Analyse eines Textes mit Trennzeichen, z.B. von Zeilen aus einer kommagetrennten Textdatei
(.csv) oder in diesem Fall von durch Leerzeichen getrennten Argumenten, wobei Argumente, die ein
Leerzeichen enthalten, von Anführungszeichen eingeschlossen sind. Wenn diese beiden Funktionen
ihre Aufgabe ausgeführt haben, enthält das von HTA_Arguments() zurückgegebene Array alle Argumente, die mit der Befehlszeile an die HTML-Anwendung übergeben wurden.
Nun brauchen wir lediglich diese beiden Funktionen beim Starten der HTML-Anwendung aufzurufen.
Der folgende Code innerhalb des <script>-Tags führt diese Aufgabe aus:
Dim aArguments
' Wir deklarieren dies außerhalb unserer Subroutine,
' sodass es einen globalen Gültigkeitsbereich aufweist und dem anderem
' Code innerhalb der HTA zur Verfügung steht
Sub Window_Onload
' Eine Routine mit diesem Namen wird automatisch
' beim Starten der HTA ausgeführt
aArguments = HTA_Arguments(oMyHTA)
' oMyHTA in dem oben genannten Funktionsaufruf ändern, damit es mit dem Wert
' des Attributs "id" für das Element <hta:application> übereinstimmt
End Sub
Das Array aArguments enthält alle Argumente. Da es mit einem globalen Gültigkeitsbereich deklariert
wurde, können wir von allen anderen Abschnitten des Codes darauf zugreifen.
Hinweis Diese Lösung zur Übernahme von Argumenten in einer HTML-Anwendung ist kaum dokumentiert.
Sie werden sie beim Schreiben von HTML-Anwendungen als sehr hilfreich empfinden.
Für unsere Anwendung ADObject_MemberOf_Enum.hta müssen wir dem <hta:application>-Tag ein
id-Attribut hinzufügen:
<hta:application
id="oMyHTA">
Wir können den folgenden Code zwischen den <script>-Tags einfügen:
Dim aArguments
Sub Window_Onload
aArguments = HTA_Arguments(oMyHTA)
If uBound(aArguments) >= 0 Then
' Ein Argument wurde an die HTA übergeben
' Textfeld vorher füllen und dann die Hauptroutine ausführen
40 Lösungsgruppe 1: Rollenbasierte Verwaltung
txtObjectDN.value = aArguments(0)
Call MainRoutine()
End If
End Sub
' HTA_Arguments.snippet einfügen, das die beiden folgenden Funktionen enthält:
Function HTA_Arguments()
Function Text_Delimited_Parse()
Dieser Code startet beim Öffnen der HTML-Anwendung, überprüft die Befehlszeile, um herauszufinden, ob Argumente übergeben wurden, und nimmt gegebenenfalls an, dass es sich bei dem ersten
Argument (Arrays beginnen beim Zählen der Elemente mit null) um den Namen des Benutzers oder
Computers handelt, dessen Gruppenmitgliedschaft wir auswerten wollen. Er füllt das Textfeld auf der
Seite wieder mit diesem Namen und führt den Code aus, der die Gruppenmitgliedschaften anzeigt.
Als Ergebnis erhalten wir unsere endgültige HTML-Anwendung Group Membership Report mit dem
Namen MemberOf_Report.hta. Ich habe eine weitere Subroutine, die das Anwendungsfenster zentriert
und seine Größe festlegt, sowie ein Erläuterungslabel und eine Schaltfläche in den HTML-Abschnitt
der Anwendung eingeschmuggelt. Sie sehen den zusätzlichen Code, wenn Sie die HTML-Anwendung
im systemeigenen oder einem anderen HTML-Editor öffnen
Verwenden von MemberOf_Report.hta
Diese für die Befehlszeile bereite Version der HTML-Anwendung trägt den Namen
MemberOf_Report.hta und befindet sich im Ordner Scripts auf dem Begleitmedium. Starten Sie die
Anwendung mit der folgenden Befehlssyntax:
Pfad\MemberOf_Report.hta "Name des Benutzers, des Computers oder der Gruppe"
Bei dem Namen des Benutzers, des Computers oder der Gruppe handelt es sich um einen definierten
Namen, Active Directory-Pfad (AdsPath) oder Prä-Windows 2000-Anmeldenamen (sAMAccountName) des Objekts.
Integrieren einer benutzerdefinierten HTML-Anwendung
in eine MMC mithilfe von Aufgaben
Nun folgt der schöne Teil! Sie haben lange gewartet oder sind unzählige Skripts durchgegangen, um
hierher zu gelangen. Das Warten hat sich gelohnt! Am Ende werden Sie in der Lage sein, einen Benutzer, einen Computer oder eine Gruppe auszuwählen und mit einem Klick einen Mitgliedschaftsbericht
für dieses Objekt zu erstellen.
Wir haben eine HTML-Anwendung, die wir mit einer Befehlszeile starten können. Das ist Schritt 1 –
ein Werkzeug zu bekommen, das Argumente übernimmt.
Speichern der HTML-Anwendung an einem zugänglichen Ort
Die HTML-Anwendung (MemberOf_Report im Ordner Scripts auf dem Begleitmedium) muss für alle
Administratoren zugänglich sein, die sie nutzen. Sie können die Anwendung in einem freigegebenen
Ordner speichern oder an die lokalen Festplatten administrativer Arbeitsstationen verteilen.
Wenn Sie die HTML-Anwendung (oder andere Skripts und Werkzeuge) in einem freigegebenen Ordner
speichern, stoßen Sie wahrscheinlich auf Sicherheitsbeschränkungen, die entweder das Ausführen des
1.3 Erweitern von Active Directory-Benutzer und -Computer zum Auflisten von Gruppenmitgliedschaften 41
Codes verhindern oder Eingabeaufforderungen anzeigen. Ich empfehle Ihnen, lokale Kopien der Werkzeuge zu verteilen, wie es auch bei den standardmäßigen Verwaltungswerkzeugen von Microsoft der
Fall ist. Wenn Sie die Werkzeuge allerdings an einem freigegebenen Speicherort ablegen wollen,
erfahren Sie in den folgenden Absätzen, wie Sie dabei vorgehen müssen.
Erstens müssen Sie sicher sein, dass sich der Server, auf dem Sie die HTML-Anwendung gespeichert
haben, in der Sicherheitsozone Lokales Intranet Ihres Computers befindet. Klicken Sie in Internet
Explorer auf Extras und anschließend auf Internetoptionen, wechseln Sie zur Registerkarte Sicherheit,
wählen Sie Lokales Intranet und klicken Sie dann auf Sites. Wählen Sie Erweitert (sofern die Schaltfläche sichtbar ist, was von Ihrem Betriebssystem abhängt) und geben Sie dann die Adresse <Servername>.<Firma>.com ein. (Stellen sie sicher, dass Sie den vollständig qualifizierten Domänennamen
des Servers verwenden.) Klicken Sie auf Hinzufügen, sodass die eingegebene Adresse in das Format
file://<servername>.<firmenname>.com konvertiert wird. Klicken Sie auf Schließen und OK.
Wenn Sie nun die HTML-Anwendung ausführen, erscheint eine ADO-Sicherheitswarnung. Um dies zu
vermeiden, sollten Sie die Einstellungen der Sicherheitszone Lokales Intranet anpassen und die Einstellung Auf Datenquellen über Domänengrenzen hinweg zugreifen aktivieren. Alles, was Sie zur Lockerung
der Sicherheit unternehmen, zeigt Auswirkungen, sodass Sie sich etwas Zeit nehmen und sich die Internetressourcen ansehen sollten, um herauszufinden, ob dies die von Ihnen beabsichtigte Vorgehensweise
ist. Andernfalls müssen Sie damit leben, sich durch die ADO-Sicherheitswarnung zu klicken.
Eine von mir empfohlene Alternative besteht darin, sicherzustellen, dass sich die HTML-Anwendung
in einem lokalen Pfad auf den Systemen aller Administratoren befindet (z.B. C:\Programme\<Firma>Tools\MemberOf_Report.hta). Erstellen Sie einen Ordner, z.B. <Firma>Tools, im
Ordner Programme und kopieren Sie Skripts, HTAs und andere Werkzeuge an diesen Speicherort. Dies
ist die beste Möglichkeit, die größten Sicherheitseinschränkungen für HTML-Anwendungen und
Skripts zu vermeiden.
Empfohlene Vorgehensweisen
Empfohlene Vorgehensweisen Verteilen Sie benutzerdefinierte Skripts und Verwaltungswerkzeuge
an die Arbeitsstationen der Administratoren, wie Sie es bei anderen lokalen Anwendungen auch tun.
Erstellen eines Aufgabenblocks und einer Shell-Aufgabe zum Starten der HTML-Anwendung
Nun wollen wir unser Werkzeug in die Standardverwaltungswerkzeuge von Windows integrieren. Da
sich dieses Werkzeug auf Benutzer, Computer und Gruppen bezieht, ist es sinnvoll, es in das Snap-In
Active Directory-Benutzer und -Computer einzufügen. Diese Schritte funktionieren aber auch bei nahezu
allen anderen Snap-Ins. Sie müssen das Snap-In allerdings in einer benutzerdefinierten Konsole verwenden – bei der MMC-Standardkonsole von Active Directory-Benutzer und -Computer funktioniert es nicht.
Die zum Erstellen eines Aufgabenblocks und einer Aufgabe erforderlichen Schritte sind in den folgenden
Absätzen zusammengefasst. Wenn Sie eine ausführlichere Beschreibung benötigen, nutzen Sie die HilfeFunktion von mmc.exe.
Zunächst müssen Sie mit dem Snap-In Active Directory-Benutzer und Computer eine benutzerdefinierte Konsole erstellen:
1. Klicken Sie auf Start und wählen Sie den Befehl Ausführen (Windows XP) oder klicken Sie in das
Suchfeld (Windows Vista/Windows Server 2008). Geben Sie mmc.exe ein und drücken Sie die Eingabetaste.
2. Eine leere MMC-Konsole erscheint. Wählen Sie Datei und anschließend Snap-In hinzufügen/entfernen und fügen Sie das Snap-In Active Directory-Benutzer und -Computer hinzu.
42 Lösungsgruppe 1: Rollenbasierte Verwaltung
3. Speichern Sie die Konsole, indem Sie Datei und anschließend Speichern auswählen. Sie sollten die
Konsole auf der Netzwerkfreigabe, auf der sich die HTML-Anwendung befindet, oder in einem
anderen freigegebenen Ordner ablegen, der für Administratoren leicht zugänglich ist.
Nun müssen Sie einen so genannten Aufgabenblock (früher Taskpad genannt) erstellen:
1. Erweitern Sie das Detailfenster der Konsole bis zu einer Organisationseinheit, die Benutzer enthält.
2. Markieren Sie die Organisationseinheit, klicken Sie im Feld Aktionen auf Weitere Aktionen und
wählen Sie Neue Aufgabenblockansicht. Bei älteren Versionen der MMC klicken Sie mit der
rechten Maustaste auf die Organisationseinheit und wählen Neue Taskpadansicht.
3. Der Assistent für neue Aufgabenblockansicht (bzw. Assistent für neue Taskpadansicht) erscheint.
Klicken Sie auf Weiter.
4. Übernehmen Sie auf der Seite Aufgabenblockstil (Taskpadanzeige) alle Standardwerte und klicken
Sie auf Weiter.
5. Wählen Sie auf der Seite Taskpadziel den Eintrag Ausgewähltes Strukturelement aus und klicken
Sie anschließend auf Weiter.
6. Übernehmen oder ändern Sie auf der Seite Name und Beschreibung den Standardnamen und die
Beschreibung und klicken Sie auf Weiter.
7. Vergewissern Sie sich auf der Seite Fertigstellen des Assistenten, dass das Kontrollkästchen
aktiviert ist, und klicken Sie auf Fertig stellen.
Nun haben Sie die Erstellung des Aufgabenblocks abgeschlossen, woraufhin ein zweiter Assistent
startet, der Ihnen dabei hilft, eine Aufgabe dafür zu erstellen:
1. Der Assistent für neue Aufgabe (bzw. für neuen Task) erscheint. Klicken Sie auf Weiter.
2. Wählen Sie auf der Seite Befehlstyp die Option Shellbefehl aus und klicken Sie auf Weiter.
3. Geben Sie mshta.exe in das Befehlsfeld ein.
4. Geben Sie in das Feld Parameter "Pfad zur HTML-Anwendung\MemberOf_Report.hta"
gefolgt von einem Leerzeichen ein. Wenn Sie das Werkzeug in einem freigegebenen Ordner speichern, verwenden Sie den vollständig qualifizierten Domänennamen des Servers, z.B. \\server01.
contoso.com\admintools\memberof_report.hta.
5. Positionieren Sie den Cursor hinter dem Leerzeichen und klicken Sie auf den Pfeil, bei dem es sich
um eine Schaltfläche zum Durchsuchen handelt.
6. Wählen Sie Prä-Windows 2000-Anmeldename.
Wählen Sie Name, um diese Aufgabe für Computer auszuführen, und Prä-Windows 2000-Anmeldename für Benutzer und Gruppen.
7. Das Parameterfeld sollte wie folgt aussehen:
"Pfad zur HTML-Anwendung\MemberOf_Report.hta" $COL<9>
Bei einem Computer erscheint es wie folgt:
"Pfad zur HTML-Anwendung\MemberOf_Report.hta" $COL<0>
8. Geben Sie "\\Pfad zur HTML-Anwendung" in das Feld Ausführen in ein. Wenn Sie das Werkzeug
in einem freigegebenen Ordner speichern, verwenden Sie den vollständig qualifizierten Domänennamen des Servers, z.B. "\\server01.contoso.com/adminstools".
9. Klicken Sie auf Weiter.
10. Geben Sie Group Membership Report in das Feld Aufgabenname (Taskname) auf der Seite Name
und Beschreibung ein. Optional können Sie eine Beschreibung wie »Anzeige einer sortierten Liste
1.3 Erweitern von Active Directory-Benutzer und -Computer zum Auflisten von Gruppenmitgliedschaften 43
aller Gruppenmitgliedschaften einschließlich der verschachtelten sowie der primären Gruppen«
eingeben.
11. Klicken Sie auf Weiter.
12. Wählen Sie auf der Seite Aufgabensymbol (Tasksymbol) ein Symbol aus. Es sind mehrere Symbole
vorhanden, die auf Gruppen hindeuten.
Wenn Sie auf Benutzerdefiniertes Symbol klicken, können Sie nach einem Symbol suchen, das zu
einer ausführbaren Datei gehört, oder ein Symbol aus den Symbolbibliotheken auswählen, z.B.
C:\Windows\System32\Shell32.dll oder in Windows Vista und Windows Server 2003
C:\Windows\System32\Imageres.dll.
13. Klicken Sie auf Weiter.
14. Klicken Sie auf Fertig stellen.
Nun folgt noch ein sehr wichtiger Schritt. Dieser wird leicht vergessen, was sich später nur sehr sehr
schwer beheben lässt, sodass ich Ihnen rate, stets an diesen Schritt zu denken! Alle als Parameter für die
Aufgabe referenzierten Spalten müssen sichtbar sein. Andernfalls erscheint die Aufgabe nicht bei der
Objektauswahl.
1. Klicken Sie auf Ansicht und dann auf Spalten hinzufügen/entfernen.
2. Wählen Sie Prä-Windows 2000-Anmeldename und klicken Sie auf Hinzufügen.
3. Klicken Sie auf OK, um das Dialogfeld Spalten hinzufügen/entfernen zu schließen.
4. Speichern Sie die Konsole.
Verwenden der HTML-Anwendung
Sie haben es geschafft! Wählen Sie nun einen Benutzer aus der Organisationseinheit aus und klicken
Sie auf den Link Group Membership Report in der Aufgabenliste am linken Rand des Detailfensters.
Voilà! Falls Sie das großartig finden, sollten Sie erst einmal den nächsten Abschnitt abwarten, in dem
wir den Befehl in das Kontextmenü einfügen, das erscheint, wenn Sie mit der rechten Maustaste auf
einen Benutzer klicken.
War das nicht toll? Das bringt Sie zum Nachdenken, nicht wahr? Wir werden in diesem Buch noch viele
weitere nützliche Lösungen in Ihre Windows-Standardwerkzeuge integrieren.
Da Sie sowohl die Konsole als auch die HTML-Anwendung in einem freigegebenen Ordner gespeichert haben und die Aufgabe unter Verwendung von Befehlen mit Parametern, einschließlich eines
Netzwerkpfads zur HTML-Anwendung, erstellt haben, kann nun jeder Administrator die benutzerdefinierte MMC starten und die maßgeschneiderte HTML-Anwendung verwenden.
Wiederholen Sie die für die Organisationseinheit gezeigten Schritte mit Gruppen und dann noch einmal
für eine Organisationseinheit mit Computern, aber verwenden Sie diesmal als Parameter die Spalte
Name anstelle von Prä-Windows 2000-Anmeldename. Die Spalte Name ist in der Konsole bereits sichtbar, sodass Sie sie nicht hinzuzufügen brauchen.
Unglaublich, nicht wahr?
Zusammenfassend sei gesagt, dass wir einen so genannten Aufgabenblock in unserer benutzerdefinierten MMC-Konsole mit dem Snap-In Active Directory-Benutzer und -Computer erstellt haben. Dabei
handelt es sich um eine Shellaufgabe, die einen Befehl ausführt, indem sie ihm einen Parameter übergibt, der eine Spalte des ausgewählten Objekts enthält. Unsere HTML-Anwendung interpretiert ihre
Befehlszeile und identifiziert die Argumente.
44 Lösungsgruppe 1: Rollenbasierte Verwaltung
Entfernen einer Aufgabe oder eines Aufgabenblocks
Zum Entfernen einer Aufgabe markieren Sie die Organisationseinheit mit der Aufgabenblockansicht
und wählen im Feld Aktionen unter Weitere Aktionen den Befehl Aufgabenblockansicht bearbeiten.
(Alternativ rechtsklicken Sie auf die Organisationseinheit und wählen Taskpadansicht bearbeiten.)
Klicken Sie dann auf die Registerkarte Aufgaben (Tasks), wählen Sie die Aufgabe aus und klicken Sie
auf Entfernen.
Um die gesamte Aufgabenblockansicht zu entfernen und die Organisationseinheit mit der Standardansicht wiederherzustellen, wählen Sie im Feld Aktionen bzw. im Kontextmenü Aufgabenblockansicht
löschen bzw. Taskpadansicht löschen.
Weitere Informationen
Wenn Sie Fragen oder Schwierigkeiten bei der Erstellung von Aufgabenblöcken und Aufgaben haben,
schauen Sie im Hilfe-Menü der MMC nach. In weiteren Lösungen werden wir Aufgabenblöcke und
Aufgaben ausführlicher behandeln und uns viele weitere Beispiele für maßgeschneiderte Lösungen
ansehen, die sich in unsere Standardverwaltungswerkzeuge integrieren lassen. Wir werden auch ein
Problem lösen, die Sie möglicherweise als lästig empfinden, wenn Sie dieser Lösung folgen: Die Spalte
Prä-Windows 2000-Anmeldename, die Sie der Benutzer-Organisationseinheit hinzugefügt haben, ist in
allen Organisationseinheiten sichtbar, auch in denen für Computer und sogar für Domänencontroller.
Diese und viele weitere Punkte werden wir behandeln.
Integrieren einer benutzerdefinierten HTML-Anwendung
in eine MMC mithilfe von Anzeigebezeichnern
Dieser Ansatz bringt uns eine Stufe nach oben und bietet uns die Möglichkeit, einen Benutzer, einen
Computer oder eine Gruppe mit der rechten Maustaste anzuklicken und die Anzeige der Mitgliedschaften zu generieren. Die Anwendung MemberOf_Report.hta muss weiterhin über einen freigegebenen
oder lokalen Ordner zugänglich sein, Sie brauchen aber keine benutzerdefinierte MMC. Sie erreichen
den Kontextmenübefehl über alle Konsolen (auch die integrierten Konsolen), die das Snap-In Active
Directory-Benutzer und -Computer enthalten.
Wichtig Bevor Sie diesen Ansatz ausprobieren, müssen Sie wissen, dass sich Anzeigebezeichner auf die
vollständige Gesamtstruktur auswirken. Möglicherweise verfügen Sie nicht über die richtigen Delegierungen
dafür und sollten in diesem Fall dafür sorgen, dass Sie die Änderungen in einer Testumgebung testen, bevor
Sie die Anzeigebezeichner in Ihrer Produktionsumgebung ändern. Die hier vorgenommenen Änderungen
sind nicht weltbewegend, Sie sollten Sie aber wie alle Änderungen testen und verstehen, bevor Sie sie in der
Produktion bereitstellen.
Der Konfigurationsbereich von Active Directory enthält einen Container mit dem Namen DisplaySpecifiers (z.B. CN=DisplaySpecifiers,CN=Configuration,DC=contoso,DC=com), den Sie mithilfe
des ADSI-Editors betrachten können. Der ADSI-Editor steht standardmäßig unter Windows Server
2008 zur Verfügung. Unter Windows Server 2003 installieren Sie die Supporttools mit einem Doppelklick auf die Datei Suptools.msi im Ordner Support\Tools auf der Windows Server 2003-CD. Dann können Sie den ADSI-Editor ausführen, indem Sie auf Start und anschließend auf Ausführen klicken und
ADSIEdit.msc eingeben. Mit dem ADSI-Editor können Sie den Konfigurationscontainer öffnen und
sich dessen Inhalt ansehen, wie Sie Abbildung 1.9 entnehmen können. Möglicherweise müssen Sie mit
der rechten Maustaste auf den Stammknoten des Snap-Ins ADSI-Editor klicken, Verbinden mit auswählen und anschließend Konfiguration im Feld Bekannten Namenskontext auswählen einstellen.
1.3 Erweitern von Active Directory-Benutzer und -Computer zum Auflisten von Gruppenmitgliedschaften 45
Bei den Containern, die sich direkt unter DisplaySpecifiers befinden, handelt es sich um Sprachcontainer. 407 entspricht Deutsch. Welchen Container Sie für eine besetimmte Sprache brauchen, können Sie
unter http://msdn2.microsoft.com/en-us/library/ms776294.aspx nachschlagen. Im Sprachcontainer
befinden sich Objekte, die für die einzelnen Objektklassen stehen, z.B. user-Display.
Wenn Sie die Eigenschaften des Objekts user-Display öffnen, sehen Sie das Attribut mit dem Namen
AdminContextMenu, das für die Anzeige benutzerdefinierter Befehle sorgt, wenn Sie in einem Verwaltungswerkzeug (z.B. einem Snap-In) mit der rechten Maustaste auf einen Benutzer klicken. Andere
Befehle in dem Kontextmenü (z.B. Kennwort zurücksetzen) sind im Snap-In selbst fest einprogrammiert.
Dieses Attribut ist mehrwertig. Jeder von Ihnen hinzugefügte Wert übernimmt drei durch Komma
getrennte Elemente: die Indexnummer (die Reihenfolge, in der der Befehl erscheint), den Namen des
Menübefehls, der im Kontextmenü angezeigt wird, und den Befehl, der bei der Auswahl des Menübefehls ausgeführt werden soll. Wenn wir beispielsweise Folgendes hinzufügen, haben wir das Kontextmenü für Benutzer angepasst:
2,Group Membership Report,"Pfad zur HTA\MemberOf_Report.hta"
Hinweis Wenn Sie den Ausführungen gefolgt sind, haben Sie möglicherweise beim Hinzufügen des Befehls
die Fehlermeldung erhalten, dass der Zugriff verweigert wird. Ist dies der Fall, lesen Sie weiter. Wir werden
dieses Problem gleich aufgreifen.
Abbildung 1.9 Der ADSI-Editor und die Anzeigebezeichner für Benutzerobjekte
46 Lösungsgruppe 1: Rollenbasierte Verwaltung
Falls Active Directory-Benutzer und -Computer geöffnet ist, müssen Sie es schließen. Wenn Sie das
Snap-In das nächste Mal öffnen, steht der neue Kontextmenübefehl zur Verfügung. Haben Sie eine
Sicherheitswarnung erhalten, sollten Sie sich den vorigen Abschnitt mit den Erläuterungen über das
Hinzufügen des Servers zur Ihrer Sicherheitszone Lokales Intranet oder das Speichern des Werkzeugs
auf ihrem lokalen Datenträger noch einmal ansehen.
Wichtig Bei dem Argument, das mithilfe eines benutzerdefinierten Kontextmenüeintrags an den Befehl
übergeben wird, handelt es sich um den definierten Namen des ausgewählten Objekts. Es darf nur ein Objekt
ausgewählt werden – wenn Sie mehrere Objekte auswählen, wird nur eines übergeben. Falls Sie mehr als
ein Objekt benötigen, müssen Sie Visual Studio öffnen und Ihr eigenes MMC-Snap-In erstellen, was natürlich
den Rahmen dieses Buchs übersteigt.
Verwenden von AdminContextMenu.hta
Um all diese Schritte zu vereinfachen, sodass Sie sich nicht näher mit dem ADSI-Editor befassen und
dabei Fehler riskieren müssen, habe ich eine HTML-Anwendung beigefügt (Überraschung!), die diese
schwierige Aufgabe für Sie übernimmt. Auf dem Begleitmedium finden Sie die Anwendung AdminContextMenu.hta im Ordner Scripts.
Öffnen Sie die HTML-Anwendung und tragen Sie Folgendes ein:
„ Language Wählen Sie die gewünschte Sprache aus der Dropdownliste aus. Die HTML-Anwendung ist so kodiert, dass sie eine begrenzte Anzahl von Sprachen unterstützt. Sie können sie erweitern, um mehr Sprachen hinzuzufügen.
„ Object Class Wählen Sie eine Objektklasse aus der Dropdownliste aus. Die HTML-Anwendung
ist so kodiert, dass sie eine begrenzte Anzahl von Objektklassen unterstützt. Sie können sie erweitern, um mehr Klassen hinzuzufügen.
„ Menu Command Der Text, der im Kontextmenü erscheint, wenn Sie in einem Verwaltungswerkzeug mit der rechten Maustaste auf ein Objekt der ausgewählten Objektklasse klicken.
„ Command Line Der Befehl, der bei der Auswahl des Menübefehls aufgerufen werden muss.
Klicken Sie dann auf Add To Administrator Context Menu. Die Änderung wird vorgenommen. Den
Fall, dass Ihnen der Zugriff verweigert wird, behandle ich in den nächsten Absätzen. Wiederum müssen Sie alle Instanzen eines Verwaltungswerkzeugs schließen und erneut öffnen, bevor Ihre Änderung
sichtbar wird.
Entfernen eines benutzerdefinierten Befehls
Zum Entfernen eines Befehls müssen Sie den ADSI-Editor verwenden. Öffnen Sie den Konfigurationscontainer und begeben Sie sich zu DisplaySpecifiers und dem Container für die von Ihnen geänderte
Sprache (407 entspricht Deutsch). Öffnen Sie die geänderte Objektklasse und wählen Sie AdminContextMenu. Klicken Sie auf Bearbeiten und entfernen Sie den Befehl.
Anzeigebezeichner, Delegierung und die Gesamtstruktur
Wenn Sie bei der Anpassung des Kontextmenüs die Fehlermeldung erhalten, dass der Zugriff verweigert
wird, oder wenn Sie jemals auf eine derartige Fehlermeldung treffen sollten, ist dies darauf zurückzuführen, dass sich der Container DisplaySpecifiers im Konfigurationscontainer befindet, der standardmäßig
an Unternehmensadministratoren delegiert wird.
Einige meiner Kunden flippen aus, wenn ich Ihnen vorschlage, einen Teil von Active Directory außerhalb der Domänenpartition zu delegieren. Aber es handelt sich nur um eine Datenbank. Wenn Administratoren der unteren Ebene aus stichhaltigen geschäftlichen Gründen in der Lage sein müssen, einen
1.3 Erweitern von Active Directory-Benutzer und -Computer zum Auflisten von Gruppenmitgliedschaften 47
anderen Teil der Datenbank, z.B. DisplaySpecifiers, zu ändern, sollten Sie diese Befugnis an sie delegieren!
Dies ist eine Ausnahme von der Delegierungsregel. Diese sieht vor, dass die Delegierung auf Containerebene erfolgt. Bei Anzeigebezeichnern schlage ich jedoch vor, alle Anzeigebezeichner zu delegieren, für
die eine Gruppe Änderungsmöglichkeiten haben soll. Soll beispielsweise eine Gruppe in der Lage sein,
die Anzeigebezeichner aller Objekte zu ändern, sollten Sie den Sprachcontainer oder sogar den Container DisplaySpecifiers delegieren. Ich gehe jedoch davon aus, dass Sie nur die Anzeigebezeichner für
Benutzer, Computer, Gruppen und Organisationseinheiten für eine oder zwei Sprachen zu delegieren
brauchen. Handeln Sie gezielt und gehen Sie dann bei der Delegierung wie folgt vor:
1. Öffnen Sie den Anzeigebezeichner (z.B. user-Display) in der entsprechenden Sprache
(z.B. CN=407) im ADSI-Editor.
2. Klicken Sie auf die Registerkarte Sicherheit.
3. Klicken Sie auf Hinzufügen und wählen Sie die Gruppe aus, an die Sie die Möglichkeit zum Ändern
von Anzeigebezeichnern delegieren wollen. Ich schlage Ihnen vor, eine Gruppe für die Verwaltung
der Berechtigungen unter einem Namen wie AD_DisplaySpecifiers_Modify anzulegen.
4. Aktiveren Sie das Kontrollkästchen Zulassen unter Schreiben und klicken Sie dann auf OK, um Ihre
Änderungen zu speichern.
Verwalten von Änderungen am Kontextmenü
Da sich Anzeigebezeichner im Konfigurationscontainer befinden, wirken sie sich auf die Gesamtstruktur aus. Alle Befehle, die Sie dem Attribut AdminContextMenu hinzufügen, sind beispielsweise für alle
Administratoren in der Gesamtstruktur sichtbar, die Active Directory-Benutzer und -Computer nutzen.
Daher sollten Änderungen an Anzeigebezeichnen bedacht, geplant und getestet werden, damit Sie am
Ende nicht mit einem langen, ungeordneten Kontextmenü dastehen.
In großen, dezentralisierten IT-Organisationen kann dies eine Herausforderung darstellen. Was
geschieht, wenn jede IT-Abteilung unterschiedliche Anpassungen am Kontextmenü vornehmen
möchte?
In solchen Situationen empfehle ich den folgenden Ansatz. Erstellen Sie eine »Master«-HTMLAnwendung, die das Argument (den definierten Namen des ausgewählten Objekts) von Active Directory-Benutzer und -Computer erhält und dann eine Art Menü oder Navigation zur Auswahl des entsprechenden Befehls bereitstellt. Dieser Befehl wird dann ausgeführt und der definierte Name als Argument
übergeben.
Weitere Informationen
Weitere Informationen über Anzeigebezeichner finden Sie unter http://msdn2.microsoft.com/en-us/
library/ms675904.aspx.
Aufgaben und Anzeigebezeichner im Vergleich
Sie haben zwei Möglichkeiten kennen gelernt, Ihr benutzerdefiniertes Werkzeug in das Snap-In Active
Directory-Benutzer und -Computer zu integrieren: eine benutzerdefinierte Aufgabe und einen maßgeschneiderten Kontextmenübefehl. Benutzerdefinierte Aufgaben kann jeder erstellen, der über die Möglichkeit zur Anpassung einer MMC-Konsole verfügt. Sie bieten Ihnen auch die Möglichkeit, die als Argument an den Befehl übergebene Eigenschaft des ausgewählten Objekts festzulegen. Um diese Aufgabe
ausführen zu können, müssen Administratoren allerdings über eine benutzerdefinierte Konsole verfügen.
48 Lösungsgruppe 1: Rollenbasierte Verwaltung
Sie können Änderungen an den Anzeigebezeichnern einmal vornehmen und sofort auf alle Instanzen
der systemeigenen Verwaltungswerkzeuge, z.B. des Snap-Ins Active Directory-Benutzer und -Computer, anwenden. Allerdings erfordern sie die entsprechende Delegierung von Berechtigungen. Außerdem
sollten Sie die Länge des Kontextmenüs unter Kontrolle behalten.
Zusammenfassung
Wir haben unser Beispiel für eine administrative Lösung bis zur endgültigen Implementierung ausgearbeitet. Das Skript zum Auflisten der Gruppenmitgliedschaft wurde in eine benutzerdefinierte
HTML-Anwendung integriert. Diese Anwendung wurde so erweitert, dass sie Argumente von einer
Befehlszeile übernimmt. Außerdem wurde die HTML-Anwendung dann mithilfe einer Aufgabe in
einem Aufgabenblock oder eines benutzerdefinierten Kontextmenüs, das durch eine Änderung der
Anzeigebezeichner in Active Directory erstellt wurde, in unser Standardverwaltungswerkzeug, das
Snap-In Active Directory-Benutzer und -Computer integriert. Sowohl der Ansatz mit einer Aufgabe
als auch der mit einem Anzeigebezeichner bietet Vorteile, sodass Sie letztlich möglicherweise eine
Mischung aus beiden Lösungen verwenden.
1.4 Grundlagen der rollenbasierten Verwaltung
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Active Directory-Gruppen
Zusammenfassung
Verstehen der Grundlagen der rollenbasierten Verwaltung mithilfe von Active Directory
Vorteile
Effektive Kommunikation über die rollenbasierte Verwaltung
Einführung
Im Abschnitt »Szenarien, Probleme und Lösungen« auf Seite 2 habe ich die Herausforderungen einer
nicht verwalteten Umgebung dargelegt und die Vision einer gut verwalteten Umgebung präsentiert. Ich
empfehle Ihnen, diesen Abschnitt noch einmal zu lesen. In dieser Lösung stelle ich die Grundlagen der
rollenbasierten Verwaltung vor.
Wie ich im Abschnitt »Szenarien, Probleme und Lösungen« erwähnt habe, besteht das Ziel der rollenbasierten Verwaltung darin, einem Unternehmen zu ermöglichen, seine Benutzer und Computer
anhand ihrer Rollen zu definieren und durch diese rollenbasierte Definition die erforderliche Verwaltung automatisch zu ermöglichen. Dazu gehören die Bereitstellung des Ressourcenzugriffs, der Systemprivilegien, der Softwareanwendungen, der Konfiguration der Benutzeroptionen, z.B. zugeordnete
Laufwerke, die Verwaltung von Benutzerdaten und -einstellungen, E-Mail-Verteilerlisten, die Konfiguration der Sicherheit und Aktualisierung u.a. – und zwar alles auf der Grundlage von Rollen.
Wir setzen voraus, dass das Unternehmen in einer Organisation größere Bedeutung hat als der Einzelne:
dass also die Rolle, die der Einzelne spielt, bestimmt, was er (Benutzer oder Computer) benötigt, um die
Ziele der Organisation zu erreichen. Selbst in einer kleinen Organisation erlaubt daher die Definition
1.4 Grundlagen der rollenbasierten Verwaltung 49
von geschäftsorientierten Rollen, dass der Einzelne, der eine bestimmte Rolle innehat, heute durch eine
andere Person oder einen anderen Computer ersetzt werden kann, der dieselben Rollen ausübt und
damit in identischer Weise verwaltet wird.
Ein weiteres Ziel der rollenbasierten Verwaltung besteht darin, das Berichtswesen, die Überprüfung
und die Einhaltung von Vorschriften zu vereinfachen. Fragen wie »Worauf kann Janice zugreifen?« und
»Wer kann die Budgetressourcen bearbeiten?« müssen schnell, einfach und verbindlich beantwortet
werden.
Von der höchsten Warte aus gesehen handelt es sich bei der rollenbasierten Verwaltung um die Art und
Weise, in der Sie Ihre Informationstechnologie abstimmen, um die folgenden grundlegenden Fragen
beantworten zu können: »Wer kann was und wo tun?« Sich diese drei Fragewörter – wer, was und wo
– zu merken, hilft Ihnen dabei, die Teile der rollenbasierten Verwaltung zusammenzufügen.
Wir können die Aufgabe eines IT-Spezialisten bis zu diesem Punkt vereinfachen: Wir verbinden Benutzer mit dem Material, das sie brauchen. Dabei kann es sich um E-Mails, Dateien, Drucker, Softwareanwendungen usw. handeln. Umgekehrt müssen wir auch sicherstellen, dass Benutzer keine Verbindung
zu Ressourcen haben, zu denen sie keinen Zugang haben sollten. Wenn wir jedoch die erste Aufgabe
effektiv ausführen, erreichen wir auch das zweite Ziel.
Da wir annehmen, dass die Organisation größer ist als der Einzelne, und wir alle die goldene Regel der
Administration gelernt haben, wissen wir, dass die Verwaltung anhand von Gruppen anstelle von einzelnen Benutzern (oder Computern) erfolgen muss. Wenn Sie drei Benutzer haben, die eine Leseberechtigung für einen freigegebenen Ordner mit dem Budget benötigen, sollten Sie nicht jeden Benutzer
einzeln in die Zugriffssteuerungsliste des Ordners aufnehmen. Zumindest hoffe ich, dass Sie das nicht
tun! Stattdessen sollten Sie eine Gruppe erstellen und dieser die Leseberechtigung für den Ordner erteilen. Dieser Ansatz ist in Abbildung 1.10 dargestellt.
Benutzer
Gruppe Department Managers
ACL:
Lesen
zulassen
Server
Zugriffssteuerungsliste
(Access Control List, ACL)
Freigegebener Ordner
Abbildung 1.10 Zuweisen der Zugangsberechtigung für eine Ressource an eine Benutzergruppe
50 Lösungsgruppe 1: Rollenbasierte Verwaltung
Rollengruppen
Nehmen wir an, dass die Benutzer in unserem Szenario eine gemeinsame Eigenschaft aufweisen: Sie
alle sind Abteilungsleiter.
Die Wer-Komponente unseres Wer/was/wo-Ansatzes bilden größtenteils unsere Rollen. Wir können eine
Rollengruppe mit dem Namen Department Managers erstellen und ihr die drei Benutzer hinzufügen.
Rollengruppen definieren eine Gruppe von Benutzern oder Computern anhand von Ähnlichkeiten, zu
denen Geschäftseinheiten, die geographische Lage, Abteilungen, die Funktion, das Dienstalter oder der
Status, Teams, Projekte oder andere geschäftsbezogene Eigenschaften gehören können.
Wichtig Eine Rollengruppe definiert eine Gruppe von Benutzern oder Computern anhand von geschäftsbezogenen Gemeinsamkeiten. Sie hilft dabei, zu definieren, wer ein Benutzer oder Computer ist.
Probleme bei der ausschließlichen Verwendung von Rollengruppen
Organisationen setzen Rollengruppen in unterschiedlichem Grade um. Recht häufig sieht man Gruppen
wie Sales, Marketing, Finances oder auch Consultants im Active Directory einer Organisation.
Leider ist damit oft schon das Ende erreicht. Was geschieht, wenn Sie ausschließlich über Rollengruppen verfügen und Ihren Abteilungsleitern die Leseberechtigung für das Budget erteilt haben, dann aber
einen Berater einstellen, der das Budget ebenfalls lesen muss, um seine Arbeit verrichten zu können?
Wenn Sie den Berater zu der Zugriffssteuerungsliste des Ordners Budget hinzufügen, haben Sie das
akute Problem gelöst. Was geschieht aber bei der nächsten Ausnahme von der Regel, dem nächsten
Benutzer oder der nächsten Gruppe, die ebenfalls Lesezugriff benötigen? Wie beantworten Sie jetzt die
Frage: »Wer kann das Budget lesen?« Sie müssen die Zugriffssteuerungsliste des Ordners Budget nach
einem Sicherheitsprinzipal mit gültiger Leseberechtigung durchsuchen. Das ist nicht einfach. Und was
geschieht, wenn es sich bei Budget nicht nur um einen, sondern um mehrere Ordner auf vier verschiedenen Servern handelt?
Sie sehen hoffentlich, dass das alleinige Vorhandensein von Rollengruppen nicht ausreicht, da Rollen
nicht eins zu eins dem entsprechen, was Sie verwalten wollen: in diesem Fall den Lesezugriff für die
Budgetressourcen.
Befugnisverwaltungsgruppen
Beschäftigen wir uns weiter mit diesem Szenario. Was tun Sie, wenn Sie freigegebene Ordner auf vier
verschiedenen Servern haben, die sich alle mit dem Budget des nächsten Jahres beschäftigen? Wir
bezeichnen diese vier freigegebenen Ordner als Budgetressourcen oder Budget.
Der beste Ansatz zur Verwaltung des Ressourcenzugriffs in diesem Szenario ist die Erstellung einer
einzigen Gruppe für den Lesezugriff auf die Budgetressourcen. Nennen wir die Gruppe (aus Gründen,
die ich im weiteren Verlauf dieser Lösungsgruppe noch erläutern werde) ACL_Budget_Read. Erteilen
Sie dieser Gruppe die Leseberechtigung für die einzelnen Ordner auf den vier Servern. Fügen Sie die
Gruppe Department Managers in diese Gruppe ein. Wenn die Berater einen Zugang benötigen, fügen
Sie sie ebenfalls der Gruppe ACL_Budget_Read hinzu. Falls eine weitere Ausnahme von der Regel es
erforderlich macht, dass ein einzelner Benutzer (bei dem es sich weder um einen Abteilungsleiter noch
einen Berater handelt) die Leseberechtigung für die Ordner benötigt, fügen sie diesen einen Benutzer
in die Gruppe ACL_Budget_Read ein. Voilà. Sie verwalten den Lesezugriff auf diese Sammlung von
Budgetressourcen. Abbildung 1.11 zeigt dieses Modell.
1.4 Grundlagen der rollenbasierten Verwaltung 51
Halten Sie nun inne und überlegen Sie sich, was das in diesem einfachen Szenario für das Berichtswesen und die Überprüfung bedeutet. Wenn Sie gefragt werden, wer das Budget lesen kann, können Sie
darauf antworten. Schauen Sie sich einfach die Mitgliedschaften der Gruppe ACL_Budget_Read an.
Was hätten Sie andernfalls getan? Sie hätten sich die Zugriffssteuerungslisten der freigegebenen Ordner
ansehen und Ordner für Ordner bestimmen müssen, wer über Leseberechtigungen verfügt. Dies ist ein
sehr einfaches Szenario. Die Bedeutung der Zugriffsverwaltung bei mehreren Ressourcen wächst logarithmisch mit steigender Ressourcen- und Benutzerzahl – und damit zunehmender Komplexität – in der
Umgebung.
Was wir gerade erläutert haben, war die Erstellung einer Befugnisverwaltungsgruppe. Eine solche
repräsentiert eine einzelne, detaillierte Verwaltungsaufgabe. In diesem Fall verwalten wir die Befugnis
zum Lesen einer bestimmten Sammlung von Ressourcen (des Budgets). Dabei handelt es sich um die
Was-Komponente unseres Wer/was/wo-Ansatzes. Was kann James tun, wenn wir ihn der Gruppe
ACL_Budget_Read hinzufügen? Das Budget lesen.
Gruppe
Department Managers
Gruppe
Consultants
Gruppe ACL_Budget_Read
ACL
ACL
ACL
ACL
Lesen
zulassen
Lesen
zulassen
Lesen
zulassen
Lesen
zulassen
Server1 Ordner Budget
Server2 Ordner Budget
Server3 Ordner Budget
Server4 Ordner Budget
Abbildung 1.11 Darstellung der Befugnis zum Lesen einer Ressourcengruppe
52 Lösungsgruppe 1: Rollenbasierte Verwaltung
Einige meiner Kunden bezeichnen diese Art von Gruppen gerne als Aufgabengruppen. Das ist ein sehr
guter Name in diesem Szenario – wir legen fest, wer eine Aufgabe ausführen kann: das Lesen des Budgets. Ich bevorzuge jedoch den Begriff »Befugnisverwaltungsgruppe«, da sich die rollenbasierte Verwaltung über Dateien und Ordner hinaus auf Vorgänge wie das Drucken auf bestimmten Druckern, die
Aufnahme in eine Verteilerliste oder sogar die Bereitstellung von Anwendungen wie zum Beispiel
Visio auf einem Desktopprompter erstreckt. Somit verwalten wir die Befugnis eines Benutzers, Visio zu
verwenden, auf dem bestimmten Drucker zu drucken oder die E-Mail-Nachrichten für eine bestimmte
Verteilerliste zu empfangen.
Die Wo-Komponente unseres Wer/was/wo-Ansatzes wird als Verwaltungsbereich bezeichnet. Wo können unsere Benutzer Dateien lesen? In den Budgetordnern.
Wichtig Befugnisverwaltungsgruppen stellen eine einzelne, detaillierte Verwaltungsaufgabe dar. Sie repräsentieren, was ein Benutzer wo tun kann.
Eine Gruppe mit dem Namen ACL_Budget_Read tut nichts, bevor Sie ihre Befugnisse eingerichtet
haben. Bei der Befugnis zum Lesen einer Reihe von Ordnern bedeutet dies, dass Sie die Gruppe
ACL_Budget_Read mit Leseberechtigungen in die Zugriffssteuerungslisten der vier freigegebenen
Ordner einfügen. Diese vier Ordner bilden den »Verwaltungsbereich« für diese Gruppe, wobei Sie
diesen mithilfe der Ordner-Zugriffssteuerungslisten einrichten. Ich betone dies noch einmal, da Sie bei
anderen Verwaltungsaufgaben den Verwaltungsbereich unterschiedlich einrichten.
Probleme bei der ausschließlichen Verwendung von Befugnisverwaltungsgruppen
Einigen Organisationen verfügen, wenn nicht dem Namen nach, so doch in der Praxis hauptsächlich
oder ausschließlich über Befugnisverwaltungsgruppen. Einer meiner Kunden (der übrigens einen externen Supportdienstleister beauftragt) verfügt über Gruppen, die unterschiedliche Arten des Zugriffs auf
verschiedene Ordner repräsentieren. Diese würde ich als »Befugnisverwaltungsgruppen« bezeichnen,
obwohl dieser Kunde sie so bezeichnet, als handele es sich um Rollengruppen: Ein Benutzer wird der
Gruppe Project Surfboard zugewiesen, sodass er Zugang zu den Project Surfboard-Ordnern hat. Die
Benutzer werden allerdings direkt in diese Gruppen eingeordnet. Es gibt keine »Rollen«-Schicht. Jedes
Mal, wenn sich die Rolle eines Benutzers ändert, muss dessen neuer Vorgesetzter eigentlich alle einzelnen Befugnisse anfordern, die der Benutzer benötigt. Es ist nicht so, dass sich der Benutzer von allen
anderen Mitgliedern dieser Rolle unterscheidet – es gibt einfach keinen Weg, die Rolle darzustellen.
Raten Sie mal, was passiert. Dieser Vorgang dauert Tage oder Wochen und bringt normalerweise mehrere Anrufe bei der Supporthotline mit sich, z.B.: »Ich habe vergessen, dass mein neues Teammitglied
auch Zugang zu XYZ benötigt.« Da der externe Supportdienstleister pro Anfrage bezahlt wird, ist so
etwas ein Glücksfall für ihn – und völlige Geldverschwendung für meinen Kunden.
Befugnisverwaltungsgruppen allein reichen nicht aus. Betrachten Sie Ihre Organisation sorgfältig. Die
Wahrscheinlichkeit ist groß, dass Sie über einige Rollen- und einige Befugnisverwaltungsgruppen verfügen, es aber keine einfache Möglichkeit gibt, sie zu unterscheiden. Sie werden vermischt und falsch
verwendet. Daher bekommen Sie es wahrscheinlich mit einigen der Probleme zu tun, die ich zu Beginn
dieser Lösungsgruppe erwähnt habe.
1.4 Grundlagen der rollenbasierten Verwaltung 53
Verschachtelung von Rollengruppen in Befugnisverwaltungsgruppen
Da Sie nun über eine Rollengruppe wie Department Managers oder Consultants und eine Befugnisverwaltungsgruppe wie ACL_Budget_Read verfügen, können wir die Rollengruppe in der Befugnisverwaltungsgruppe verschachteln. Wenn wir eine neue Benutzerin zur Leiterin ihrer Abteilung befördern,
können wir ihr auf diese Weise einfach diese Rolle hinzufügen, indem wir sie in die Gruppe Department
Managers einfügen – und schon kann die Benutzerin das Budget lesen. Es ist wahrscheinlich, dass die
Abteilungsleiter weitere gemeinsame Anforderungen an den Ressourcenzugriff haben. Sie nutzen z.B.
gemeinsam eine E-Mail-Verteilerliste: Die Gruppe Department Managers gehört zur Verteilergruppe
LST_Department Managers. Alle können darüber hinaus den Firmennewsletter bearbeiten, sodass sie
darin den Abschnitt ändern können, der ihre Abteilung betrifft. Daher gehört die Gruppe Department
Managers zur Gruppe ACL_Newsletter_Edit. Eine andere Rolle, Communications, gehört ebenfalls der
Gruppe ACL_Newsletter_Edit an.
Gruppe
Department
Managers
Gruppe
Consultants
Gruppe
Communications
Gruppe
Finance
Managers
Gruppe
Auditors
Benutzer
CEO
Gruppe
LST_Department_
Managers
Gruppe
ACL_Budget_
Read
Gruppe
ACL_Newsletter_
Edit
Gruppe
ACL_Finance_
Audit
E-MailVerteilerliste
Ordner
Budget
Ordner
Newsletter
Ordner
Finance
Abbildung 1.12 Rollenbasierte Verwaltung
54 Lösungsgruppe 1: Rollenbasierte Verwaltung
Die Rollen Auditors und Finance Managers gehören zur Gruppe ACL_Finance_Audit, die Lesezugriff
für alle Finanzdateien des Unternehmens erlaubt. Der leitende Geschäftsführer (CEO) gehört ebenfalls
zur Gruppe ACL_Finance_Audit, um die Geschäftsdaten transparent zu machen, sodass er die
Finanzaufstellungen vertrauensvoll absegnen kann.
Wichtig Rollengruppen lassen sich in Befugnisverwaltungsgruppen verschachteln.
Andere Arten der Verschachtelung
Wie wir im vorigen Absatz und weiter vorn in dieser Erörterung gesehen haben, ist es für einen einzelnen Benutzer von Vorteil, zu einer Befugnisverwaltungsgruppe zu gehören. Auf diese Weise verwalten
wir die Ausnahmen von der Regel. Sie sollten sich davor hüten, dass zu viele Benutzer einer einzigen
Befugnisverwaltungsgruppe angehören. Nehmen Sie dies zum Anlass, um zu überprüfen, warum sich
so viele einzelne Benutzer darin befinden. Nach meinen Erfahrungen bedeutet dies, dass sie eine
gemeinsame Eigenschaft aufweisen, die es Ihnen ermöglicht, sie als Rolle zu definieren. Dann verschachteln sie anstelle der einzelnen Benutzer die Rollengruppe in der Befugnisverwaltungsgruppe.
Sehr oft werden die Rollengruppen auch in anderen Rollengruppen verschachtelt. Nehmen wir die ITOrganisation als Beispiel. Gehen wir davon aus, dass zwei Rollen vorhanden sind: Windows Engineers
und Help Desk. Es besteht die Möglichkeit, dass Sie den Supportmitarbeitern Rechte und Zugang zu
Ressourcen gewährt haben, damit sie ihre Arbeit erledigen können. Die erfahreneren Windows-Techniker werden ebenfalls oftmals gebeten, das Kennwort eines Benutzers zurückzusetzen und einfache Supportaufgaben zu übernehmen. Mit anderen Worten, Windows Engineers sollte so viel können wie Help
Desk und noch ein wenig mehr. Daher wird die Rolle Windows Engineers nicht in allen einzelnen
Befugnisverwaltungsgruppen verschachtelt, sondern in der Rolle Help Desk, und erbt damit alle dem
Support zugewiesenen Befugnisse. Darüber hinaus verschachteln Sie die Rolle Windows Engineers
direkt in für diese Rolle eindeutigen Befugnissen. Wir werden die rollenbasierte Verwaltung von Active
Directory, Administratoren und Supportpersonal in Lösungsgruppe 5, »Active Directory-Delegierung
und administrative Sperrung«, untersuchen.
Es sollte weniger häufig vorkommen, dass Befugnisverwaltungsgruppen in anderen Befugnisverwaltungsgruppen verschachtelt sind. Obwohl es zulässige Szenarien für einen solchen Entwurf geben mag,
ist es wahrscheinlicher, dass sie damit beginnen, die Bedeutung von Rollen- und Befugnisverwaltungsgruppen zu verwischen. Möglicherweise müssen die Rollen, die sich in einer Befugnisverwaltungsgruppe befinden, auch über eine andere Befugnis verfügen. Verschachteln Sie die Rollen in der Befugnisverwaltungsgruppe und stellen Sie sicher, dass die Befugnisverwaltungsgruppen im Verhältnis von
1:1 für das stehen, was Sie verwalten wollen und wo Sie dies tun wollen.
Abschließend sei gesagt, dass ich mich zwar auf Benutzer und Gruppen konzentriert habe, Computer
aber ebenfalls Sicherheitsprinzipale sind. Stellen Sie sich vor, dass die Rollen von Computern beispielsweise ganz einfach als »Denver-Computer«, »Konferenzraum«, »Desktop«, »Laptop«, »Mobile
Vertriebslaptops«, »Administrator-Arbeitsstationen« usw. definiert werden. Die Rolle der DenverComputer erlaubt vielleicht dem Supportteam am Standort Denver die Mitgliedschaft in der lokalen
Gruppe der Administratoren, während ein anderer Standort ein anderes Supportteam umfasst. Die
mobilen Vertriebslaptops können von bestimmten Konfigurationen ausgeschlossen werden, die nicht
leicht aufrechtzuerhalten sind, wenn die Benutzer selten eine Verbindung zum Netzwerk herstellen.
Kritische Unternehmensdokumente stehen möglicherweise den Computern im Konferenzraum nicht
zur Verfügung. Dies sind nur einige Beispiele.
1.4 Grundlagen der rollenbasierten Verwaltung 55
Daten, Geschäftslogik und Darstellung
Ein rollenbasiertes Verwaltungsmodell erfordert drei Hauptkomponenten: die Daten, die Geschäftslogik
und die Darstellung. Bei den Daten handelt es sich um die Datenbank oder den Informationsspeicher für
das Modell. Die Geschäftslogik ist die Umsetzung von Geschäftsanforderungen, Eigenschaften der
Organisation, Arbeitsabläufen, Prozessen und Richtlinien. Die Darstellung ist die Art und Weise, in der
das Modell in Werkzeugen, Berichten und anderen Benutzeroberflächen erscheint.
Das Ziel dieses Buchs besteht darin, Ihnen den Einsatz von Active Directory als Datenbank zu ermöglichen. Im Grunde handelt es sich dabei um eine solche, und sie ist in Ihrem Unternehmen hochgradig
verfügbar. Sie wird (sehr effizient) repliziert, gesichert und geschützt. Außerdem gibt es eine Reihe von
Werkzeugen für den Zugriff und die Verwaltung. Es tut mir weh, wenn ich Organisationen sehe, die
umfangreiche Active Directory-Implementierungen auch noch nach vielen Jahren nur zur Authentifizierung verwenden, also um den Benutzern die Anmeldung zu ermöglichen. Holen Sie das Beste aus
Active Directory heraus!
Die Geschäftslogik wird vorwiegend durch die Verschachtelung von Benutzern und Computern in Rollengruppen, die rekursive Verschachtelung von Rollengruppen und die Verschachtelung von Rollengruppen und Gelegenheitsbenutzern oder -computern in Befugnisverwaltungsgruppen implementiert. Dabei
handelt es sich um Ihre logische Schicht. Das Sammeln und Analysieren der Daten Ihres Geschäfts, um
dessen Geschäftslogik zu verstehen und zu modellieren, ist zweifellos der schwierigste Teil bei der Einrichtung der rollenbasierten Verwaltung. Die Technologie ist einfach, das Geschäft dagegen nicht.
Die Darstellung – der sichtbare Aspekt des rollenbasierten Verwaltungsmodells – ist ein Schwachpunkt
der systemeigenen Werkzeuge von Microsoft wie das Snap-In Active Directory-Benutzer und -Computer. Wie wir in den Lösungen 1.1 bis 1.3 gesehen haben, erfordert es tatsächlich ziemlich viel Kreativität, die vollständigen Gruppenmitgliedschaften eines Benutzers offen zu legen. Darüber hinaus gibt es
nur ein Werkzeug zur Verwaltung der Gruppenmitgliedschaft – das Snap-In Active Directory-Benutzer
und -Computer, bei dem es sich nicht um ein Hilfsmittel handelt, das Sie technisch nicht versierten
Benutzern, die möglicherweise aus geschäftlichen Gründen Gruppenmitgliedschaften verwalten wollen, überlassen sollten.
In dieser technischen Referenz stelle ich daher Lösungen vor, die Ihnen dabei helfen, eine anspruchsvolle
und effektive rollenbasierte Verwaltung aufzubauen, indem Sie Active Directory als Datenspeicher, die
Gruppenverwaltung für die Geschäftslogik und benutzerdefinierte Werkzeuge für die Darstellung wirksam einsetzen.
Werkzeuge von Drittanbietern
Microsoft und andere Hersteller bieten Werkzeuge an, die die Verwaltung Ihres Unternehmens in einem
rollenbasierten Modell ergänzen oder vollständig übernehmen können. Serverprodukte wie Microsoft
Identity Lifecycle Manager (ILM) und System Center Configuration Manager 2007 sind phänomenale
Werkzeuge. Firmen wie Sun Microsystems, Oracle, Quest und andere bieten Lösungen für die Identitäts- und Rollenverwaltung an.
All diese Werkzeuge bieten Komponenten zur Verwaltung der Daten, der Geschäftslogik und zur Darstellung der rollenbasierten Verwaltung. Schließlich enden die meisten aber wieder bei der Umsetzung
der Geschäftslogik in Active Directory und bei Verwaltungsebenen wie Ordner-Zugriffssteuerungslisten. Wenn Sie Neuling auf dem Gebiet der rollenbasierten Verwaltung sind, möchte ich Sie daher
ermutigen, mit Active Directory und den in dieser technischen Referenz angebotenen Werkzeugen zu
56 Lösungsgruppe 1: Rollenbasierte Verwaltung
beginnen. Die Definition Ihrer Geschäftslogik und Ihrer Anforderungen ist eine aufwändige und wachsende Aufgabe. Wenn für Ihre Anforderungen eine Modellierung der Infrastruktur in Active Directory
nicht mehr sinnvoll ist, können Sie bewusst ein neues Produkt auswählen, das die von Ihnen erkannten
Lücken füllt, und verfügen bereits über eine definierte und migrationsbereite Geschäftslogik.
Zusammenfassung
Die rollenbasierte Verwaltung stellt eine Struktur bereit, mit der die Informationstechnologie des Unternehmens mit der Geschäftslogik und den Anforderungen abgestimmt werden kann. Durch die Repräsentation von Benutzern und Computern als Rollengruppen und die Darstellung von Befugnissen und
Verwaltungsebenen als Befugnisgruppen können Sie Ihre Geschäftslogik widerspiegeln, indem Sie
Rollengruppen in Befugnisgruppen verschachteln. Danach werden durch das einfache Hinzufügen,
Entfernen oder Neudefinieren der Rolle eines Benutzers oder Computers automatisch die Ressourcen,
die Anwendungen, die Konfiguration und andere IT-Komponenten konfiguriert, die für diesen Benutzer
oder Computer zur Ausführung der mit seinen Rollen verbundenen Aufgaben erforderlich sind.
1.5 Einrichten einer rollenbasierten Zugriffssteuerung
Die Lösung im Überblick
Typ
Anleitung und empfohlene Vorgehensweisen
Funktionen und Werkzeuge
Active Directory-Gruppenverwaltung
Zusammenfassung
Umsetzung der rollenbasierten Zugriffssteuerung durch disziplinierte und ausgefeilte Gruppenverwaltung
Vorteile
Automatisierte Verwaltung des Ressourcenzugriffs nach Benutzer- und Computerrollen und Geschäftsanforderungen
Einführung
Bei der rollenbasierten Zugriffssteuerung handelt es sich um die rollenbasierte Verwaltung, die auf die
Sicherheit von Ressourcen wie Dateien, Ordner, Drucker, SharePoint-Listen, Bibliotheken usw. angewendet wird. In dieser Lösung richten wir die rollenbasierte Zugriffssteuerung für eine Ressourcengruppe ein und erwerben dabei Fähigkeiten, die sich auch für andere Anwendungen der rollenbasierten
Verwaltung eignen.
In dieser Lösung arbeiten wir das in der vorigen Lösung vorgestellte Szenario aus, indem wir den
Zugang zu den Budgetressourcen einrichten. Bei Contoso Ltd. befinden sich die Dateien für das Budget des nächsten Jahres in freigegebenen Ordnern auf Servern am Hauptstandort der Abteilung. Die
Marketing-, Verkaufs-, Fertigungs- und Entwicklungsabteilung verfügen jeweils über Server mit einer
Freigabe namens Budget. Zusammen bilden sie eine so genannte Ressourcengruppe: eine Reihe verteilter Dateien, die dennoch als eine einzige Ressource verwaltet werden. Wir setzen die Wer-, Was- und
Wo-Komponente der rollenbasierten Zugriffssteuerung um. Dabei planen wir die optimalen Vorgehensweisen für die rollenbasierte Verwaltung.
Warnung: Was wir in dieser Lösung tun, sieht recht arbeitsintensiv aus. Dafür gibt es zwei Gründe. Erstens nehmen wir als IT-Spezialisten die Kosten für die Verwaltung von Ressourcen ohne rollenbasierte
Verwaltung nicht mehr wahr. Die alten und neuen Verwaltungsmöglichkeiten werden wir in einer Lösung
1.5 Einrichten einer rollenbasierten Zugriffssteuerung 57
weiter hinten in diesem Kapitel behandeln. Zweitens haben wir noch keine Werkzeuge erstellt, die es uns
eine Automatisierung und Bereitstellung innerhalb unseres rollenbasierten Verwaltungsmodells gestatten. Solche Werkzeuge werden in dieser und späteren Lösungsgruppen entwickelt.
Rollengruppen
Wie in der vorangegangenen Lösung erklärt, definieren Rollengruppen Benutzer und Computer, indem
sie geschäftliche Kriterien wie den Geschäftsbereich, die Funktion, die Abteilung, die Team- oder Projektmitgliedschaft, den Standort oder die Betriebszugehörigkeit verwenden. Normalerweise sind Rollen
sehr deutlich und leicht zu verstehen: James ist Buchhalter in Sydney; Janice ist Leiterin der Abteilung
Finanzwirtschaft in London und Mitglied des Sonderprojekts.
Wichtig Rollen und ihre Mitglieder sollten sehr vertrauenswürdig sein.
Die Besitzer von Ressourcen verwalten diese, indem sie den von Ihnen definierten Rollen entsprechende Befugnisse erteilen. Daher sollten die Rollen und ihre Mitglieder sehr vertrauenswürdig sein.
William ist beispielsweise der Leiter des Sonderprojekts und fungiert daher als Besitzer eines freigegebenen Ordners und einer SharePoint-Teamsite für das Team. Er gewährt der Gruppe Special Project
Zugriff und möchte wissen, ob die Mitgliedschaft dieser Gruppe korrekt und vertrauenswürdig ist.
Andernfalls wäre er gezwungen, den Zugriff auf seine Ressourcen für einzelne Benutzer zu gewähren.
Indem wir ihm eine vertrauenswürdige Rollendefinition bereitstellen, nehmen wir ihm eine Last bei der
Verwaltung ab.
Wichtig Rollen sollten möglichst von zuverlässigen Datenquellen gesteuert werden.
Wenn die Mitgliedschaft in einer Rolle nicht von einem Menschen, sondern von einer verlässlichen
Datenquelle gesteuert wird, ist diese Rolle wesentlich vertrauenswürdiger. Contoso Ltd. hat eine
Verknüpfung zwischen der Personalverwaltungssoftware und den entsprechenden Rollen in Active
Directory hergestellt. Die Beförderung von Janice zur Leiterin der Finanzwirtschaft wurde zuerst in
der Personalverwaltungsanwendung umgesetzt. Anschließend wurde sie anhand der Attribute ihres
Personaldatensatzes automatisch in die Rolle Finance Manager in Active Directory verschoben. Derartige datenbankgesteuerte Rollendefinitionen erhöhen die Vertrauenswürdigkeit der Rollengruppen.
Solche Verknüpfungen können mithilfe von ausgefeilten und nicht ganz preiswerten Anwendungen zur
Identitätsverwaltung hergestellt werden. Diese Anwendungen verfügen normalerweise über Schnittstellen für viele verschiedene Datenbankanwendungen und -formate. In dieser Anwendung überwachen
Agenten Änderungen an der Quelldatenbank. Wenn ein Auslöser auftritt, nimmt die Anwendung Änderungen an anderen Datenbanken, z.B. Active Directory, anhand der Logik vor, die in die Anwendung
eingegeben wurde. Daher kann eine Anwendung zur Identitätsverwaltung das Feld Job Title in einer
Personaldatenbank überwachen und anhand dieses Titels die Mitgliedschaft eines Benutzers in einer
bestimmten Gruppe in Active Directory aktualisieren.
Anstatt sie zu kaufen, können Sie eine ähnliche Funktionalität selbst erstellen. Ich habe mehrere Kunden mit umfangreichen und komplizierten selbst entwickelten Anwendungen, die eine Schnittstelle
zwischen der Finanz-, der Personal- und der Betriebsdatenbank bilden und anhand dieser Datenquellen
Änderungen in Active Directory vornehmen.
58 Lösungsgruppe 1: Rollenbasierte Verwaltung
Ein weiteres einfaches Beispiel sind Computerrollen. Die meisten Organisationen unterhalten eine Art
Computerinventarverzeichnis, das beim Kauf eines neuen Systems aktualisiert wird. Ein solches Inventarverzeichnis sollte zumindest in der Lage sein, einfache Rollen wie »Desktop« im Vergleich zu »Laptop« zu steuern, wobei diese Informationen die standortbasierte Rolle des Computers festlegen können,
wenn dieser einem Benutzer zur Verfügung gestellt wird.
Hinweis Rollengruppen sind normalerweise globale Sicherheitsgruppen.
Bei Rollengruppen handelt es sich normalerweise um globale Sicherheitsgruppen, die nur Benutzer und
Computer sowie andere globale Gruppen aus derselben Domäne enthalten können. Sie können Gruppen
in derselben Domäne als Mitglieder zu globalen Sicherheitsgruppen hinzufügen, wenn sich Ihre Domäne
auf der Domänenfunktionsebene Windows 2000 oder einer höheren befindet. Globale Gruppen dürfen
keine Objekte aus einer anderen Domäne enthalten. In Gesamtstrukturen aus mehreren Domänen können
Rollengruppen als universelle Gruppen eingerichtet werden, wenn sie Mitglieder aus mehreren Domänen enthalten müssen.
In dem seltenen Fall, dass eine Rolle Konten von einer vertrauenswürdigen Domäne außerhalb der
Gesamtstruktur enthalten soll, muss es sich bei der Rolle um eine lokale Domänengruppe handeln. Eine
solche Rollengruppe kann nicht in einer globalen Gruppe verschachtelt werden, sodass sie zum Filtern
von Gruppenrichtlinienobjekten nicht von Nutzen ist. Allerdings gelten Gruppenrichtlinienobjekte
sowieso nicht für die Benutzer oder Computer in der vertrauenswürdigen externen Domäne. Verwenden
Sie lokale Domänengruppen nur in seltenen Ausnahmefällen für Rollengruppen.
Hinweis Rollengruppen enthalten Benutzer, Computer und andere Rollen.
Rollengruppen enthalten vorwiegend Benutzer und Computer. Normalerweise weist eine Rollengruppe
Benutzer oder Computer auf. Einige Arten von Rollengruppen, z.B. Standortrollengruppen, enthalten
jedoch beides.
Die Gruppe LOC_SYD bei Contoso repräsentiert beispielsweise Benutzer und Computer am Standort
Sydney. Sie wird zur Verwaltung mehrerer Befugnisse verwendet, darunter die Nutzung der Homepage
des Büros in Sydney als Startseite für Internet Explorer (was durch ein Gruppenrichtlinienobjekt
erreicht wird, das nur für LOC_SYD gilt), eine Reihe von Netzwerkdruckern (die in demselben Gruppenrichtlinienobjekt eingerichtet sind) und die Unterstützung durch das lokale Supportteam in Sydney.
(Die Rolle Sydney Support gehört durch die Richtlinie Restricted Groups MemberOf zur lokalen
Gruppe der Administratoren.) Die Besonderheiten dieser mit Gruppenrichtlinienobjekten verbundenen
Befugnisse werden in der Lösungsgruppe mit Gruppenrichtlinien erörtert.
Rollengruppen enthalten gelegentlich auch andere Rollen. Die Rollengruppen Finance Managers und
Marketing Managers können beispielsweise in der Rollengruppe Departmental Managers verschachtelt werden. Die Verschachtelung von Rollengruppen schafft eine Geschäftslogik, die die Beziehungen
– die Hierarchie und die Verbindungen – einer Organisation angibt. In der Verschachtelung von Rollengruppen in Active Directory spiegelt sich wahrscheinlich Ihr Organigramm wider.
Wichtig Rollengruppen sollten in einer oder mehreren dedizierten Organisationseinheiten enthalten sein.
1.5 Einrichten einer rollenbasierten Zugriffssteuerung 59
Da Rollengruppen die Grundlage der rollenbasierten Verwaltung bilden, müssen Sie sehr vertrauenswürdig sein und möglichst von zuverlässigen Datenquellen gesteuert werden. Dies können Sie fördern,
indem Sie die Rollengruppen in Active Directory von Gruppen trennen, die einem anderen Zweck dienen.
Contoso Ltd. verfügt innerhalb der Organisationseinheit Groups über eine Organisationseinheit mit
dem Namen Role Groups, die jedoch getrennt von anderen Organisationseinheiten für Ressourcenzugriffs-, Anwendungs- und andere Gruppen zur Befugnisverwaltung ist.
Das Einfügen von Rollengruppen in eine oder mehrere dedizierte Organisationseinheiten erlaubt Ihnen,
die Verwaltung von Rollengruppenmitgliedschaften (sicher) zu delegieren. In den meisten mittelgroßen
bis großen Organisationen und in vielen kleineren Unternehmen ist es für einen Supportmitarbeiter
nicht angebracht, die Rollendefinition eines Benutzers zu ändern (zum Beispiel um James in die Gruppe
Finance Managers einzufügen). Diese Aufgabe sollte an ein geschultes, vertrauenswürdiges und hoffentlich zuverlässiges Team oder Werkzeug delegiert werden.
Contoso verfügt tatsächlich über mehrere Organisationseinheiten für Rollengruppen. Neben Role
Groups gibt es die Organisationseinheit Location Groups mit Rollengruppen, die sich auf den Standort
eines Benutzers oder Computers beziehen (z.B. die Gruppe LOC_SYD). Diese besondere Organisationseinheit wird tatsächlich an den Support delegiert, der bei einem Standortwechsel den betreffenden
Benutzer und seinen Computer von einer in eine andere Standortrollengruppe verschieben kann. Die
Organisationseinheit Role Groups, die alle anderen Rollendefinitionen enthält, wird streng kontrolliert.
Wenn Sie in der glücklichen Lage sind, Rollengruppenmitgliedschaften mit zuverlässigen Datenquellen
verknüpfen zu können, sollten Sie die Möglichkeit weiter einschränken, dass die Synchronisierung
zwischen dieser Datenquelle und den Active Directory-Gruppen durch menschliches Eingreifen beeinträchtigt wird. Erstellen sie in dieser Situation eine eigene Organisationseinheit – zum Beispiel Role
Groups Authoritative – und delegieren Sie die Verwaltung der Gruppenmitgliedschaft nur an die
Anwendung zur Identitätsverwaltung oder das von Ihnen erstellte Werkzeug. Für den Fall, dass die Verknüpfung zur Identitätsverwaltung ausfällt und eine manuelle Wartung erfolgen muss, können Sie die
Mitgliedschaftsverwaltung natürlich auch an eine sehr begrenzte Anzahl vertrauenswürdiger Einzelpersonen delegieren.
Wichtig Rollengruppen sollten sich streng an Ihre Namenskonventionen halten.
Namenskonventionen für Gruppen
Namenskonventionen sind von entscheidender Bedeutung. Erwähnte ich schon, dass sie von entscheidender Bedeutung sind? Sie sind entscheidend für die effektive rollenbasierte Verwaltung. Lassen Sie mich
einige der Benennungsstandards vorwegnehmen, die ich weiter hinten in dieser technischen Referenz
ausführlich beschreibe:
„ Ressourcenzugriffsgruppen: ACL_Ressource_Zugriffsebene
„ Softwarebereitstellung: APP_Anwendung
„ Administratorgruppen (z.B. Support): ADM_Beschreibung
„ Gruppenrichtlinienfilter-Gruppen: GPO_Gruppenrichtlinienobjekt-Name
„ Patchverwaltungsgruppen (z.B. die Gruppe zur »Aktualisierungssteuerung«): UPD_Beschreibung
Sie erkennen das Prinzip: Gruppen weisen ein Präfix auf, das ihren Zweck bezeichnet.
60 Lösungsgruppe 1: Rollenbasierte Verwaltung
Wichtig Gruppenpräfixe sollten den Zweck der Gruppe bezeichnen.
Warum Präfixe? Weil damit mehrere Ziele erreicht werden. Erstens vereinfachen sie das Auffinden der
richtigen Gruppe erheblich. Stellen Sie sich vor, dass alle Gruppen, die Sie zur Verwaltung der Ressourcensicherheit verwenden, mit ACL_ beginnen. Jedes Mal, wenn Sie eine Gruppe in eine Zugriffssteuerungsliste einfügen, klicken Sie auf der Registerkarte Sicherheit des Eigenschaftendialogfelds und im
Dialogfeld Erweiterte Sicherheitseinstellungen auf Hinzufügen und rufen damit ein Dialogfeld auf, in
dem Sie einen Teil des Gruppennamens eingeben und dann eine Auswahl aus einer Liste passender
Gruppen treffen können, wie Abbildung 1.13 zeigt.
Abbildung 1.13 Auswählen einer Gruppe mit dem Präfix ACL_
Dieses Präfix bietet die Möglichkeit, die Auswahl aus Ihren zahlreichen Gruppen auf den Gruppentyp
einzugrenzen, den Sie für eine bestimmte Aufgabe wirklich benötigen.
Die Verwendung eines Präfixes hilft Ihnen außerdem dabei, Ihre Gruppen bei der Auflistung zu gliedern. Mit anderen Worten, alle Ressourcensicherheitsgruppen erscheinen zusammen in einer Gruppenliste, da sie alle mit ACL_ beginnen.
Wichtig Verwenden Sie ein einheitliches Zeichen, z.B. einen Unterstrich (_), um Teile eines Gruppennamens abzutrennen oder zu begrenzen.
Es ist wichtig, eine Möglichkeit zur Kennzeichnung des Bestandteils eines Gruppennamens zu finden,
der ihren Zweck angibt – die Beschreibung, das Suffix oder andere Bestandteile des Namens. Ich empfehle die Verwendung eines Unterstrichs (_) als Trennzeichen. Das bedeutet, dass Sie diesen nicht als
Teil des Namens selbst benutzen, sondern als Trennzeichen reservieren.
1.5 Einrichten einer rollenbasierten Zugriffssteuerung 61
In den folgenden Absätzen beschreibe ich zum Beispiel ausführlich die Empfehlung zur Verwendung
von ACL_Ressourcensammlung_Zugriffsebene als Namenskonvention für Befugnisgruppen zum Verwalten des Ressourcenzugriffs. Beachten Sie, dass der Unterstrich das Präfix (ACL) von dem Namen
der Ressourcensammlung von der Zugriffsebene abgrenzt.
Eine derartige Namenskonvention vereinfacht die Automatisierung, die Bereitstellung und die Darstellung Ihres rollenbasierten Verwaltungsmodells. Erinnern Sie sich an die Abbildungen 1.1 bis 1.3, in
denen wir die Laufbahn von James Fine bei Contoso untersucht haben? Können Sie erraten, wie seine
Gruppenmitgliedschaften von dieser HTML-Anwendung kategorisiert wurden? Anhand des Präfixes!
Alle mit ACL_ beginnenden Gruppen wurden im Abschnitt der Ressourcenzugriffsgruppen aufgelistet.
Auf den Screenshots können Sie erkennen, dass die Zugriffsebene in Klammern angegeben ist. Raten
Sie, warum wir das getan haben. Wir haben den zweiten Unterstrich als Trennzeichen eingesetzt und
alles Folgende in Klammern gesetzt. Durch das Trennzeichen waren die Gruppennamen leicht zu
erkennen und aufzuteilen oder zu analysieren.
Es bestehen noch zahlreiche weitere Gründe für den Einsatz von Namenskonventionen. Ich könnte nur
über dieses Thema ein Buch schreiben. Ob es jemand kaufen würde, weiß ich nicht. Aber ich schweife ab.
Wie sollte nun die Namenskonvention für Rollengruppen aussehen?
Wichtig Den Rollen normaler menschlicher Benutzer sollte kein Präfix vorangestellt werden.
Halt! Habe ich nicht gerade über die Bedeutung von Präfixen gesprochen? Ja, das habe ich. Aber eine
Ausnahme von der Regel ist selbst eine Regel, nicht wahr? Hier folgt nun die »Ausnahmeregel«. Eine
Rollengruppe, die normale menschliche Benutzer repräsentiert, sollte kein Präfix enthalten, sondern
lediglich aus einem Namen bestehen: Finance Managers, Sales Team, Executives, Special Project.
Dies liegt darin begründet, dass diese Rollengruppen in Ihrem Unternehmen am deutlichsten sichtbar
sind. Wenn sich ein nicht technisch versierter Ressourcenbesitzer wie William, der das Sonderprojekt
leitet, eine Gruppe »ansehen« will, um ihr einen bestimmten Zugriff zu ermöglich, sieht er die Rollengruppen der menschlichen Benutzer, z.B. Special Project. Daher sollten Sie diese Gruppen für Ihre
Benutzer so bequem, einleuchtend und einfach wie möglich gestalten.
Andere Arten von Rollengruppen sollten dagegen Präfixe aufweisen. Ich empfehle beispielsweise die
Verwendung von ADM_ als Präfix für die Rollen von Administratoren, z.B. ADM_Help Desk oder
ADM_Desktop Support.
Hinweis Versehen Sie administrative Rollen mit einem Präfix, z.B. ADM_.
Administratoren sind anders. Sie sind (in vielerlei Hinsicht) etwas Besonderes. Normalerweise melden
sie sich mit wechselnden Anmeldeinformationen an. Das hoffe ich zumindest. Fügen Sie jene sekundären Anmeldeinformationen der Administratoren in eine ADM_-Gruppe ein und weisen Sie der Rolle
ADM_ Befugnisse zu (z.B. die Möglichkeit, Verwaltungswerkzeuge zu installieren oder das Kennwort
eines Benutzers zurückzusetzen).
Computer sind ebenfalls anders. Ich empfehle Ihnen, die Rollen, die nur Computer enthalten, mit einem
Präfix wie COMP_ zu versehen.
62 Lösungsgruppe 1: Rollenbasierte Verwaltung
Hinweis Kennzeichnen Sie Rollen, die nur Computer enthalten, mit einem Präfix wie COMP_.
Damit wären Ihre Objekte für die Computer im Konferenz- und Schulungsraum Mitglieder von
COMP_Conference Room Systems beziehungsweise COMP_Training Lab Systems.
Zusammenfassung: Rollengruppen
Wir haben ein großes Gebiet abgehandelt. Rollengruppen bilden die Grundlage Ihres rollenbasierten Verwaltungsmodells. Sie sollten vertrauenswürdig sein und daher in Active Directory sorgfältig abgesondert
und delegiert werden. Ihre Mitgliedschaft sollte möglichst von zuverlässigen Datenquellen gesteuert
werden, sei es durch eine kommerzielle Anwendung zur Identitätsverwaltung oder durch selbst erstellte
Skripts und Werkzeuge, mit denen die Eigenschaften zuverlässiger Datenbanken, z.B. der Personaldatenbank und des Inventarverzeichnisses, mit Active Directory-Gruppen synchronisiert werden.
Bei Rollengruppen handelt es sich meistens um globale Sicherheitsgruppen, die Benutzer, Computer
und andere Rollengruppen enthalten. Ihre Namenskonventionen sollten dabei strikt eingehalten werden
und durch Trennzeichen separierte Bestandteile vorsehen. Namen von Rollengruppen für normale
menschliche Benutzer sollten so einfach, unkompliziert und erkennbar sein wie möglich.
Rollengruppen in unserem Szenario zur rollenbasierten Zugriffssteuerung
Für unser Szenario zur rollenbasierten Zugriffssteuerung brauchen wir mehrere Rollengruppen: Marketing, Marketing Managers, Sales, Sales Managers, Manufacturing, Manufacturing Managers,
Research and Development, Research and Development Managers, Finance, Consultants und Auditors.
Wenn Sie diese Lösung in einer Testumgebung einsetzen, sollten Sie eine Organisationseinheit mit dem
Namen Role Groups in einer Organisationseinheit namens Groups erstellen und eine globale Sicherheitsgruppe für die einzelnen zuvor erwähnten Rollen anlegen.
Die Geschäftslogik wird durch eine Verschachtelung von Rollengruppen erzielt. Verschachteln Sie die
einzelnen Manager-Gruppen in der Gruppe der jeweiligen Abteilung. Ernennen Sie zum Beispiel Marketing Managers zum Mitglied von Marketing.
Befugnisverwaltungsgruppen
Befugnisverwaltungsgruppen stehen für eine bestimmte Verwaltungsaufgabe. Bei der rollenbasierten
Zugriffssteuerung stellen sie den Zugriff auf einer bestimmten Ebene (z.B. Lesen, Bearbeiten, Vollzugriff) für eine Sammlung von Ressourcen (eine oder mehrere Dateien in einer oder mehreren Freigaben
auf einem oder mehreren Servern) dar.
Namenskonventionen für Gruppen
Hinweis Fügen Sie Ressourcenzugriffsgruppen einen Indikator als Präfix hinzu, z.B. ACL_ (für »Access
Control List«, also Zugriffssteuerungsliste).
Namenskonventionen sind von entscheidender Bedeutung (kommt Ihnen das bekannt vor?) für Befugnisverwaltungsgruppen. Ich empfehle die Verwendung des Präfixes ACL_ für die Befugnisverwaltungsgruppen zur rollenbasierten Zugriffssteuerung, obwohl Sie auch ein anderes Präfix wie RES_ (für »Ressource«) oder PERM_ (für »Permission« verwenden können. Einer meiner Gründe für die Bevorzugung
1.5 Einrichten einer rollenbasierten Zugriffssteuerung 63
von ACL_ besteht darin, dass die Verwaltung von Zugriffssteuerungslisten zu den häufigsten täglichen
Aufgaben von IT-Spezialisten gehört, sodass es hilfreich ist, wenn in einer von A bis Z sortierten Liste
alle entsprechenden Gruppen oben stehen.
Wichtig Der Gruppenname sollte einen eindeutigen Bezeichner für die Ressourcensammlung enthalten.
Der mittlere Teil des Gruppennamens sollte ein eindeutiger Bezeichner für die Ressourcensammlung
sein. In unserem Szenario ist das einfach: Budget. Aber die Vielschichtigkeit Ihrer Geschäftsanforderungen macht möglicherweise eine differenziertere Konvention für diesen Teil des Gruppennamens
erforderlich.
Wichtig Fügen Sie Ressourcenzugriffsgruppen ein Suffix hinzu, das die Zugriffsebene angibt.
In unserem Szenario haben wir Gruppen wie ACL_Budget_Read und ACL_Budget_Edit. Das Trennzeichen, gefolgt von der Zugriffsebene, hilft dabei, die Darstellung unseres rollenbasierten Verwaltungsmodells zu verbessern. In den Abbildungen 1.1 bis 1.3 wird ein Gruppenname unter Verwendung
eines Trennzeichens aufgeteilt. Das Präfix ACL_ wird zur Kategorisierung der Gruppe verwendet. Das
Suffix für die Zugriffsebene wird in Klammern dem Namen der Ressourcensammlung nachgestellt.
Wichtig Fügen Sie beim Erstellen einer Befugnisverwaltungsgruppe nähere Angaben darüber hinzu, was
die Gruppe verwaltet. Sie sollten unbedingt die Attribute Description, Notes und Manager mit Daten füllen.
Ein Gruppenname sollte möglichst langfristig dazu beitragen, die Funktion der Gruppe verständlich zu
machen. ACL_Budget_Read ist relativ verständlich. Aber das ist noch nicht genug. Verwenden Sie weitere Eigenschaften des Gruppenobjekts, z.B. das Attribut Description. Bei einer meiner bevorzugten
Umsetzungen der rollenbasierten Zugriffssteuerung wurde das Attribut Description verwendet, um den
tatsächlichen Pfad zu einem oder mehreren von der Gruppe verwalteten freigegebenen Ordnern anzugeben. Da die Beschreibung im Snap-In Active Directory-Benutzer und -Computer als Spalte dargestellt
ist, ist sie gut sichtbar und hilfreich.
Das Feld Notes ist ebenfalls sehr hilfreich. Zwar ist es nicht als Spalte im Snap-In Active DirectoryBenutzer und -Computer zu sehen, doch wird es im Dialogfeld Eigenschaften der Gruppe angezeigt und
kann mithilfe eines Skripts oder benutzerdefinierten Werkzeugs betrachtet werden. (Tipp: Es handelt
sich um das Attribut info.)
Das Attribut ManagedBy ist ebenfalls hilfreich. Verknüpfen Sie es mit dem für Fragen zur Gruppe und
Gruppenmitgliedschaft zuständigen Benutzer oder der entsprechenden Gruppe. Wenn Sie das Attribut
ManagedBy einer Gruppe auf eine andere Gruppe setzen wollen, müssen Sie die Eigenschaften der ersten Gruppe öffnen, zur Registerkarte Verwaltet von wechseln und anschließend auf Ändern und dann
(jetzt kommt der Trick) auf Objekttypen klicken, das Kontrollkästchen Gruppen aktivieren und dann
auf OK klicken. Andernfalls erscheint bei der Eingabe eines Gruppennamens eine Fehlermeldung, da in
diesem Dialogfeld standardmäßig keine Gruppen in die Suche einbezogen werden. Das Attribut ManagedBy kann außerdem zum Delegieren der eigentlichen Berechtigungen für die Verwaltung von Gruppenmitgliedschaften verwendet werden. Aktivieren Sie in den Eigenschaften der Gruppe auf der Registerkarte Verwaltet von das Kontrollkästchen mit der Bezeichnung Vorgesetzter kann Mitgliedsliste
ändern. Da sich der Name von Verwaltet von ändert, wird auch die Zugriffssteuerungsliste geändert.
64 Lösungsgruppe 1: Rollenbasierte Verwaltung
Wichtig Bei Ressourcenzugriffsgruppen sollte es sich um lokale Domänensicherheitsgruppen handeln.
Ressourcenzugriffsgruppen sollten als lokale Domänensicherheitsgruppen erstellt werden. Mit der
lokalen Domäne als Gültigkeitsbereich können diese Gruppen langfristig Flexibilität bieten. Vielleicht
befinden sich die einzigen Benutzer, die heute Zugang zu den Budgetressourcen benötigen, in unserer
Domäne. Vielleicht findet aber im nächsten Jahr eine größere Buchprüfung statt, sodass wir eine Vertrauensstellung zur Domäne des Prüfers herstellen müssen. Dessen Rollen werden in unsere Befugnisverwaltungsgruppen eingefügt. Außerdem können lokale Domänengruppen Objekte anderer Domänen
enthalten.
Lokale Domänensicherheitsgruppen weisen zwei Nachteile auf. Der erste besteht darin, dass sich die
Verwaltung nur auf eine einzige Domäne erstrecken kann. Unsere Gruppe ACL_Budget_Read kann als
lokale Domänensicherheitsgruppe nicht die Berechtigungen für die Budgetressourcen in einer vertrauenden Domäne erhalten, auch nicht innerhalb derselben Gesamtstruktur. In solchen Situationen
verwenden Sie eine universelle Sicherheitsgruppe, die die Verwaltung über mehrere Domänen einer
Gesamtstruktur hinweg durchführen kann, oder eine globale Gruppe in dem sehr seltenen Fall, dass
Sie die Verwaltung (z.B. das direkte Einfügen der Gruppe in eine Zugriffssteuerungsliste) auf eine vertrauende Domäne ausdehnen müssen. Verwenden Sie lokale Domänengruppen für die Befugnisgruppen
zum Ressourcenzugriff, sofern Sie nicht gezwungen sind, anders vorzugehen.
Der zweite Nachteil von lokalen Domänengruppen liegt in ihren Auswirkungen auf die Tokengröße des
Benutzers. Dieses Problem wird in Lösung 1.7 ausführlich behandelt. Falls Sie Probleme mit der
Tokengröße feststellen, sollten Sie die Befugnisverwaltungsgruppen für den Ressourcenzugriff als
globale Sicherheitsgruppen einrichten. Sie sind dann zwar nicht in der Lage, Rollen oder Benutzer aus
anderen Domänen einzufügen, aber aller Wahrscheinlichkeit nach befinden Sie sich sowieso in einer
Umgebung mit einer einzigen Domäne. Falls Ihr Unternehmen sehr groß ist, wechseln Sie eventuell zu
anderen Lösungen zur Identitätsverwaltung für die rollenbasierte Zugriffssteuerung.
Wichtig Befugnisverwaltungsgruppen sollten Benutzer- oder Computerrollen und als Ausnahmen einzelne
Benutzer oder Computer enthalten.
Die Befugnisverwaltungsgruppen sollten hauptsächlich Rollen enthalten. Das ist rollenbasierte Verwaltung, nicht wahr? Aber es gibt immer Ausnahmen. In der letzten Lösung haben wir vorgeschlagen, dem
leitenden Geschäftsführer Zugang zu allen Unterlagen des Finanzwesens zu gewähren, um seiner Aufgabe gerecht zu werden, die Finanzen zu überwachen und zur Einwilligung und Überprüfung abzuzeichnen. Obwohl er möglicherweise nicht zu einer Rolle gehört, der die Befugnis zum Lesen einer
bestimmten Ressourcensammlung erteilt wurde, fügen wir sein Benutzerkonto direkt in die Befugnisverwaltungsgruppe ein. Einzelne Benutzer oder Computer aufgrund der Geschäftsanforderungen zu
Befugnisverwaltungsgruppen hinzuzufügen, ist völlig akzeptabel. Wenn Sie eine Befugnisverwaltungsgruppe mit sehr vielen einzelnen Benutzern oder Computern finden, so deutet dies, wie in den letzten
Lösungen erwähnt, wahrscheinlich darauf hin, dass diese Benutzer oder Computer eine geschäftliche
Eigenschaft teilen, die als Rolle definiert werden sollte.
Wichtig Sammeln Sie Befugnisverwaltungsgruppen für den Ressourcenzugriff in einer oder mehreren
dedizierten Organisationseinheiten.
1.5 Einrichten einer rollenbasierten Zugriffssteuerung 65
Trennen Sie die Befugnisverwaltungsgruppen für den Ressourcenzugriff von anderen Gruppenarten.
Für den Ressourcenzugriff gibt es wahrscheinlich viele Verwaltungsgruppen, wobei Sie die Verwaltung
der Gruppenmitgliedschaften vermutlich anderen in Ihrer Organisation überlassen, entweder dem Support oder den tatsächlichen Besitzern der Ressourcen. Das Vorhandensein einer einzigen Organisationseinheit oder eines Zweiges einer Organisationseinheit mit Ressourcenzugriffsgruppen vereinfacht das
effektive Delegieren.
Zusammenfassung: Befugnisverwaltungsgruppen
Bei den Befugnisverwaltungsgruppen für den Ressourcenzugriff sollte es sich um lokale Domänensicherheitsgruppen in einer oder mehreren dedizierten Organisationseinheiten handeln, um das Delegieren von
Gruppenmitgliedschaften an Supportteams oder die Besitzer der Ressourcen zu vereinfachen. Sie sollten
vorwiegend Rollengruppen (Benutzer- und Computerrollen) enthalten, umfassen aber als Ausnahme von
der Regel auch oft einzelne Benutzer- oder Computerkonten, die den Zugang benötigen, obwohl sie nicht
richtig in eine der Rollen passen, die diesen Zugang bereits besitzen. Namen sollten ein Präfix wie ACL_
enthalten, das den Zweck der Gruppe für die rollenbasierte Zugriffssteuerung angibt. Ferner sollten sie
einen eindeutigen Bezeichner für die Ressourcensammlung enthalten und mit einem Suffix enden, das die
Zugriffsebene angibt.
Befugnisverwaltungsgruppen in unserem Szenario zur rollenbasierten Zugriffssteuerung
Für unser Szenario brauchen wir lediglich zwei Befugnisverwaltungsgruppen: ACL_Budget_Read und
ACL_Budget_Edit. Wenn Sie diese Lösung in einer Testumgebung einsetzen, sollten Sie eine Organisationseinheit mit dem Namen Resource Access in der Organisationseinheit Groups erstellen. Legen Sie
für jede dieser Befugnisse eine lokale Domänensicherheitsgruppe an.
Darstellen von Geschäftsanforderungen
Geschäftsanforderungen werden durch die Verschachtelung von Rollengruppen und gelegentlich einzelnen Benutzern und Computern in Befugnisverwaltungsgruppen dargestellt. Ganz einfach!
Fügen Sie in unserem Szenario jede der vier Abteilungsrollengruppen (Marketing, Sales usw.) in die
Gruppe ACL_Budget_Read ein. Fügen Sie außerdem Auditors sowie ein Benutzerkonto für den leitenden Geschäftsführer hinzu. Nehmen Sie die vier Managergruppen in die Gruppe ACL_Budget_Edit auf.
Fügen Sie Consultants ebenfalls hinzu.
Der Schlüssel zur rollenbasierten Zugriffssteuerung liegt darin, diese Verfahrensschicht hundertprozentig
mit den Geschäftsanforderungen abzustimmen. Dabei sollten eine oder mehrere Rollen vorhanden sein,
die eine Geschäftsanforderung gemeinsam haben, wobei sich diese Anforderung auf eine gemeinsame
Befugnis für diese Rollen bezieht. Nachdem Sie die Rollen in den Befugnisverwaltungsgruppen verschachtelt haben, haben Sie es geschafft!
Umsetzen von Befugnissen
Die Art und Weise, in der Sie eine Befugnis für einen Verwaltungsbereich einrichten, unterscheidet sich
je nachdem, welche Befugnis Sie genau verwalten. Wenn Sie den Lesezugriff auf das Budget gewähren,
gehen Sie anders vor als bei der Bereitstellung der Budgetanwendung für die Benutzer.
Bei der rollenbasierten Zugriffssteuerung ist es sehr einfach. Fügen Sie die Befugnisverwaltungsgruppen in die Zugriffssteuerungslisten der Ordner in der Ressourcensammlung ein. In den Lösungen der
Lösungsgruppe 2, »Verwalten von Dateien, Ordnern und Freigaben«, ist detailliert beschrieben, wie Sie
66 Lösungsgruppe 1: Rollenbasierte Verwaltung
Befugnisse wie Lesen und Bearbeiten einrichten. Insbesondere bei Bearbeiten ist das nirgends auch nur
annähernd so einfach, wie die meisten Organisationen annehmen. Wenn Sie daran denken, einfach die
Berechtigung zu ändern, setzen Sie sich selbst der Gefahr einer Dienstverweigerung aus. Legen Sie
daher dieses Buch nicht eher beiseite, bis Sie diese Lösungsgruppe durchgelesen haben.
Automatisieren und Bereitstellen
Wenn ich mit Kunden über die rollenbasierte Zugriffssteuerung spreche, kommen wir normalerweise an
einen Punkt, an dem sie sich nicht länger zurückhalten können und jemand fragt: »Ist das nicht eine
Menge Arbeit?« Die Antwort lautet: »Ja, aber nicht dort, wo Sie denken.« Die Erstellung von Gruppen,
das Füllen aller Eigenschaften mit Daten, die Durchsetzung von Namenskonventionen und das Festlegen von Zugriffssteuerungslisten sind Aufgaben, die leicht bereitgestellt und automatisiert werden
können, nachdem Sie die rollenbasierte Zugriffssteuerung eingeführt haben. Der schwierige Teil
besteht darin, Ihr Geschäft zu analysieren, um die Rollen festzulegen, Ihr Unternehmen zu analysieren,
um herauszufinden, welche Befugnisse Sie verwalten müssen, und zu verstehen, was Sie zum Aufbau
brauchen. Aber der Erfolg ist wirklich ganz enorm, wie Sie beim Erstellen unserer Lösungen auf dieser
Grundlage der rollenbasierten Zugriffssteuerung und Verwaltung sehen werden.
Stellen Sie sich vor, dass die rollenbasierte Zugriffssteuerung verfügbar ist und Sie Ordner für das Budget des nächsten Jahres auf vier Servern anlegen müssen. Dazu rufen Sie ein Werkzeug auf, geben einen
Namen für den Ordner ein, wählen die vier Server aus, auf denen Sie die Ordner bereitstellen wollen,
und geben an, dass Sie die Befugnisse Bearbeiten und Lesen einrichten müssen. Das Werkzeug legt
dann den Ordner und die Freigabe auf den einzelnen Servern an, erstellt die beiden Befugnisverwaltungsgruppen (in Übereinstimmung mit Ihrer Namenskonvention) und weist die acht (2 × 4) zur Umsetzung der Befugnisse erforderlichen Berechtigungsgruppen zu. Dann brauchen Sie nur noch eine Hand
voll Rollen, die die einzelnen Befugnisse benötigen, in der entsprechenden Gruppe zu verschachteln.
Voilà! Ein solches Werkzeug wird am Ende der Lösungsgruppe 2 Ihnen gehören.
Zusammenfassung
Diese Lösung stellt die Anforderungen für die Einrichtung von Rollengruppen, Befugnisverwaltungsgruppen und Geschäftsanforderungen anhand eines Beispielszenarios mit rollenbasierter Zugriffssteuerung vor. Die in dieser Lösung beschriebenen Konzepte, Anleitungen und Aufgaben sind auch in
anderen Szenarien mit rollenbasierter Verwaltung nützlich. Diese Lösung dient als Grundlage für viele
leistungsfähige Lösungen in dieser und anderen Lösungsgruppen.
1.6 Berichtswesen und Überwachung bei rollenbasierter
Zugriffssteuerung und Verwaltung
Die Lösung im Überblick
Typ
Anleitung und Werkzeuge
Funktionen und Werkzeuge
Active Directory-Gruppenverwaltung, HTML-Anwendungen,
VBScript
Zusammenfassung
Einsatz Ihres rollenbasierten Verwaltungsmodells zur Erstellung
von Berichten und zur Überprüfung der Integrität des Modells
1.6 Berichtswesen und Überwachung bei rollenbasierter Zugriffssteuerung und Verwaltung 67
Vorteile
Einfache Beantwortung der Fragen: »Worauf darf James zugreifen?« und: »Wer kann das Budget bearbeiten?« Bietet die Möglichkeit zu überwachen, ob Ihre Organisation tatsächlich den
Richtlinien Ihrer rollenbasierten Verwaltung folgt.
Vorschau
Abbildung 1.14 zeigt zwei Werkzeuge, My Memberships und
Resource Access Report, die die oben genannten Fragen beantworten.
Abbildung 1.14 Die Werkzeuge My Memberships und Resource Access Report
Einführung
Diese Lösung stellt mehrere wichtige Befugnisse der rollenbasierten Verwaltung für das Berichtswesen, die Überwachung und die Einhaltung der Regeln bereit. In Abbildung 1.14 erkennen Sie wahrscheinlich, dass die Art der Informationen, die Sie ganz einfach durch die Verwendung der rollenbasierten Verwaltung sammeln können, genau der Art von Informationen entspricht, die wir IT-Spezialisten
tagtäglich bereitstellen müssen:
„ Die Analyse eines bestimmten Benutzers: Welche Rollen hat er, welche Anwendungen sollte er
haben, auf welche Ressourcen darf er zugreifen, welche Anmeldeskripts werden ausgeführt (und
damit auch: welche Laufwerke sind zugeordnet?), welche Gruppenrichtlinien gelten und zu
welchen E-Mail-Verteilerlisten gehört er?
„ Die Analyse einer bestimmten Ressource: Wer kann in welchem Maße darauf zugreifen?
Wenn Sie diese Lösungsgruppe der Reihe nach durchgelesen haben, was ich Ihnen empfehle, sind Sie
bereits vorbereitet und können wahrscheinlich vorhersagen, wie diese Berichte erstellt und direkt in
Active Directory-Benutzer und -Computer oder andere administrative Snap-Ins integriert werden. Sie
führen einfach die Auflistung der Gruppenmitgliedschaften aus. Außerdem können sie als Aufgaben
oder benutzerdefinierte Kontextmenübefehle in Ihre Verwaltungswerkzeuge eingefügt werden.
68 Lösungsgruppe 1: Rollenbasierte Verwaltung
Achten Sie beim Lesen dieser Lösung darauf, auf welche Weise die in der vorigen Lösung erörterten
Regeln und die Disziplin uns ermöglichen, mit den in den Lösungen 1.1 bis 1.3 erworbenen Kenntnissen Werkzeuge zu erstellen, um viele der in Lösung 1.4 erläuterten Vorteile der rollenbasierten
Verwaltung zu nutzen.
My Memberships
Das in den Abbildungen 1.3 und 1.4 gezeigte Werkzeug My Memberships analysiert einen Benutzer
und zeigt an, wie er verwaltet wird. Wenn ich dieses Werkzeug Firmenkunden zeige, sind sie hellauf
begeistert. Was verleiht uns die Fähigkeit, diese Informationen zu generieren? Disziplinierte Gruppenbenennungsstandards. Um es kurz zu machen: Wie in Lösung 1.2 listet das Werkzeug einfach die
Gruppenmitgliedschaften eines Benutzers auf und wendet dann eine umgekehrte Logik auf die Gruppennamen an.
Beginnt ein Gruppenname beispielsweise mit ACL_, weiß der Code, dass es sich um eine Ressourcenzugriffsgruppe handelt, sodass sie unter dieser Kategorie angezeigt wird. Damit der Bericht noch besser
zu lesen ist, zeigt das Werkzeug anstelle des Gruppennamens das Description-Attribut der Gruppe an.
Dies geschieht natürlich, weil wir dazu angehalten wurden, für jede von uns erstellte Gruppe eine
Beschreibung einzugeben, oder über ein Bereitstellungswerkzeug wie das in Lösungsgruppe 2 vorgestellte verfügen.
Verwenden von My Memberships
My Memberships befindet sich im Ordner Scripts auf dem Begleitmedium und trägt den Namen My
Memberships.hta. Es sind mehrere Möglichkeiten vorgesehen, die Anwendung zu starten. Erstens kann
Sie durch einen Doppelklick geöffnet werden, wobei sie die Mitgliedschaften des gerade angemeldeten
Benutzers auswertet. Zweitens kann sie über eine Befehlszeile, einer Aufgabe des MMC-Aufgabenblocks oder einen benutzerdefinierten Kontextmenübefehl gestartet werden, wobei sie Argumente mit
der Angabe des auszuwertenden Benutzers, Computers oder der Gruppe erhält.
Nachdem My Memberships geöffnet wurde, zeigt die Anwendung Informationen über den ausgewählten Benutzer, den Computer oder die Gruppe an. Sie können dann die Zusatzfelder (User, Computer
oder Group) ändern, wobei My Memberships dann eine kumulative Analyse der Mitgliedschaften
durchführt.
Wenn James Fine beispielsweise an Desktop 432 angemeldet ist, wie in Abbildung 1.3 und 1.14 dargestellt, zeigt My Memberships die gemeinsamen Mitgliedschaften des Benutzer- und Computerobjekts
an, sodass Sie einen Einblick erhalten, was für diesen Benutzer auf diesem Computer gilt. Sie können
auch einen anderen Computernamen eingeben, z.B. den Namen eines Rechners in einem Konferenzraum, wobei das Werkzeug anzeigt, was James zu sehen bekäme, wenn er sich an jenem Computer
anmelden würde.
Sie können auch die Mitgliedschaften einer Gruppe auswerten, um herauszufinden, in welchen Gruppen die ausgewählte Gruppe direkt oder indirekt verschachtelt ist. Wenn Sie einen Benutzer oder Computer auswerten und den Namen einer Gruppe eingeben, in der er bereits vorhanden ist, erhalten Sie
keine neuen Informationen, da diese Gruppe schon im Bericht enthalten ist. Sie können jedoch »Waswäre-wenn«-Analysen durchführen, indem Sie den Namen einer Gruppe hinzufügen, zu der der Benutzer oder Computer noch nicht gehört, und sich anschließend die Auswirkungen ansehen.
Da es so viele verschiedene Möglichkeiten zum Aufrufen des Werkzeugs gibt, können Sie es leicht in das
Snap-In Active Directory-Benutzer und -Computer integrieren, was in Lösung 1.3 ausführlich beschrieben wird. Wenn Sie zum Starten von My Memberships für einen Benutzer eine Aufgabe verwenden,
1.6 Berichtswesen und Überwachung bei rollenbasierter Zugriffssteuerung und Verwaltung 69
sollten Sie sicherstellen, dass Sie den Prä-Windows 2000-Anmeldenamen als Parameter verwenden, der
$COL<9> lautet. Benutzen Sie diesen Namen auch für eine Gruppe. Für Computer verwenden Sie den
Namen $COL<0>. Denken Sie daran, die Spalte auch in die Ansicht des Detailfensters einzufügen,
indem Sie den Befehl Spalten hinzufügen/entfernen aus dem Menü Ansicht wählen.
Mithilfe der ebenfalls in Lösung 1.3 beschriebenen Schritte können Sie My Memberships auch als
benutzerdefinierten Kontextmenübefehl aufrufen.
Wie bei anderen Werkzeugen in diesem Abschnitt werden wir im nächsten Abschnitt einen kurzen
Blick auf den Code werfen. Wenn Sie kein erfahrener Skriptprogrammierer sind, sollten Sie den
Abschnitt überfliegen, um zu lernen, wie Sie My Memberships an Ihre Namenskonventionen anpassen
können.
Grundlagen und Anpassung von My Memberships
My Memberships ist das komplexeste Werkzeug, das wir in dieser Lösungsgruppe vorgestellt haben,
was aber nicht bedeutet, dass Sie es nicht verstehen und anpassen können. Besonders wenn Sie unsere
Empfehlungen befolgt haben und detaillierte, durchsetzbare Standards für Gruppennamen eingeführt
haben, werden Sie die Anpassung von My Memberships als recht einfach empfinden.
Wie bereits erwähnt, gibt es mehrere Möglichkeiten, um My Memberships mit mehreren verschiedenen
Arten von Argumenten zu starten. Wird diese HTML-Anwendung erstmals geöffnet, führt sie automatisch Window_Onload aus, wobei sie sich (mithilfe der Subroutine CenterMe) selbst auf dem Bildschirm zentriert, und erkennt (mithilfe der Subroutine Initialize) den Namen des lokalen Computers und
des derzeit angemeldeten Benutzers. Der definierte Name der Domäne wird von dem des gerade angemeldeten Benutzers abgeleitet.
Der HTML-Abschnitt der Anwendung weist Textfelder als Steuerelemente für den Benutzer-, den
Computer- und den Gruppennamen auf. Window_Onload ruft die Subroutine Prepopulate auf, die die
Befehlszeile überprüft, mit der die HTML-Anwendung gestartet wurde, um (mithilfe unserer Funktion
HTA_Arguments) das Argument zu ermitteln. Wurde kein Argument übergeben, werden die Namen des
gerade angemeldeten Benutzers und Computers in die Textfelder eingetragen.
Wenn ein Argument übergeben wurde, wird es dazu verwendet, das ausgewählte Objekt in Active
Directory zu suchen. Die Klasse des Objekts bestimmt, welche Textfelder (Benutzer, Computer oder
Gruppe) des Formulars für die Anzeige des Objektnamens verwendet werden.
My Memberships führt dann die Subroutine MainRoutine aus, die die Auflistung der Gruppenmitgliedschaften des im Formular eingetragenen Benutzers, des Computers oder der Gruppe vornimmt. MainRoutine wird ebenfalls aufgerufen, wenn Sie im Formular auf die Schaltfläche Show klicken oder wenn
Sie eines der Textfelder aktualisieren, indem sie neue Informationen eingeben und (Tab) drücken, um
ins nächste Feld zu springen.
Bei dem zum Auflisten der Gruppenmitgliedschaften verwendeten Code handelt es sich um die in
Lösung 1.2 erstellte Routine ADObject_MemberOf. Bei der Auswertung des Benutzers, des Computers
oder der Gruppe wird die kumulative Mitgliedschaft in dem Dictionary-Objekt oMemberOfList aufgezeichnet. Nachdem alle Mitgliedschaften aufgelistet wurden, wird die Liste an das Array aMemberOf
übertragen und an eine andere Subroutine, ReportGroups, weitergeleitet.
Die Subroutine ReportGroups ist das »Arbeitstier« dieses Werkzeugs und der Teil, den Sie an Ihr Unternehmen anpassen müssen. Sie erstellt Stringvariablen für jeden Gruppentyp (z.B. Resource Access,
70 Lösungsgruppe 1: Rollenbasierte Verwaltung
Applications, Distribution Lists), analysiert die einzelnen Gruppen im Mitgliedschaftsarray (aMemberOf), ermittelt den Gruppentyp und fügt sie in den String für den entsprechenden Gruppentyp ein.
Dies wird anhand eines Beispiels leichter verständlich.
Nehmen wir an, dass ACL_Budget_Read unser Benutzer ist. Diese Mitgliedschaft wird durch den Aufruf von ADObject_MemberOf durch MainRoutine aufgelistet und stellt ein Element des Arrays aMemberOf dar, das an die Subroutine ReportGroups übergeben wird.
ReportGroups deklariert eine Stringvariable, sACL, zum Speichern aller Gruppenmitgliedschaften für
den Ressourcenzugriff. Die For Each-Anweisung führt eine Schleife durch die einzelnen Gruppen in
aMemberOf durch und speichert die aktuelle Gruppe in sMemberOf:
For Each sMemberOf In aMemberOf
Der Code sucht diese Gruppe in Active Directory und ruft ihr Description-Attribut ab.
sGroupADsPath = ADObject_Find_UCG(sMemberOf, sDomainDN)
Set oGroup = GetObject(sGroupADsPath)
sDescription = oGroup.Get("Description")
Dann untersucht der Code das Vorhandensein eines Präfixes, indem er ermittelt, ob der Gruppenname
ein Trennzeichen (Unterstrich) enthält, durch das ein Gruppentyp angegeben wird, wie in Lösung 1.5
beschrieben wurde. An dieser Stelle zahlen sich Ihre Benennungsstandards und die Disziplin aus. Falls
wir einen Unterstrich finden, wissen wir, dass es sich um einen bestimmten Gruppentyp handelt.
aGroupName = Split(sMemberOf,"_")
If UBound(aGroupName) > 0 Then
Die Funktion Split erstellt ein Array (aGroupName) von Elementen, indem sie an jedem Unterstrich
den Gruppennamen (sMemberOf) unterteilt. Sind keine Unterstriche vorhanden, gibt die Funktion
UBound den Wert -1 zurück. Die Else-Anweisung weiter unten im Code geht davon aus, dass es sich bei
der Gruppe um eine Rollengruppe handelt.
Ist ein Präfix vorhanden, haben wir die Bestandteile des Gruppennamens im Array aGroupName. Das
erste Element, aGroupName(0), ist das Präfix. Wir sehen es uns an, um den Gruppentyp zu bestimmen.
In unserem Beispiel ACL_Budget_Read wird der folgende Code ausgeführt:
sMemberOfPrefix = aGroupName(0)
Select Case UCASE(sMemberOfPrefix)
Case "ACL"
' ACL-Gruppen (Ressourcenzugriff)
' ACL_RESSOURCENSAMMLUNG_ZUGRIFFSEBENE
' sACL = sACL & aGroupName(1) & " (" & aGroupName(2) & ")" & sDelimiter
sACL = sACL & sDescription & sDelimiter
Wir nehmen nun die Aufteilung anhand unseres Gruppenbenennungsstandards vor. Im Falle einer Ressourcenzugriffsgruppe wissen wir, dass die zweite Komponente des Gruppennamens, aGroupName(1)
oder in unserem Beispiel Budget, der Name der Ressource ist. Außerdem wissen wir, dass es sich bei
der dritten Komponente, aGroupName(2) oder in unserem Beispiel Read, um die Zugriffsebene handelt. Daher fügen wir diese Informationen in sACL ein, wobei es sich, wie Sie sich vielleicht erinnern,
um den dedizierten String zum Sammeln unserer Ressourcenzugriffsgruppen handelt. Noch besser sieht
1.6 Berichtswesen und Überwachung bei rollenbasierter Zugriffssteuerung und Verwaltung 71
es aus, wenn wir die Ressource, aGroupName(1), anhängen und die Zugriffsebene, aGroupName(2), in
Klammern einschließen.
Außerdem fügen wir ein Trennzeichen hinzu, standardmäßig das Pipe-Symbol (|), der vorher im Code
definiert wird. Das wird in Kürze von Bedeutung sein.
Beim Durchlaufen der For Each-Schleife werden alle Gruppen im Mitgliedschaftsarray aMemberOf in
derselben Weise verarbeitet.
Bei mehreren Gruppentypen wird das Beschreibungsfeld der Gruppe anstelle ihres Namens angezeigt,
da es ausführlicher und benutzerfreundlich ist. Unser Benennungsstandard für Gruppen, die für einen
Benutzer- oder Computerstandort stehen, verlangt das Präfix LOC_, gefolgt von dem aus drei Buchstaben bestehenden Flughafencode für den jeweiligen Standort, z.B. DEN für Denver. Anstelle von
DEN oder LOC_DEN wird im Bericht von My Memberships das Beschreibungsfeld der Gruppe,
»Denver, Colorado«, angezeigt.
Um My Memberships an Ihre Organisation anzupassen, brauchen Sie lediglich einen Abschnitt in der
Select Case-Struktur, der den Gruppentyp anhand seines Präfixes (oder eines anderen Elements in
Ihrem Benennungsstandard) kennzeichnet und diesen Gruppentyp in beliebiger Formatierung in den
String einfügt, der diesen Typ aufzeichnet.
Nach beendetem Durchlauf der For Each-Schleife ist die aufgelistete Gruppenmitgliedschaft (aMemberOf) in die Strings für die einzelnen Gruppentypen unterteilt. Denken Sie daran, dass jeder String
durch das Hinzufügen von Daten, z.B. des Gruppennamens, gefolgt von einem Trennzeichen (dem
Pipe-Symbol) gebildet wurde. Die nächsten Codezeilen entfernen das Pipe-Symbol hinter dem letzten
Eintrag der einzelnen Strings und verwenden dann dieses Trennzeichen, um den String in ein Array zu
unterteilen, das dann sortiert werden kann. Das sortierte Array wird anschließend wieder zu dem String
zusammengebaut, und zwar ebenfalls mithilfe des Trennzeichens. Daraus ergibt sich ein String mit sortierten Gruppen. Zum Schluss werden die einzelnen Strings in einen bestimmten Bereich (<div>) des
HTML-Codes der Seite eingefügt. Das Trennzeichen wird durch Zeilenumbrüche (<br/>) ersetzt. Bei
der Anpassung des Werkzeugs müssen Sie sicherstellen, dass die einzelnen angezeigten Gruppentypen
im HTML-Code durch ein <div>-Tag gekennzeichnet und am Ende der Subroutine ReportGroups
eingefügt werden.
Voilà! Da dieses Werkzeug Ihre Benennungsstandards widerspiegeln muss, müssen Sie es wahrscheinlich ein wenig anpassen. Ihre Änderungen dürften sich auf die Subroutine ReportGroups und die
<div>-Tags im HTML-Code beschränken.
Access Report
Das Werkzeug Access Report beantwortet die wichtige Frage: »Wer hat Zugang zu diesem Ordner?«
Leider sind in Windows keine Werkzeuge integriert, die einen so entscheidenden Bericht erstellen, aber
mit der rollenbasierten Verwaltung sind wir glücklicherweise dazu in der Lage.
Die HTML-Anwendung Access Report ist eigentlich im Kern recht einfach. Sie listet eine Gruppenmitgliedschaft, z.B. ACL_Budget_Read, auf und zeigt alle direkten und indirekten Mitglieder an. In den
Lösungen 1.1 und 1.2 wurden Skripts zur Auflistung des MemberOf-Attributs eines Benutzers oder
Computers bereitgestellt. Dieses Werkzeug verwendet eine Subroutine, Group_Members_Enum, die
beinahe identisch mit unserer Subroutine ADObject_MemberOf ist, aber die Eigenschaft Member
anstelle von MemberOf überprüft.
72 Lösungsgruppe 1: Rollenbasierte Verwaltung
Komplexer ist der HTML-Abschnitt von Access Report. Es gibt das Textfeld Group Name, in das Sie
ACL_Budget_Read eingeben können. Um das Ganze überschaubarer zu gestalten, füllen wir zwei
Dropdownlisten dynamisch mit Daten, indem wir uns die Gruppennamen mit unserem Präfix für den
Ressourcenzugriff (ACL_) ansehen und die Ressource (Budget) und die Zugriffsebene (Read) unterteilen. Anhand Ihrer Auswahl aus diesen beiden Dropdownlisten erstellen wir das Feld Group Name
neu. Meistens müssen Sie an diesem Werkzeug geringfügige Anpassungen vornehmen, damit es in
Ihrem Modell der rollenbasierten Verwaltung funktioniert.
Verwenden von Access Report
Members_AccessReport.hta befindet sich im Ordner Scripts auf dem Begleitmedium. Die HTMLAnwendung kann mit einem Doppelklick geöffnet werden, wobei Sie die Ressource und die Zugriffsebene auswählen (oder den Gruppennamen direkt eingeben) und anschließend auf Show klicken müssen. Darüber hinaus können Sie das Werkzeug über eine Befehlszeile, eine Aufgabe eines MMC-Aufgabenblocks oder einen benutzerdefinierten Kontextmenübefehl starten.
Folgen Sie bei der Verwendung eines Aufgabenblock-Aufgabe den Anweisungen in Lösung 1.3. Erstellen Sie eine Shellaufgabe für Gruppenobjekte und verwenden Sie den Prä-Windows 2000-Anmeldenamen als Parameter, der $COL<9> lautet. Die zum Erstellen eines benutzerdefinierten Kontextmenübefehls erforderlichen Schritte sind in Lösung 1.3 ausführlich beschrieben.
Grundlagen und Anpassung von Access Report
Beim Öffnen führt das Werkzeug Windows_Onload aus, zentriert das Fenster (mithilfe der Subroutine
CenterMe) und erkennt den gerade angemeldeten Benutzer und Computer (mithilfe der Subroutine
Initialize). Dann wird die Subroutine Sub Prepopulate aufgerufen, die erkennt, ob ein Argument übergeben wurde, und dieses gegebenenfalls in das Feld Group Name einfügt.
Um die Dropdownlisten mit Daten zu füllen, sucht die HTML-Anwendung in Active Directory nach
allen Gruppenobjekten mit einem Präfix, das auf die Verwendung der Gruppe zur Verwaltung des Ressourcenzugriffs hinweist. Das Werkzeug geht davon aus, dass Sie einen Benennungsstandard wie
ACL_Budget_Read verwenden, bei dem ein konfigurierbares Präfix, z.B. ACL_, gefolgt von dem
Namen der Ressource, einem zweiten Unterstrich und der Zugriffsebene verwendet wird. Wenn Sie
einen anderen Benennungsstandard nutzen, müssen Sie mit dem Werkzeug so arbeiten, dass es die
Dropdownlisten in einer für Ihr Unternehmen geeigneten Weise mit Daten füllt.
In dem Konfigurationsblock im oberen Bereich des Skripts wird die Variable sGroupsOUDN für die
Suche auf den definierten Namen gesetzt. Sie müssen sGroupsOUDN in Übereinstimmung mit Ihrer
Active Directory-Struktur festlegen.
Wenn Sie über ein Präfix verfügen, das die Gruppen für den Ressourcenzugriff kennzeichnet, z.B.
ACL_, haben Sie Glück. Sie brauchen nur noch die Variable sPrefix_ACL im Konfigurationsblock der
HTML-Anwendung zu konfigurieren, um Sie an Ihr Präfix anzupassen. Falls Ihr Benennungsstandard
kein Präfix vorsieht, müssen Sie umfangreichere Änderungen an dem Werkzeug vornehmen.
Die Routine FillResources verwendet die Subroutine All_Objects, um die Struktur von sGroupsOUDN
nach Gruppen zu durchsuchen, deren Präfix mit sPrefix_ACL übereinstimmt. Sie sortiert die Ergebnisse
und erstellt Dropdownlisteneinträge (die in HTML mit <options> gekennzeichnet werden) für die
einzelnen Ressourcen. Anpassungen sind nicht erforderlich.
Die Suche umfasst dieses Objekt sowie alle untergeordneten Container. Hoffentlich haben Sie all Ihre
Ressourcenzugriffsgruppen in einer einzigen Organisationseinheit oder einem Zweig davon unterge-
1.6 Berichtswesen und Überwachung bei rollenbasierter Zugriffssteuerung und Verwaltung 73
bracht. Sind die Gruppen jedoch über Ihre Domäne verteilt, können Sie den definierten Namen Ihrer
Domäne als sGroupsOUDN eingeben und damit das Durchsuchen der gesamten Domäne veranlassen.
Dies ist übrigens eine Schwachstelle in diesem Werkzeug. Wenn Sie eine sehr ausgedehnte Suche durchführen oder über viele Objekte verfügen, kann es eine Weile dauern, bis das Werkzeug die Dropdownlisten gefüllt hat. Sollte dies passieren, besteht die einfachste Lösung darin, das Werkzeug nicht direkt,
sondern über die Befehlszeile, eine Aufgabe in einem Aufgabenblock oder einen Kontextmenübefehl
mit einem Argument aufzurufen, das die zu analysierende Gruppe angibt. Wird die HTML-Anwendung
mit einem Argument aufgerufen, führt sie zunächst ihren Bericht aus und füllt dann die Dropdownliste
mit Daten, was zu einer höheren Leistung führt.
Die andere Lösung besteht darin, effizienteren Code zum Füllen der Dropdowlisten zu schreiben,
indem Sie eine ADO-Suche nach den mit Ihrem Präfix übereinstimmenden Gruppenobjekten durchführen. Der aktuelle Code durchsucht die Active Directory-Hierarchie ab dem von sGroupsOUDN
angegebenen Basiscontainer. Schauen Sie auf der Communitysite zu diesem Buch, http://www.intelliem.com/resourcekit, nach. Dort werden wahrscheinlich von der Community Erweiterungen zu diesem Werkzeug angeboten.
Wenn die Dropdownliste Resources gefüllt ist, kann ein Benutzer eine Ressource auswählen. Bei einer
Änderung dieser Liste wird das Ereignis choResource_OnChange ausgelöst, das dann die vom Werkzeug zuvor erstellte Gruppenliste nach allen Gruppen mit demselben Ressourcennamen durchsucht.
Anschließend sucht es nach dem zweiten Unterstrich und generiert die Dropdownliste Access Level.
Bei der Auswahl einer Zugriffsebene aus der Dropdownliste wird das Ereignis choAccess_OnChange
ausgelöst und füllt das Gruppenfeld, indem es das Präfix (sPrefix_ACL) mit der ausgewählten Ressource, einen Unterstrich und die ausgewählte Zugriffsebene hinzufügt. Mit anderen Worten, der Gruppenname wird von der in der Dropdownliste vorgenommenen Auswahl abgeleitet.
Dann listet das Werkzeug alle Gruppenmitglieder auf. Dabei trennt es die Mitglieder nach dem Objekttyp: Benutzer, Computer und andere Gruppen. Handelt es sich bei dem Mitglied um einen Benutzer,
wertet das Werkzeug aus, ob dieser Benutzer ein direktes Mitglied der ausgewählten Gruppe ist oder ein
indirektes (verschachteltes). Dieser Entwurf sollte dabei helfen, die Ausnahmen von der Regel zu
erkennen, die wir in Lösung 1.4 erörtert haben: Benutzer, denen der Zugriff auf eine Ressource direkt
und nicht über Rollen gewährt wird.
Der für die Kategorisierung von Mitgliedern verwendete Code weist große Ähnlichkeiten mit dem
Code auf, den My Memberships zur Klassifizierung von Gruppen anhand des Typs einsetzt. Diesmal ist
jedoch keine Anpassung erforderlich: Die Objektklassen des Benutzers, der Gruppe und des Computers
sind alles, was Sie brauchen. Nach der Kategorisierung werden die Mitglieder in den entsprechenden
<div>-Abschnitten des HTML-Codes angezeigt.
Was haben wir hier eigentlich vor uns? Wir sehen zwei Werkzeuge, die wertvolle Berichte erstellen,
indem sie eine disziplinierte Namenskonvention nutzen. Da wir über eine strukturierte, wohldurchdachte Namenskonvention verfügen, sind wir in der Lage, uns einen beliebigen Gruppennamen anzusehen und dabei genau zu erkennen, welchem Zweck die Gruppe dient (My Memberships). Außerdem
können wir eine Mitgliedschaftsanalyse für eine einzelne Gruppe durchführen (Access Report). Access
Report setzt unsere Namenskonvention ein, um die Datenbank (Active Directory) nach allen Gruppen
zu durchsuchen, die eine bestimmten Funktion aufweisen (Verwaltung des Ressourcenzugriffs).
74 Lösungsgruppe 1: Rollenbasierte Verwaltung
Überwachen der rollenbasierten Zugriffssteuerung
Diese Lösung weist noch eine weitere wichtige Komponente auf. Wenn Sie Auflistungen der Gruppenmitgliedschaft, z.B. My Memberships und Access Report, als Grundlage für die Berichte Ihrer rollenbasierten Zugriffssteuerung verwenden, müssen Sie darauf vertrauen, dass niemand Ihre Richtlinien
missachtet hat. Wenn Sie beispielsweise Access Report zur Beantwortung der Frage »Wer kann das
Budget lesen?« verwenden, gehen Sie davon aus, dass die Gruppe ACL_Budget_Read die einzige
Gruppe mit der Zulassungsberechtigung Lesen ist. In Lösung 1.5 habe ich Ihnen vorgeschlagen, der
Gruppe ACL_Budget_Read diese Berechtigung zuzuweisen. Einen Benutzer, der die Leseberechtigung
benötigt, fügen Sie dieser Gruppe hinzu, und zwar entweder über eine seiner Rollen oder direkt als Ausnahme von der Regel. Sie müssen sicherstellen, dass keinem anderen Sicherheitsprinzipal (Benutzer,
Gruppe oder Computer) die Zulassungsberechtigung Lesen in der Zugriffssteuerungsliste erteilt wurde;
andernfalls wäre Ihr auf der Mitgliedschaft in ACL_Budget_Read beruhender Bericht ungenau.
Glücklicherweise rettet uns auch hier unser Benennungsstandard. Um uns selbst die Zuversicht zu
geben, dass unser Modell ordnungsgemäß funktioniert – dass unsere Daten-, unsere Geschäftslogikund die Darstellungsschichten, die in Lösung 1.4 erörtert wurden, wirksam sind –, überwachen oder
durchsuchen wir einfach die Zugriffssteuerungslisten unserer Ordner und achten auf das Vorkommen
eines Sicherheitsprinzipals, der nicht mit unserem ausgewählten Präfix ACL_ beginnt! Natürlich ignorieren wir auch bekannte Sicherheitsprinzipale wie System, Administratoren, Benutzer und Jeder.
Wie geben Sie die Zugriffssteuerungslisten eines Ordners oder einer Datei aus, um diese Art der Überwachung zu erzielen? Dafür gibt es Werkzeuge wie subinacl.exe (das Sie von der Microsoft-Downloadwebsite unter http://www.microsoft.com/downloads herunterladen können), icacls.exe (Bestandteil von
Windows Server 2008 und Windows Vista), cacls.exe (Bestandteil von Windows XP) und xcacls.vbs
(das Sie ebenfalls von der Microsoft-Downloadwebsite herunterladen können). Jedes dieser Werkzeuge
bietet die Möglichkeit, Zugriffssteuerungslisten anzuzeigen. Allerdings erstellen sie sehr ausführliche
Berichte. Für unsere Zwecke müssen wir lediglich sicherstellen, dass es keine Ausnahmen von den
Regeln unserer rollenbasierten Zugriffssteuerung gibt – dass also nur solche Sicherheitsprinzipale in
Zugriffssteuerungslisten vorkommen, die unseren Richtlinien entsprechen.
Verwenden von Folder ACL Report.vbs
Daher habe ich auf dem Begleitmedium ein Skript mit dem Namen Folder ACL Report.vbs bereitgestellt, das sich im Ordner Scripts befindet. Dabei handelt es sich um einen Wrapper für icacls.exe. Er
führt icacls aus, zeichnet die Ausgabe auf und filtert dann die einzelnen Zeilen, sodass nur Ausnahmen,
d.h. unerwartete Berechtigungen, angezeigt werden.
Um Folder ACL Report auszuführen, öffnen Sie die Eingabeaufforderung, greifen auf den Ordner zu, in
dem das Skript gespeichert ist, und verwenden dann die folgende Syntax:
cscript //nologo "Folder ACL Report.vbs" "Pfad zum Ordner" E|I
Dabei geben Sie entweder E (für explicit) oder I (für inherited) als letztes Argument an, um darauf hinzuweisen, ob Sie nur explizite Zugriffssteuerungseinträge anzeigen oder vererbte Einträge einbeziehen
wollen. Wenn ausschließlich explizite Einträge angezeigt werden, ist der Bericht erheblich kürzer,
sodass Sie sich auf Unterschiede und Änderungen unterhalb des angegebenen Ordners konzentrieren
können. Das Skript zeigt standardmäßig alle Berechtigungen (einschließlich der vererbten) für den festgelegen Ordner an, da diese Information wichtig ist, um verstehen zu können, was unterhalb dieses
Ordners geschieht. Der Filter für explizite oder vererbte Einträge wird auf die Dateien und Ordner angewendet, die sich unterhalb des angegebenen Ordners befinden.
1.6 Berichtswesen und Überwachung bei rollenbasierter Zugriffssteuerung und Verwaltung 75
Sie müssen die Filterung festlegen, die das Skript durchführt, indem Sie den folgenden Codeblock im
Skript ändern:
aTranslatePerms = Array(_
"NT AUTHORITY\System", "" , _
"BUILTIN\Administrators","", _
"CREATOR OWNER:(OI)(CI)(IO)(F)","", _
"CONTOSO\ACL_", "" )
Das Array aTranslatePerms enthält Elementepaare. Es wird dazu verwendet, die von icacls generierten
Berechtigungen für das Berichtswesen in eine andere Form zu verwandeln. Das erste Element eines
jeden Paares ist das Element, das icacls erstellt. Bei dem zweiten handelt es sich um das Element, das
Sie anzeigen wollen. Wenn sie einen leeren String (zwei doppelte Anführungszeichen "") angeben,
zeigt das Skript nur die Berechtigung für den an der Befehlszeile angegebenen Ordner und nicht für
untergeordnete Dateien oder Ordner an. Die vierte Zeile dieses Codeblocks weist beispielsweise das
Skript an, alle Vorkommen der Berechtigung zu ignorieren, die dem Ersteller-Besitzer die vollständige
Kontrolle gewährt. Diese Berechtigung wird nur für den angegebenen Ordner, nicht jedoch für untergeordnete Dateien oder Ordner angezeigt.
Sie können im Array Teilstrings verwenden. Die zweite und die dritte Zeile weisen das Skript an, alle
Berechtigungen zu überspringen, die den Identitäten System und Administratoren zugewiesen wurden.
Die letzte Zeile ist ein wichtiges Element, das Sie anpassen müssen: Sie weist das Skript an, Berechtigungen für diese Gruppen innerhalb unserer Domäne zu ignorieren, deren Namen mit ACL_ beginnen,
da diese mit den Vorschriften unserer rollenbasierten Zugriffssteuerung übereinstimmen.
Im Folgenden sehen Sie ein Beispiel für das Skript in Aktion:
c:\DEMOS>cscript //nologo "Folder ACL Report.vbs" "C:\data" e
FOLDER TREE FILTERED ACL REPORT
C:\data NT SERVICE\TrustedInstaller:(I)(F)
C:\data NT SERVICE\TrustedInstaller:(I)(CI)(IO)(F)
C:\data NT AUTHORITY\SYSTEM:(I)(F)
C:\data NT AUTHORITY\SYSTEM:(I)(OI)(CI)(IO)(F)
C:\data BUILTIN\Administrators:(I)(F)
C:\data BUILTIN\Administrators:(I)(OI)(CI)(IO)(F)
C:\data BUILTIN\Users:(I)(OI)(CI)(RX)
C:\data BUILTIN\Users:(I)(CI)(AD)
C:\data BUILTIN\Users:(I)(CI)(WD)
C:\data CREATOR OWNER:(I)(OI)(CI)(IO)(F)
C:\data\Budget ACCOUNT UNKNOWN:(OI)(M)
C:\data\Budget ACCOUNT UNKNOWN:(CI)(R)
C:\data\Budget ACCOUNT UNKNOWN:(OI)(CI)(RX)
C:\data\Accounting\2007 CONTOSO\jfine:(OI)(CI)(M)
Successfully processed 9 files; Failed processing 0 files
Das Skript wurde für den Ordner C:\Data ausgeführt. Alle Berechtigungen für diesen Ordner wurden
angezeigt. Wieder können Sie icacls.exe /? verwenden, um herauszufinden, was die Anzeige der
Berechtigungen bedeutet, allerdings handelt es sich hier um Standardberechtigungen für einen Windows Server 2003- oder Windows Server 2008-Ordner im Stammverzeichnis des Festplattenlaufwerks.
Unter dem Stammdatenordner befinden sich zwar noch mehrere andere Ordner, das Skript hat jedoch
nur vier unerwartete Berechtigungen angezeigt. Der Ordner Budget verfügt über drei Instanzen, wobei
76 Lösungsgruppe 1: Rollenbasierte Verwaltung
einer Gruppe Berechtigungen erteilt wurden und die Gruppe anschließend gelöscht wurde. Dabei blieb
ein Zugriffssteuerungseintrag mit einer Sicherheitskennung (Security Identifier, SID) übrig, die in
Active Directory nicht aufgelöst werden kann. Darüber hinaus hat der Benutzer mit dem Namen jfine
die explizite Berechtigung erhalten, den Ordner C:\Data\Accounting\2007 zu ändern. Dies entspricht
nicht unserem Modell der rollenbasierten Zugriffssteuerung. Sein Benutzerkonto sollte einer entsprechenden Befugnisverwaltungsgruppe für den Ressourcenzugriff hinzugefügt werden, z.B.
ACL_Accounting 2007_Edit. Wir wollen untersuchen, wie, wann, von wem und warum diese Berechtigung erteilt wurde.
Die nächsten Schritte mit Folder ACL Report.vbs
Folder ACL Report.vbs ist nützlich, um Zugriffssteuerungseinträge ausfindig zu machen, die keiner
begrenzten Anzahl erwarteter Identitäten, z.B. System und Administratoren, oder einer Gruppe mit
unserem Präfix ACL_ für die rollenbasierte Zugriffssteuerung zugewiesen wurden. Das Skript sollte
eine Anregung sein, über Änderungen nachzudenken, die Sie anbringen können, um seine Leistungsfähigkeit zu erhöhen.
In seiner derzeitigen Form bestätigt das Skript zum Beispiel nicht, dass die einer Gruppe zugewiesenen
Berechtigungen erwartet werden. Weder überprüft es zum Beispiel, ob einer Gruppe mit dem Namen
ACL_Budget_Read tatsächlich die Leseberechtigung erteilt wurde, noch markiert es einen problematischen Ordner, für den dieser Gruppe zusammen mit der Leseberechtigung auch die Berechtigung
Ändern erteilt wurde.
Für diese offensichtliche Lücke gibt es Gründe. In einer gut verwalteten Umgebung werden Ordner automatisch bereitgestellt, wie Sie in Lösungsgruppe 2 sehen können. Daher sind wir bei Contoso Ltd. zuversichtlich, dass der _Read-Gruppe tatsächlich eine Leseberechtigung erteilt wurde, da dieser Vorgang
automatisiert und protokolliert wird. Darüber hinaus wurde die NTFS-Überwachung eingerichtet, um
erfolgreiche Änderungen an NTFS-Berechtigungen zu beobachten. Nach der Bereitstellung des Ordners
werden daher alle Änderungen an der Zugriffssteuerungsliste im Sicherheitsprotokoll vermerkt.
Allerdings können wir dieses Skript auch so erweitern, dass es den Gruppennamen anhand unserer
Namenskonvention überprüft und erkennt, ob die Zugriffsebene der Gruppe auf Lesen gesetzt ist. Das
Skript kann ermitteln, ob der Gruppe tatsächlich die Berechtigungen Lesen und Ausführen (RX), und
zwar nur diese Berechtigungen zugewiesen wurden. Wenn Sie unserer Onlinecommunity unter http://
www.intelliem.com/resourcekit beitreten, werden Sie wahrscheinlich feststellen, dass bereits jemand
eine solche Lösung angeboten hat.
Zusammenfassung
In dieser Lösung wurden drei Arten von Werkzeugen vorgestellt, die ein rollenbasiertes Verwaltungsmodell für die Bereitstellung entscheidender Berichte einsetzen. Jedes Werkzeug stützt sich auf die
strikte Einhaltung eines logischen, strukturierten Benennungsstandards für unsere Gruppen.
My Memberships zeigt die Verwaltung eines Benutzers an, indem es dessen Gruppenmitgliedschaften
auflistet und anhand des Benennungsstandards die Gruppen für die Anzeige sinnvoll kategorisiert und
sortiert. Es verwendet sogar stellenweise die Attribute zur Beschreibung von Gruppen, um den Bericht
leicht verständlich zu gestalten.
Access Report (Members_AccessReport.hta) beginnt mit einer einzigen Gruppe, die zur Verwaltung des
Zugriffs auf einer bestimmten Ebene und auf eine bestimmte Ressource verwendet wird, und listet alle
1.7 Einrichten der rollenbasierten Verwaltung 77
Benutzer, Computer und weitere Gruppen auf, die zu dieser Gruppe gehören. Die Mitglieder werden
anhand der Objektklasse und der Tatsache, ob es sich um ein direktes oder indirektes (verschachteltes)
Mitglied handelt, in Kategorien eingeteilt. Dieses Werkzeug setzt beim Durchsuchen von Active Directory unseren Benennungsstandard ein, der das Präfix ACL_, gefolgt vom Namen der Resource, einem
weiteren Unterstrich und der Zugriffsebene vorgibt, und erstellt dynamisch eine Reihe benutzerfreundlicher Dropdownlisten, die uns dabei helfen, genau die richtige Gruppe zu finden.
Die Berichte beruhen lediglich auf den Informationen, die uns unsere Datenbank, Active Directory, liefert. Um die Genauigkeit der Berichte zu gewährleisten, müssen wir die Umsetzung unserer rollenbasierten Verwaltung durchsuchen und sicherstellen, dass die Regeln befolgt wurden. Das Skript Folder
ACL Report ist ein Beispiel. Es durchsucht die Zugriffssteuerungslisten einer Ordnerstruktur, um
Zugriffssteuerungseinträge zu finden, die nicht zu Sicherheitsprinzipalen zugewiesen wurden, die mit
dem Gruppenbenennungsstandard unserer rollenbasierten Zugriffssteuerung übereinstimmen. Dieses
letzte Werkzeug demonstriert hauptsächlich die Art der einfachen Überwachung, die Sie vornehmen
können, um die Einhaltung der Regeln sicherzustellen. Wenn Sie gewährleisten können, dass die
Regeln befolgt werden, können die Berichte von der Datenschicht – Active Directory – getrost als
genau angesehen werden.
1.7 Einrichten der rollenbasierten Verwaltung
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Registrierung, Kommunikation, Prozess, Leitung
Zusammenfassung
Beantwortung von Fragen und Bereitstellung einer Anleitung zu
den geschäftlichen und technischen Herausforderungen beim
Wechsel zur rollenbasierten Verwaltung
Vorteile
Verteidigen Sie die rollenbasierte Verwaltung gegenüber Gleichgestellten und Vorgesetzten. Nehmen Sie allgemeine Herausforderungen im Hinblick auf die Gültigkeit und Realisierbarkeit der rollenbasierten Verwaltung an. Vermeiden Sie Fallstricke und nutzen
Sie Anleitungen auf Ihrem Weg zur rollenbasierten Verwaltung.
Einführung
Die rollenbasierte Verwaltung, die wir in den Lösungen 1.4 bis 1.6 vorgestellt haben, ist ein leistungsfähiger Ansatz zur Anpassung der Informationstechnik an die Geschäftsstrategie, die Anforderungen
der Organisation und die Arbeitsaufgaben. Wie ich in der Einleitung zu diesem Kapitel vorgeschlagen
habe, ist es fast so einfach, wie ich es mir im IT-Bereich nur vorstellen kann. Der ROI ist sehr groß, und
sofern Sie nicht nach Stunden bezahlt werden oder ein sehr kleines, statisches Unternehmen haben,
brauchen Sie ein Mindestmaß an rollenbasierter Zugriffssteuerung und eine rollenbasierte Verwaltung
auf breiter Ebene.
78 Lösungsgruppe 1: Rollenbasierte Verwaltung
Übersicht über die rollenbasierte Verwaltung
In Lösung 1.4 wurden die Konzepte für die Daten, die Geschäftslogik und die Darstellung der rollenbasierten Verwaltung vorgestellt. Sie brauchen eine Datenbank zur Pflege der Daten Ihres Modells, eine
Geschäftslogik, um die Anpassung der IT-Administration an die Geschäftsanforderungen und Arbeitsabläufe zu steuern, und eine Reihe von Werkzeugen zur Darstellung des Modells in einer für Administratoren und sogar nicht technisch versierte Ressourcenbesitzer angenehmen Weise. Darüber hinaus
müssen Sie alle Befugnisse einrichten, die Sie verwalten wollen. Um die rollenbasierte Zugriffssteuerung zur Verwaltung des Ressourcenzugriffs zu verwenden, müssen Sie beispielsweise Berechtigungen
zu Dateien, Ordnern, Druckern und anderen Ressourcen zuweisen, die mit Zugriffssteuerungslisten
gesichert werden können. Die Berechtigungen müssen auf Gruppen in der von Ihnen eingerichteten
rollenbasierten Zugriffssteuerung verweisen.
In dieser technischen Referenz werde ich Ihre Kenntnisse dieser Komponente erweitern, da sie sich auf
verschiedene Aspekte der IT-Administration bezieht, darunter auch die Verwaltung von Dateien und
Ordnern, Gruppenrichtlinien, Druckern, die Bereitstellung von Anwendungen usw. Außerdem werden
wir weiterhin Werkzeuge entwickeln, um die Darstellungsschicht zu vereinfachen: die Administration,
die Verwaltung und die Berichterstellung in der rollenbasierten Verwaltung. Die ersten Werkzeuge
dieser Art wurden in Lösung 1.6 vorgestellt.
Lösung 1.5 befasste sich schwerpunktmäßig mit der Daten- und Geschäftslogikschicht. Obwohl Werkzeuge wie Microsoft Identity Lifecycle Manager (ILM), System Center Configuration Manager und
Hilfsprogramme anderer Anbieter Alternativen bieten, haben wir uns auf eine Datenbank konzentriert,
die Sie bereits in Ihrem Unternehmen haben: Active Directory. Diese Datenbank wird über mehrere
Server (Domänencontroller) verteilt, ist äußerst effizient in der Replikation, bildet sicherlich einen
Schwerpunkt in Ihrer Sicherungs-, Wiederherstellungs- und Notfallplanung, ist eine bekannte Technologie und relativ leicht einzusetzen. Die Geschäftslogik kann mithilfe von Gruppen und deren Verschachtelung in Active Directory aufgebaut werden. All das kann mit geringen oder sogar ganz ohne
Kosten erfolgen.
Gruppen und Gruppenverwaltung als Grundlage
Letztendlich stützt sich unser Ansatz zur rollenbasierten Verwaltung weit gehend auf die Gruppenverwaltung – die anspruchsvolle, nuancierte, detaillierte und disziplinierte Gruppenverwaltung. Ein Vorteil, den ich bis jetzt noch nicht erwähnt habe, besteht darin, dass Sie sich selbst auf einen einfachen
Wechsel zu fortgeschritteneren Verwaltungswerkzeugen vorbereiten, wenn Sie Gruppen als Grundlage
verwenden. Viele Systemverwaltungswerkzeuge, darunter Microsoft System Center Configuration
Manager 2007 und andere, nicht von Microsoft stammende Programme, können Gruppen verwenden,
um festzulegen, welche Benutzer oder Computer bestimmte Anwendungen oder Konfigurationen
erhalten. Wenn Sie Ihre Datenbank und Ihre Geschäftslogik in Active Directory aufbauen, können Sie
daher leicht anspruchsvollere Werkzeuge einsetzen.
Das Arbeiten mit Gruppen ist einfach. Systemeigene Werkzeuge wie das Snap-In Active DirectoryBenutzer und -Computer ermöglichen die Verwaltung der Gruppenmitgliedschaften, wobei es nicht
allzu schwierig ist, benutzerdefinierte Werkzeuge zu erstellen, die auch mit Gruppen arbeiten, wie wir
in dieser Lösung gesehen haben. Die Lösungen der Lösungsgruppe 8, »Eine neue Sichtweise der Verwaltung von Gruppen und Mitgliedschaften«, ermöglichen eine noch effizientere Vorgehensweise.
Wenn Gruppen als Datencontainer verwendet werden, um zu verfolgen, wer welchen Rollen angehört
oder welche Befugnisse verwaltet werden, bieten sie eine gute Sichtbarkeit für diese Informationen, da
Sie die Mitglieder und MemberOf-Attribute von Active Directory in Form einer Abfrage Ihrer Datenschicht ganz einfach auflisten können.
1.7 Einrichten der rollenbasierten Verwaltung 79
Schlechte Erfahrungen mit der Gruppenverwaltung in der Vergangenheit
Leider haben Gruppen eine dunkle Vergangenheit, die bei vielen IT-Experten durch deren Erfahrungen
bei der Windows-Administration Narben hinterlassen hat. Zu Zeiten von Windows NT 4.0 und älteren
Versionen boten Gruppen sehr begrenzte Verschachtelungsmöglichkeiten: Globale Gruppen konnten in
lokalen Gruppen verschachtelt werden. Das war alles. Die optimale Vorgehensweise bestand darin,
Benutzer in globalen Gruppen und globale in lokalen Gruppen zu verschachteln und dann einer lokalen
Gruppe Berechtigungen zuzuweisen.
Das Problem bestand darin, dass lokale Gruppen nur in der SAM-Datenbank (Security Accounts
Management) des Servers oder der Arbeitsstation, nicht aber in der Domäne existierten. War Ihr Budget
auf vier Server verteilt, benötigten Sie daher vier getrennte Sätze lokaler Gruppen, d.h. einen pro Server, wenn Sie die optimale Vorgehensweise wählten. Diese Vorgehensweise war in größeren, komplexen Organisationen recht mühsam, sodass viele darauf zurückgegriffen haben, alle Gruppen als
globale Gruppen anzulegen. Da diese Gruppen nicht ineinander verschachtelt werden konnten, stellte
dieser Ansatz keine Hierarchie bereit, sodass es keine Möglichkeit gab, die Geschäftslogik in einem
Gruppenmodell darzustellen. Darüber hinaus war die Anzahl der Konten, die in einer einzelnen
Domäne unterstützt werden konnten, erheblich begrenzt. Dadurch scheiterte alles schnell.
All das hat sich mit der Einführung von Active Directory geändert. Sobald sich eine Domäne auf der
Domänenfunktionsebene von Windows 2000 oder höher befand, stand ein neuer Gültigkeitsbereich für
Gruppen (lokale Domäne) in der gesamten Domäne zur Verfügung, wobei das Verschachteln globaler
Gruppen in globalen Gruppen oder lokaler Domänengruppen in lokalen Domänengruppen möglich
wurde. Universelle Gruppen stehen ebenfalls zur Verschachtelung zur Verfügung. Computer lassen sich
jetzt leicht zu Gruppen hinzufügen, und die Gültigkeitsbereiche und Typen der Gruppen sind leicht
umzuwandeln. Letztendlich gibt es praktisch keine Begrenzung in der Anzahl der Objekte, die in einer
Active Directory-Domäne unterstützt werden können. Daher ist das Leben jetzt viel einfacher.
Allerdings haben viele IT-Experten schlechte Erfahrungen gemacht, was deutlich spürbar wird, wenn
Sie das Thema Gruppenverwaltung anschneiden. Entweder glauben sie, bereits alles zu wissen, was es
über Gruppen zu wissen gibt, oder sie schrecken zurück und denken fälschlicherweise, dass die Gruppenverwaltung immer noch schwierig ist. Es kann viel Arbeit bedeuten, diese schlechten Erfahrungen
hinter sich zu lassen.
Falls dies für Sie komisch klingt, dürfen Sie sich glücklich schätzen! Ich habe bei vielen Kunden gearbeitet, wo wir bei der Planung einer rollenbasierten Verwaltungsstrategie tatsächlich die Wörter »globale Gruppe« und »lokale Domänengruppe« aus der Diskussion ausklammern mussten! Oft wollen sich
Administratoren gleich auf die Technik, das Wie, stürzen und übergehen dabei die wichtigeren Fragen
nach dem Warum, Was, Wann, Wo und Wer. Ausnahmslos führen sie letztlich das ein, was ihrer Meinung
nach von vorrangiger technischer Bedeutung ist, ohne zunächst in die Zukunft zu blicken, die wunden
Punkt, die sich klären ließen, zu erkennen und zu verstehen, dass es keinen Spickzettel gibt, von dem sie
die Lösung ablesen können. Die rollenbasierte Verwaltung – die Analyse, der Entwurf, die Einrichtung,
die Unterstützung und die Fehlersuche – bringt Arbeit mit sich. Aber sie zahlt sich aus!
Vorstellen und Verteidigen der rollenbasierten Verwaltung
Wenn Sie die Vorteile der rollenbasierten Verwaltung erklären müssen, schlage ich Ihnen vor, mit den
wunden Punkten zu beginnen. Bitten Sie die wichtigsten Beteiligten um die Beantwortung der folgenden Fragen:
„ Was kann <Name eines Benutzers> tun und wozu hat er Zugang?
80 Lösungsgruppe 1: Rollenbasierte Verwaltung
Welche Anwendungen sollten auf einem neuen Computer installiert werden, wenn <Name eines
Benutzers> seinen Computer verliert?
„ Wer kann Änderungen an <Name einer heiklen Ressource> vornehmen?
„ Ein neuer Benutzer wird eingestellt und braucht denselben Zugang wie <Name eines Benutzers>.
Was ist das?
Wenn Ihnen die Beteiligten all diese Fragen beantworten können, wird Ihre Umgebung bereits recht gut
verwaltet. Aller Wahrscheinlichkeit nach können sie es aber nicht, denn sonst würden Sie diese
Lösungsgruppe nicht lesen.
Nachdem die wunden Punkte geklärt sind, sollten Sie einige der Werkzeuge aus dieser Lösungsgruppe
in der Praxis vorführen. Halten Sie einige Beispiele bereit, die bereits in Ihrer Umgebung erstellt wurden und die Leistungsfähigkeit der rollenbasierten Verwaltung verdeutlichen.
Fangen Sie dann an zu erläutern, wie dies erreicht werden kann. Verwenden Sie dabei nicht die Begriffe
»globale Gruppen« und »lokale Domänengruppen«. Sprechen Sie stattdessen von »Rollengruppen«
und »Befugnisverwaltungsgruppen«. Konzentrieren Sie sich auf die Funktion der Gruppen und nicht
auf deren Umsetzung. Erst wenn alles andere geklärt wurde, müssen Sie sich auch Gedanken darüber
machen, welche Arten von Gruppen global sind (Rollengruppen) und bei welchen Gruppen es sich um
lokale Domänengruppen handelt (die meisten Befugnisverwaltungsgruppen).
„
»Werden das nicht zu viele Gruppen?«
Ich habe in dieser Lösungsgruppe mehrere Male auf die Tatsache hingewiesen, dass die rollenbasierte
Verwaltung eine beträchtliche Anzahl von Gruppen in Active Directory nach sich ziehen kann. Das ist
wahrscheinlich die Hauptsorge, die in Diskussionen über diesen Ansatz zur rollenbasierten Verwaltung
zum Ausdruck gebracht wird.
Befassen wir uns nun mit diesen Bedenken. Ja, der Ansatz bringt mehr Gruppen mit sich. Bei der vollständigen Umsetzung haben Sie mehrere Gruppen für jede Ressource und eine für jede Zugriffsebene.
Das allein erhöht die Anzahl der Gruppen im Verzeichnisdienst.
Der Schlüssel zur Behandlung dieses Problems liegt darin, sich selbst und Ihr Team darin zu erinnern,
welche Alternativen bestehen: mehrere Zugriffssteuerungseinträge in Zugriffssteuerungslisten für mehrere Ordner in mehreren Freigaben auf mehreren Servern oder aber mehrere Gruppen in einer einzigen,
zentralen, replizierten, gut zu verwaltenden Datenbank (Active Directory).
Denken Sie an das Szenario aus Lösung 1.4 mit Budgetressourcen, die über vier verschiedene Server
verteilt sind. Wie schwierig ist es, jene Zugriffssteuerungslisten zu verwalten und anzuzeigen, wer
Zugang zu diesem Budget hat? Sehr schwierig! Wenn wir die Befugnisse Lesen, Bearbeiten und Vollzugriff auf das Budget anwenden, haben wir mindestens zwölf Zugriffssteuerungseinträge (je drei
Befugnisse für vier Server). Eigentlich sind es sogar mehr, weil Bearbeiten bei einer guten Umsetzung
mehrere Zugriffssteuerungseinträge erfordert, wie Sie in der nächsten Lösungsgruppe erfahren werden.
Bei der Verwaltung dieser Ressource müssen wir mit all diesen Zugriffssteuerungseinträgen arbeiten:
Gruppen mit diesen Zugriffssteuerungseinträgen hinzufügen oder entfernen und, was am mühsamsten
ist, die Zugriffssteuerungseinträge durchsuchen und analysieren, um eine Überwachung vorzunehmen
und Berichte zu erstellen.
Bei vorhandener rollenbasierter Verwaltung haben wir noch genauso viele Zugriffssteuerungseinträge,
aber wir brauchen Sie nicht mehr zu verwalten. Wir müssen lediglich drei Gruppen verwalten:
ACL_Budget_Read, ACL_Budget_Edit und ACL_Budget_Full Control. Wir haben die Anzahl der Verwaltungspunkte tatsächlich um 75 Prozent reduziert (zwölf zu verwaltende Zugriffssteuerungseinträge
im Vergleich zu drei zu verwaltenden Gruppen)!
1.7 Einrichten der rollenbasierten Verwaltung 81
Nach meinen Erfahrungen sind es IT-Experten gewohnt, mit Zugriffssteuerungslisten und Berechtigungen zu arbeiten, sodass sie einfach ignorieren, wie viel Zeit dafür aufgewendet (verschwendet) wird.
Wenn Sie beim Aufzeigen der wunden Punkte in Ihrem Unternehmen gute Arbeit geleistet haben, werden
Ihre Teammitglieder den Handel erkennen, den Sie eingehen: Sie tauschen die Verwaltung unzähliger
Zugriffssteuerungseinträge gegen die Verwaltung einiger zusätzlicher Gruppen. Es lohnt sich wirklich!
Nun ergeben sich zwei weitere Auswirkungen durch die Pflege mehrerer Gruppen in Active Directory.
Die erste ist der Bedarf an Werkzeugen, mit denen diese Gruppen verwaltet werden können. Glücklicherweise ist selbst das Snap-In Active Directory-Benutzer und -Computer leichter zur Verwaltung der
Gruppenmitgliedschaft einzusetzen als der ACL-Editor zur Verwaltung von Berechtigungen. Aber wir
brauchen noch bessere Werkzeuge. Wir haben in dieser Lösungsgruppe mehrere entwickelt und stellen
in Lösungsgruppe 8 weitere vor. Die zweite Auswirkung betrifft die Größe des Sicherheitstokens eines
Benutzers. Dieses Thema behandeln wir in einem Abschnitt weiter hinten in dieser Lösung. Wenn wir
aber davon ausgehen, dass Sie Ihr rollenbasiertes Verwaltungsmodell gut entwerfen, zentralisiert und
verringert es durchaus die Verwaltungslast und reduziert damit Ihre Gesamtbetriebskosten.
Der Weg zur rollenbasierten Verwaltung
Der Weg zur rollenbasierten Verwaltung ist komplex – nicht vom technischen Standpunkt aus, da es
sich lediglich um Gruppenverwaltung handelt, aber vom geschäftlichen.
Analysieren der Umgebung
Nachdem Sie für Ihre Bemühungen die Unterstützung der Geschäftsleitung erhalten haben, ist der erste
Schritt die Analyse Ihrer Umgebung:
„ Bestimmen Sie die Befugnisse, die Sie verwalten wollen. Ressourcengruppen erfordern eine
Zugriffssteuerung? Welche Anwendungen wollen Sie bereitstellen und verwalten? Welche Konfiguration, z.B. zugeordnete Laufwerke, Drucker und Gruppenrichtlinien, wird bereitgestellt? Denken Sie daran, dass im Kontext der rollenbasierten Verwaltung der Begriff »Befugnis« immer etwas
Positives oder das Ermöglichen einer Tätigkeit bedeutet. Nehmen Sie beispielsweise an, Sie versuchen, die Benutzer davon abzuhalten, persönliche Desktophintergründe auf den Computern im
Konferenzraum und in anderen öffentlichen Bereichen einzusetzen. Sie verwalten die Befugnis, auf
einem mit Einschränkungen versehenen Computer zu arbeiten. Obwohl »Einschränkungen« und
»Befugnis« in anderen Zusammenhängen widersprüchlich klingen, bilden sie die zwei Seiten einer
Medaille in der rollenbasierten Verwaltung. Sie geben sich selbst die Möglichkeit, sich keine Sorgen mehr über diese Computer machen zu müssen, nicht wahr? Bei diesem Vorgang werden Ihre
Befugnisverwaltungsgruppen angelegt.
„ Bestimmen Sie die Ausnahmen, die Sie verwalten müssen. Schritt wird oft übersehen, ist aber
sehr wichtig. Manche Befugnisse erfordern Ausnahmen. Vielleicht wollen Sie beispielsweise die
automatische Bereitstellung von Sicherheitsaktualisierungen an alle Clientcomputer in Ihrer
Domäne verwalten, sodass alle Computer innerhalb von 24 Stunden Aktualisierungen erhalten und
automatisch neu gestartet werden, um sicherzustellen, dass die Aktualisierungen wirksam werden.
Sobald Sie eine Regel festlegen, finden Sie wahrscheinlich eine Ausnahme von der Regel. Vielleicht gibt es zum Beispiel einen Computer, auf dem ein langwieriger Algorithmus zur Datenanalyse ausgeführt wird, dessen Fertigstellung 48 Stunden in Anspruch nimmt. Wenn eine Aktualisierung einen Neustart verursacht, schlägt die Analyse fehl. Sie sollten eine Befugnis erteilen, die von
der Regel für die Aktualisierung und den Neustart ausgeschlossen ist. Diese Befugnis wird dann
durch eine Gruppe repräsentiert, die möglicherweise den Namen UPD_Update Reboot Exceptions
82 Lösungsgruppe 1: Rollenbasierte Verwaltung
trägt und zum Filtern eines Gruppenrichtlinienobjekts mit den für diese Ausnahmen geeigneten
Einstellungen verwendet werden kann. Aufgrund der Festlegung von Ausnahmen werden daher bei
dieser Analyse auch Befugnisverwaltungsgruppen zur Verwaltung von Ausnahmen angelegt.
„ Bestimmen Sie die mit diesen Befugnissen verknüpften Rollen. Schauen Sie sich an, welche
Benutzer und Computer derzeit die von Ihnen festgelegten Befugnisse haben. Sie finden wahrscheinlich einige Gruppen, einige einzelne Benutzer und vielleicht einige Computer. Arbeiten Sie
die Beziehungen heraus, auf die Rollendefinitionen nahe legen. Durch diese Vorgehensweise erhalten Sie Ihre Rollengruppen.
„ Bestimmen Sie die Datenquellen. Welche Datenquellen sind vorhanden, um die Definition von
Rollen zu vereinfachen? Ihre Personaldatenbank ist gewiss ein wertvoller Informationsspeicher, der
Benutzerrollen definieren kann. Ihr Computerinventarverzeichnis kann bei der Festlegung von
Computerrollen helfen, z.B. Rollen für Desktopcomputer im Gegensatz zu Laptops.
Definieren der Namenskonvention und der Verfahren
Nutzen Sie die Anleitungen aus dieser technischen Referenz beim Entwurf Ihres rollenbasierten Verwaltungsmodells. Stellen Sie Namenskonventionen auf und legen Sie konsistente Verfahren zur Verwaltung von Rollen und Befugnissen fest.
Zusammenzufassend möchte ich noch einmal wiederholen, was wir zum Thema Namenskonventionen
erörtert haben: Ich empfehle eine Namenskonvention, die Präfixe nutzt, um den Gruppentyp anzugeben,
z.B. ACL für Ressourcenzugriffsgruppen und APP für Gruppen zur Bereitstellung von Anwendungen.
Verwenden Sie ein Trennzeichen, z.B. einen Unterstrich, um die Schlüsselkomponenten des Gruppennamens voneinander zu trennen, z.B. ACL_2008 Budget_Read oder APP_Visio. Die Schlüsselkomponenten, die Sie im Gruppennamen trennen müssen, sind das Präfix (ACL oder APP) und die Art der Berechtigungen, die Sie der Gruppe zuweisen (in unserem Budget-Beispiel Read). Verwenden Sie dasselbe
Trennzeichen nicht an anderen Stellen des Namens. (Beachten Sie das Leerzeichen im Gruppennamen
2008 Budget.) Diese Vorgehensweise erlaubt Ihnen, Trennzeichen einzusetzen, um einen Gruppennamen
in benutzerdefinierten Skripts und Werkzeuge zu zerlegen.
Das Ziel unserer Namenskonvention sollte darin bestehen, einen logischen Standard aufzustellen, für
dessen Verwendung es drei Möglichkeiten gibt. Erstens sollte die Konvention das schnelle Auffinden
von Gruppen ermöglichen. Wir haben gesehen, dass es einfacher ist, die richtige Ressourcenzugriffsgruppe zu finden, wenn wir einem Ordner eine Berechtigung zuweisen, ACL_ eingeben und dann aus
einer Liste von Gruppen mit diesem Präfix eine Auswahl treffen können. Dabei verringert sich die
Gefahr, dass wir irrtümlich eine Gruppe eines anderen Typs verwenden. Zweitens sollte die Konvention
die Überwachung vereinfachen. Lösung 1.6 hat gezeigt, wie einfach es ist, eine Ordnerstruktur nach
einer Berechtigung für ein Objekt zu durchsuchen, dessen Name nicht mit ACL_ anfängt, um sicherzustellen, dass andere Gruppentypen nicht falsch verwendet werden. Drittens sollten die Gruppennamen
das Erstellen von Skripts ermöglichen, die den Standard verwenden, um den Gruppennahmen zu unterteilen, wieder zusammenzusetzen und den Zweck der Gruppe zu verstehen.
Legen Sie fest, wie Gruppen erstellt werden. Welche Felder müssen ausgefüllt werden – z.B. Beschreibung und Anmerkung – und was sollten diese Felder enthalten? Welcher Gültigkeitsbereich ist der richtige (an dieser Stelle können Sie über globale und lokale Domänengruppen diskutieren) für die einzelnen Gruppentypen? Wie müssen Gruppen verschachtelt werden? Welche Werkzeuge und Skripts
sollten verwendet werden? Wer sollte befugt sein, die Mitgliedschaft verschiedener Gruppen zu erstellen, zu ändern und zu verwalten? Welche Vorgehensweise ist zur Deaktivierung und eventuellen
Löschung einer Gruppe erforderlich?
1.7 Einrichten der rollenbasierten Verwaltung 83
Auffordern zur Disziplin
Im nächsten Schritt sollten Sie festlegen, wie Sie eine disziplinierte Einhaltung des Entwurfs und des
Verfahrens unterstützen und fordern können. Die Führungsqualitäten sowie eine ausführliche Dokumentation können die Disziplin stärken, aber ich möchte Ihnen etwas Zeit sparen: Sie werden wahrscheinlich feststellen, dass Ihre rollenbasierte Verwaltung nicht strikt eingehalten wird. Die systemeigenen Werkzeuge von Microsoft erfordern zu viele Klicks und nehmen keine Validierung der Eingaben
anhand Ihrer Geschäftsanforderungen vor.
Daher ist Ihnen gut damit gedient, Werkzeuge zu erstellen, die Gruppen bereitstellen und deren Erstellung und Verwaltung automatisieren. Wenn Ihre Werkzeuge Ihren Entwurf durchsetzen und anwenden
und wenn Ihre Administratoren Ihre Werkzeuge verwenden, weil Sie sie effizient gestaltet und gut
zugänglich gemacht haben, ist die Wahrscheinlichkeit größer, dass Sie Ihr Ziel erreichen.
Wenn Sie die Möglichkeit haben, die Disziplin bei der rollenbasierten Verwaltung zu verstärken, sollten
Sie es tun! Dies kann geschehen, indem Sie Werkzeuge erstellen und dann dafür sorgen, dass deren Verwendung die einzige Möglichkeit ist, die die Administratoren zur Verwaltung von Gruppen haben.
Dazu sind einige Tricks erforderlich, die in Lösungsgruppe 8 ausführlich beschrieben werden. Kurz
gesagt, Sie müssen die Delegierung aufheben, die den Administratoren die Verwaltung von Gruppen
erlaubt. Ja – Sie hindern sie daran, Gruppen in Active Directory zu erstellen oder zu ändern. Sie kodieren Ihre Werkzeuge so, dass die Gruppenverwaltung mithilfe alternativer Anmeldeinformationen
erfolgt. Damit ist ein Mitarbeiter des Supports nicht in der Lage, die Gruppenmitgliedschaft direkt im
Snap-In Active Directory-Benutzer und -Computer zu ändern, kann aber Ihr Werkzeug verwenden, das
unter einem besonderen Konto läuft (das dem Supportmitarbeiter nicht bekannt ist), um Änderungen in
Active Directory für ihn vorzunehmen. Ihr Werkzeug übernimmt die Aufgabe in Vollmacht für den
Administrator. Möglichkeiten der Bevollmächtigung – das Ausführen von Aufgaben mit versteckten
alternativen Anmeldeinformationen – werden in Lösungsgruppe 8 vorgestellt.
Aufstellen eines Übergangsplans
Sie werden die rollenbasierte Verwaltung nicht an einem Wochenende bereitstellen. Es ist ein langwieriger, sich entwickelnder Prozess. Sie können jedoch einige Maßnahmen ergreifen, um den Wechsel
erheblich einfacher zu gestalten. Zuerst können Sie Ihre neuen Gruppen erstellen und die vorhandenen
Gruppen darin verschachteln.
Nehmen wir zum Beispiel an, dass Ihre Analyse Ihnen dabei geholfen hat, vier Ordner mit Ressourcen
für das Budget und drei Gruppen ausfindig zu machen, denen die Leseberechtigung für diese einzelnen
Ordner erteilt wurde. Die rollenbasierte Verwaltung legt nahe, dass Sie eine Gruppe mit dem Namen
ACL_Budget_Read anlegen, um die Befugnis zum Lesen des Budgets zu verwalten. Erstellen Sie die
Gruppe und weisen Sie ihr die Leseberechtigung für die Ordner zu. Verschachteln Sie die drei Gruppen
in der ACL-Gruppe. Nun gehen wir einen Schritt weiter: Wenn ein weiterer Budgetordner erstellt wird,
erteilen Sie die Leseberechtigung nur der ACL-Gruppe. Falls Sie Zeit haben, können Sie die drei alten
Gruppen aus den Budget-Zugriffssteuerungslisten entfernen.
Mit anderen Worten, beginnen Sie mit der Umsetzung der optimalen Vorgehensweise und bereinigen
Sie nach und nach die Überreste veralteter Verwaltungsmethoden.
Tokengröße
Ich hoffe, Sie von den Vorteilen der rollenbasierten Verwaltung überzeugt zu haben. Es ist ein einfaches
Konzept mit einem relativ einfachen Plan zur Umsetzung. Es sind eine Menge Geschäftsanalysen, Leitungs- und Projektverwaltungsaufgaben damit verbunden, aber das Verfahren ist recht unkompliziert.
84 Lösungsgruppe 1: Rollenbasierte Verwaltung
Hoffentlich stimmen Sie mir zu, dass der ROI die rollenbasierte Verwaltung zu einem Kinderspiel
macht.
Ich sage »hoffentlich«, weil ich diese Lösungsgruppe mit dem einzigen Nachteil unseres Ansatzes zur
rollenbasierten Verwaltung abschließe – einem Nachteil, der sich aus einer Einschränkung unter Windows ergibt. Dabei handelt es sich um eine Einschränkung, die sich zwar in fast allen Situationen
umgehen lässt, die aber, wie ich festgestellt habe, das ansonsten strahlende Bild einer verwaltbaren
Zukunft durch dunkle Wolken überschattet. Daher möchte ich, dass Sie genug Begeisterung für die
rollenbasierte Verwaltung aufbringen, um dieses Problem durchzuarbeiten.
Bei dem Problem handelt es sich um die Tokengröße.
Wenn ein Benutzer mit einem System »in Berührung kommt« – indem er sich lokal oder über Remotedesktop anmeldet oder eine Verbindung zu einer Ressource, z.B. einem freigegebenen Ordner, herstellt
–, generiert das System bekanntlich ein so genanntes Token, das die Sicherheitskennungen (SIDs) des
Benutzers und aller Gruppen enthält, denen er angehört. Es ist möglich, dass Sie Ihre rollenbasierte
Verwaltung erweitern und ein Benutzer so vielen Gruppen angehört, dass das Token »überfüllt« wird
und allerlei merkwürdige Dinge geschehen. Um dieses Problem zu lösen, können Sie eine Änderung an
der Registrierung vornehmen, mit der die Größe des Sicherheitstokens erweitert wird. Diese Änderung
muss jedoch für alle praktischen Zwecke auf allen Systemen Ihres Unternehmens durchgeführt werden
– vorzugsweise durch ein Werkzeug zur Verwaltung von Änderungen, z.B. die Gruppenrichtlinie.
Ähnliche Probleme können auftreten, wenn die Gruppenmitgliedschaft den Rahmen überschreitet, der
vom Kerberos Privilege Attribute Certificate (PAC) oder bei einer Anforderung unterstützt wird, die zur
Authentifizierung an der IIS-Anwendung über HTTP verwendet wird.
Ein Token oder PAC enthält SIDs für den Benutzer und die Gruppen, denen er angehört. Diese SIDs
erforderten vor Windows Server 2000 Service Pack 4 (SP4) 40 Byte Speicherplatz. Die maximale
Tokengröße unter Windows 2000 bis Service Pack 1 betrug 8.000 Byte. Unter Berücksichtigung des
zusätzlichen Aufwands und der Benutzerrechte bedeutete dies, dass ein Benutzer 100 bis 2000 Gruppen angehören konnte, bevor das Token versagte. Mit Service Pack 2 von Windows 2000 wurde die
Standardtokengröße auf 12.000 Byte erweitert. Darüber hinaus änderte sich mit Service Pack 4 von
Windows 2000 die Art und Weise, in der SIDs in einem Token gespeichert wurden, sodass lokale
Domänengruppen zwar immer noch 40, globale und universelle Gruppen aber nur 8 Byte benötigten.
Durch diese Änderungen konnte ein Benutzer bis Windows Server 2003 zu 200 bis 300 Gruppen
gehören, bevor das Token versagte.
Wichtig Wenn ein Benutzer oder Computer mehr als 200 bis 300 Gruppen angehört, versagen das Sicherheitstoken und andere Authentifizierungsmechanismen.
Was bedeutet es genau, wenn ich von »versagen« spreche? Wie der Berater so gerne sagt: »Das kommt
darauf an.« Die Symptome bei diesem Problems sind zahlreich. Windows-Anwendungen, Webanwendungen, das Betriebssystem Windows – was auch immer – fängt an, Probleme zu bereiten. Diese manifestieren sich ebenfalls auf unterschiedliche Weise: Meldungen, dass der Zugriff verweigert wird,
Probleme bei der Anmeldung, sogar bizarre Fehlermeldungen wie »Nicht genügend Arbeitsspeicher«.
Sie werden abenteuerliche Dinge feststellen, die Sie nie zuvor gesehen haben. Leider ist es dadurch
nahezu unmöglich, die Hauptursache zu erkennen. Daher ist es wichtig, dieses Problem jetzt bei der
Planung der Zukunft Ihrer Windows-Administration zu berücksichtigen. Wenn Sie dieses Buch lesen
und dabei das Problem der Tokengröße vergessen, wird es Sie auf schreckliche Weise verfolgen. Glauben Sie mir. Ich habe es erlebt.
1.7 Einrichten der rollenbasierten Verwaltung 85
Lassen Sie mich das erste Gerücht richtig stellen. Viele »Experten« behaupten, dass Sie einfach nicht in
der Lage sein werden, auf irgendetwas zuzugreifen, wenn Sie zu so vielen Gruppen gehören, dass eine
Authentifizierungskomponente wie ein Token versagt. Das ist nicht wahr. Ich habe es in der Praxis
erlebt. Wir hatten einen Benutzer (an der Spitze der Nahrungskette), der knapp über 400 Gruppen angehörte. Dieser Benutzer konnte hervorragend arbeiten. Er konnte lediglich einige wenige Aufgaben nicht
ausführen, die den Gruppen zwar gestattet waren, die aber, wie sich herausstellte, gerade aus seinem
Token »herausgefallen« waren. Denken Sie an die sich daraus ergebenden Auswirkungen auf die
Sicherheit: Das Token hat einfach einige seiner Mitgliedschaften verloren. Glücklicherweise erhielten
wir nur Meldungen vom Typ »Zugriff verweigert«, wenn der Benutzer versuchte, etwas auszuführen.
Was würde geschehen, wenn solchen fehlenden Mitgliedschaften die Berechtigung Verweigern erteilt
worden wäre? Ein wenig furchterregend, nicht wahr? Und dies passierte auf Windows Server 2003Domänencontrollern. Sehr furchterregend.
Lassen Sie mich nun das zweite Gerücht richtig stellen – das Gerücht, das Problem mit der Tokengröße
sei gelöst. Das ist nicht der Fall. Änderungen an der Tokengröße und die Verringerung der Anzahl von
Bytes, die von den globalen Gruppen-SIDs verwendetet werden, waren sehr hilfreich. Die Benutzer
können nun etwa 300 Gruppen angehören, bevor Probleme auftreten. Das sind viele Gruppen. Somit ist
es weniger wahrscheinlich, dass Sie auf Grenzen stoßen. Aber eines Tages, in irgendeiner Situation, in
irgendeinem Unternehmen mit einer rollenbasierten Verwaltung mittlerer Komplexität werden sie
auftreten.
Vergrößern von MaxTokenSize
Die Lösung dieses Problems beginnt mit einer Änderung des Werts MaxTokenSize in der Registrierung,
den Sie unter HKEY_LOCAL_MACHINE\System\CurrentControlSet\Lsa\Kerberos\Parameters finden.
Der Parameter weist den Typ REG_DWORD auf und kann auf einen Dezimalwert von bis zu 65536
oder einen Hexadezimalwert von bis zu 0xFFFF gesetzt werden. Diese Größe unterstützt theoretisch
die Mitgliedschaft in etwa 1600 lokalen Domänengruppen oder 8000 globalen/universellen Gruppen.
Bei einer Umsetzung mit gemischten Gruppen stoßen Sie damit bei 3000 bis 5000 Gruppenmitgliedschaften an eine Grenze. Das ist eine riesige Anzahl für einen einzelnen Benutzer oder Computer.
Da Tokens lokal generiert werden, müssen Sie diese Änderung auf allen Rechnern vornehmen, mit
denen ein Benutzer »in Berührung kommt«, der mehr als 200 bis 300 Gruppen angehört. Das betrifft
jeden Domänencontroller, jeden Server und – wer weiß, wo sich diese Benutzer überall anmelden –
jeden Client. Mit anderen Worten, in der Praxis müssen Sie die Änderung an jedem System Ihres Unternehmens gesamtstrukturweit vornehmen. Ich empfehle Ihnen dringend, eine benutzerdefinierte administrative Gruppenrichtlinienvorlage (ADM oder ADMX) zu erstellen, um diese Änderung über ein
Gruppenrichtlinienobjekt durchzuführen.
Eine so signifikante und weit reichende Änderung sollte gründlich getestet werden. Außerdem rate ich
Ihnen, den Wert nicht sofort auf 0xFFFF zu setzen. Erhöhen sie ihn langsam und bedacht in Übereinstimmung mit dem geschätzten tatsächlichen Bedarf. Ich habe diese Änderung in der Praxis erprobt und
noch kein Versagen festgestellt. Allerdings bleibe ich beim Testen sehr vorsichtig und zurückhaltend.
Ich mache Sie auf Lektüre aufmerksam, die notwendig ist, wenn ihr rollenbasiertes Verwaltungsmodell
darauf zusteuert, einen Benutzers mit mehr als 200 Gruppenmitgliedschaften zu verwalten.
Wichtig Die Knowledge Base-Artikel 263693 und 327825 sind notwendige Lektüre.
86 Lösungsgruppe 1: Rollenbasierte Verwaltung
Die Knowledge Base-Artikel 263693 und 327825 enthalten auch Links zu verwandten Artikeln. Wenn
Sie im Internet nach diesen beiden Artikelnummern suchen, werden Sie auch alle Arten von weiteren
Informationen zu diesem Problem finden. Abschließend schlage ich vor, sich tokensz.exe von der
Microsoft-Downloadwebsite unter http://www.microsoft.com/downloads herunterzuladen. Tokensz
führt mehrere Aufgaben aus, die Ihnen dabei helfen, die Bedenken wegen der Token- und PAC-Größe
zu verstehen und die Größe zu berechnen.
Unabhängig davon, was im Internet angegeben oder angedeutet wird, auch auf der Website von Microsoft, denken Sie bitte daran, dass das Problem der Tokengröße tatsächlich existiert. Heutzutage ist die
Wahrscheinlichkeit, dass diese Probleme auftreten, geringer als bei älteren Versionen von Windows,
aber das gilt für Unternehmen ohne rollenbasierte Verwaltung. Wenn Sie beginnen, Gruppen aufgrund
ihrer Leistungsfähigkeit einzusetzen, werden Sie auf dieses Problem stoßen. Ändern Sie MaxTokenSize
gesamtstrukturweit in angemessenen, getesteten Schritten.
Obwohl MaxTokenSize Probleme mit den von Gruppenmitgliedschaften überfluteten Sicherheitstokens
löst, sollten Sie auch daran denken, dass es weitere Einschränkungen gibt, auf die Sie stoßen könnten,
darunter die Größe von Authentifizierungsheadern, die über HTTP gesendet werden und Webanwendungen authentifizieren. Benutzerdefinierte Anwendungen, die die Gruppenmitgliedschaft auswerten,
können auch unter der Voraussetzung einer begrenzten Anzahl von Gruppenmitgliedschaften für einen
einzelnen Benutzer erstellt worden sein. Seien Sie wachsam im Hinblick auf Probleme.
Ich möchte Ihnen noch einige weitere Gedanken zu dieser Problematik auf den Weg geben.
Einrichten von globalen (oder universellen) Gruppen anstelle von lokalen Domänengruppen
Sie können die Begrenzung der Tokengröße umgehen, indem Sie mehr globale oder universelle Gruppen
und weniger lokale Domänengruppen verwenden. Gegenüber den für lokale Domänengruppen erforderlichen 40 Byte beanspruchen globale und universelle Gruppen in einem Sicherheitstoken nur 8 Byte.
Daher können Sie in einem Standardtoken mit 12 KB viel mehr globale Gruppen unterbringen. Eine
lokale Domänengruppe in eine globale Gruppe umzuwandeln und umgekehrt, ist einfach. Konvertieren
Sie sie einfach zunächst in eine universelle Gruppe. Der Hauptvorteil lokaler Domänengruppen liegt
darin, dass sie Benutzer und globale Gruppen anderer Domänen enthalten können. In einer einzigen, aus
mehreren Domänen bestehenden Gesamtstruktur weisen universelle Gruppen denselben Vorteil auf. Bei
Domänen in verschiedenen Gesamtstrukturen müssen Sie an lokalen Domänengruppen festhalten, allerdings nur in Situationen, in denen sich die Befugnisverwaltung auf Benutzer oder Rollen in der externen
Domäne erstreckt. In Zeiten einer zunehmenden Bedeutung der Gesamtstrukturisolation und Active
Directory Federated Services (ADFS) wird es außerdem weniger Vertrauensstellungen zwischen den
Domänen in verschiedenen Gesamtstrukturen geben. Besteht keine Vertrauensstellung, sind lokale
Domänengruppen wirklich nicht erforderlich.
Falls sich das für Sie so anhört, als würde ich darauf anspielen, die rollenbasierte Verwaltung vollständig mit globalen Gruppen umzusetzen, haben Sie Recht. In einer Einzeldomäne ohne Vertrauensstellungen ist dieses Ziel gut erreichbar. Globale Gruppen können in globalen Gruppen verschachtelt
werden. Mit jeder Gruppen-SID, die nur 8 Byte beansprucht, können Sie daher die Geschäftslogik der
rollenbasierten Verwaltung unterstützen. Wir sind in die Zeit von Windows NT 4.0 zurückgelehrt, als
alle Gruppen global waren. Diesmal ist es jedoch nicht mühsam, sondern effektiv.
Aufräumen der sIDHistory-Attribute
Als zweiten Tipp möchte ich Ihnen mit auf den Weg geben, sicherzustellen, dass Ihr SID-Verlauf aufgeräumt ist. Das sIDHistory-Attribut eines Benutzers, einer Gruppe oder eines Computers verfolgt
1.7 Einrichten der rollenbasierten Verwaltung 87
frühere SIDs des Objekts, wenn es von einer anderen Domäne mithilfe von Werkzeugen wie Active
Directory Migration Tool (ADMT) migriert wurde. Einige Unternehmen, die von Windows NT 4.0 zu
Active Directory gewechselt haben oder aus dem einen oder anderen Grund über konsolidierte Domänen verfügen, waren bei der Bereinigung alter SIDs nachlässig, sodass sie die sIDHistory-Attribute von
Objekten löschen können. SIDs in sIDHistory beanspruchen ebenfalls Platz im Token. Falls Sie eine
Migration durchgeführt haben, sollten Sie sie jetzt fertig stellen.
Nachdem Sie Ihre sIDHistory-Attribute aufgeräumt, einen Wechsel zu einem vollständig globalen
Gruppenmodell in Betracht gezogen und vielleicht den Wert von MaxTokenSize etwas erhöht haben,
sollten Sie nun genug Platz für die effektive Unterstützung Ihrer Geschäftslogikschicht durch den
Verzeichnisdienst Active Directory haben.
Zusammenfassung
Die rollenbasierte Verwaltung ist eine Kunst und eine Wissenschaft. Ihre Leitung, die effektive Projektverwaltung, ein sorgfältiger Entwurf und die Kommunikation ermöglichen es Ihnen, die rollenbasierte
Verwaltung in Ihrem Unternehmen voranzubringen. Legen Sie einen Kurs fest, der die Analyse, den
Entwurf und die Implementierung von Werkzeugen und Verfahren umfasst, um die Einhaltung der
rollenbasierten Verwaltung zu unterstützen und durchzusetzen.
Seien Sie darauf vorbereitet, die rollenbasierte Verwaltung zu verteidigen, betonen Sie Schwachpunkte
der bisherigen Vorgehensweise, die so alltäglich geworden sind, dass sie von Administratoren leicht
übersehen werden, und stellen Sie die Leistungspotenziale heraus, die durch die rollenbasierte Verwaltung erzielt werden können. Sie sollten wissen, wie Sie mit der Frage »Werden das nicht zu viele Gruppen?« umgehen, indem Sie auf die Tatsache hinweisen, dass die erhöhte Anzahl von Gruppen zu einer
verringerten Anzahl von Verwaltungspunkten führt. Planen Sie den Übergang, indem Sie die optimale
Vorgehensweise wählen, aber die früheren Verfahren so lange unterstützen, bis Sie Zeit haben, mit den
Altlasten aufzuräumen.
Bedenken Sie, dass bei einem Benutzer (oder Computer) mit mehr als 200 bis 300 Gruppenmitgliedschaften die Authentifizierungskomponenten, z.B. das Sicherheitstoken, auszufallen beginnen. Die
Symptome für das Versagen sind bizarr, können (vom Standpunkt der Sicherheit) beängstigende Auswirkungen haben und praktisch unmöglich zu erkennen sein. Bevor Tokens auszufallen beginnen, sollten Sie Maßnahmen ergreifen, indem Sie in der Gesamtstruktur den Registrierungswert MaxTokenSize
ändern. Bei extrem großen oder komplexen Anwendungen der rollenbasierten Verwaltung können Sie
zur Stützung des Modells die ausschließliche Verwendung von globalen (und universellen) Gruppen in
Betracht ziehen. Außerdem können Sie diese Problematik als Anstoß nutzen, um die sIDHistory-Attribute von Benutzern, Computern und Gruppen zu bereinigen, die Sie von anderen Domänen migriert
haben.
Ich beende diese Lösungsgruppe nur ungern mit einer solch ausdrücklichen Warnung hinsichtlich einer
so wichtigen Überlegung, aber es handelt sich dabei um etwas, das Sie sehr genau wissen müssen, wenn
die rollenbasierte Verwaltung erfolgreich eingesetzt werden soll. Dieses Problem wird Sie nicht gleich
treffen. Seien Sie einfach gewarnt.
Damit sind Sie dafür gerüstet, den Kurs zu einer Umgebung abzustecken, in der Ihre Verwaltung von
IT-Ressourcen – Benutzer, Gruppen, Computer, Ressourcen, Anwendungen, Konfigurationen usw. –
mit Ihrer Geschäftsstrategie, den Arbeitsabläufen, Prozessen und Anforderungen im Einklang steht,
diese unterstützt und mit ihnen wachsen kann. Die rollenbasierte Verwaltung ist die Mühe auf alle Fälle
wert!
89
L Ö S U N G S G R U P P E
2
Verwalten von Dateien, Ordnern
und Freigaben
In diesem Kapitel:
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Verwalten der Ordnerstruktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.3 Verwalten des Zugriffs auf Stammdatenordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.4 Delegieren der Verwaltung von freigegebenen Ordnern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.5 Festlegen der freizugebenden Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.6 Ordnerzugriffsberechtigungen auf der Grundlage der erforderlichen Befugnisse . . . . . . . . . . . .
2.7 Berechtigungen für freigegebene Ordner (SMB-Berechtigungen) . . . . . . . . . . . . . . . . . . . . . . .
2.8 Skripts zum Erstellen einer SMB-Freigabe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.9 Erstellen freigegebener Ordner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.10 Vermeiden der Vererbungsweiterleitung beim Verschieben von Dateien und Ordnern . . . . . . .
2.11 Verhindern von Berechtigungsänderungen durch den Besitzer einer Datei . . . . . . . . . . . . . . . .
2.12 Verbergen nicht zugänglicher Objekte vor den Benutzern . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.13 Wer hat eine Datei geöffnet? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.14 Senden von Nachrichten an die Benutzer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.15 Serverübergreifendes Verteilen von Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.16 Speicherplatzverwaltung mit Kontingenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
2.17 Weniger Helpdesk-Anrufe zum Wiederherstellen gelöschter oder überschriebener Dateien . . .
2.18 Erstellen eines effektiven delegierten DFS-Namespace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
90
99
103
107
110
112
120
123
125
135
139
142
144
146
150
153
156
162
Seit Beginn der Microsoft Windows-Netzwerkära besteht eine der Hauptaufgaben von Windows Server-Computern darin, den Benutzern einen zentralen Speicherort für die gemeinsame Nutzung von
Dateien bereitzustellen. Wahrscheinlich denken Sie, dass wir, die Gemeinde der IT-Spezialisten, nach
mittlerweile 15 Jahren die Dateiserver ergründet haben – und dass Microsoft all unsere Anforderungen
daran erfüllt hat. Leider weisen die Werkzeuge, mit denen wir Dateiserver verwalten, jedoch grundlegende Lücken auf, wobei einige davon zu einer Umgebung führen können, in der die Daten bestenfalls
nicht gut genug verwaltet werden und schlimmstenfalls Sicherheitsverletzungen und Dienstverweigerungen oder Datenverlust ausgesetzt sind.
90 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Mit den Lösungen in diesem Kapitel sind Sie dafür gerüstet, die Daten auf Dateiservern mit weniger
Aufwand konsistenter und sicherer zu verwalten. Dabei gehe ich auf allgemeine Fragen zu WindowsDateiservern, freigegebenen Ordnern, Zugriffssteuerungslisten, zugriffsbasierten Auflistungen, Schattenkopien usw. ein. Außerdem sehen wir uns hochinteressante Funktionen von Windows Server 2008
an, darunter Änderungen an den Befugnissen der Dateibesitzer.
Szenarien, Probleme und Lösungen
Aller Wahrscheinlichkeit nach verfügen Sie über Erfahrungen mit der Verwaltung von Dateien und
Ordnern in freigegebenen Ordnern auf Windows Server-Comuptern. Außerdem nehme ich an, dass Sie
die Grundlagen von Sicherheitskomponenten wie NTFS-Berechtigungen, Vererbung und Freigabeberechtigungen kennen. Sie mögen sich fragen, was es noch über Windows-Dateiserver zu lernen gibt.
Betrachten Sie die folgenden Szenarien und die häufigen Lücken bei der Einrichtung der Dateiserverrolle:
„ Die Abteilung Finanzwesen von Blue Yonder Airlines unterhält eine Freigabe, die von den Mitarbeitern dieser Abteilung zur gemeinsamen Arbeit an Dateien, vor allem Microsoft Office ExcelArbeitsblättern, genutzt wird. Der Netzwerkadministrator hat die Freigabe mit einer Berechtigung
geschützt, die den Benutzern die Berechtigung Ändern für den Stammordner erteilt, die natürlich an
alle Unterordner vererbt wird. Am frühen Montagmorgen, noch bevor der Kaffee seine Wirkung
gezeigt hat, öffnet Mark Bebbington, Leiter des Finanzwesens bei Blue Yonder Airlines, in diesem
Ordner eine Excel-Budgetkalkulation, die er für eine Präsentation beim leitenden Geschäftsführer
vorbereiten will. Dann klickt er auf den übergeordneten Ordner, um sich dessen Inhalt anzusehen
und zu entscheiden, ob er noch ein weiteres Arbeitsblatt ändern muss. Er richtet sein Augenmerk
auf Excel und die Tabelle, in der er eine Zahl findet, die nicht dort hingehört. Er drückt die Taste
(Entf). Da er nicht merkt, dass der Fokus noch auf dem Windows Explorer-Ordner liegt, und nicht
auf die vor seinen immer noch verschlafenen Augen auftauchende Meldung achtet, klickt er auf
eine Schaltfläche und erkennt dann – zu spät –, dass er soeben den Inhalt der gesamten Freigabe
Finance gelöscht hat.
Wichtig Wenn Sie jemals einer Gruppe die NTFS-Zulassungsberechtigung Ändern erteilt haben, haben
Sie sich selbst genau dieser Art von Situation ausgesetzt: einer unabsichtlichen oder beabsichtigten Dienstverweigerung. Jeder Benutzer der Gruppe kann alle Elemente aus dem freigegebenen Ordner löschen.
Ingenieure bei Trey Research benötigen Zugang zu Konstruktionsunterlagen. Die Netzwerkarchitektur und die Art der Konstruktionsanwendungen haben dazu geführt, dass der IT-Abteilung ein
Nabe-und-Speiche-Modell am besten geeignet erschien. Bei diesem Modell werden Änderungen
nur im Rechenzentrum an den Masterdokumenten des freigegebenen Ordners vorgenommen und
dann auf schreibgeschützte Kopien auf Servern an verschiedenen geographischen Standorten verteilt. Da mit der Replikationstechnologie auch NTFS-Zugriffssteuerungslisten repliziert werden,
muss die IT-Abteilung herausfinden, wie sie eine Änderung an den Dokumenten der Nabenfreigabe
ermöglichen und dabei Änderungen an denen der Speichenfreigaben verhindern kann.
„ Im Rahmen ihrer Bemühungen, die Kosten zu senken, die Reaktionsgeschwindigkeit gegenüber den
Kunden zu erhöhen und die Produktivität der Benutzer zu verbessern, möchte die IT-Abteilung von
Proseware Inc. den Benutzern ermöglichen, versehentlich gelöschte, geänderte oder überschriebene
„
Szenarien, Probleme und Lösungen 91
Dokumente wiederherzustellen, ohne den Support um eine Wiederherstellung der Dokumente von
der Bandsicherung bitten zu müssen.
„ Die Administratoren bei Litware Inc. wollen verhindern, dass technisch nicht versierte und nicht
autorisierte Benutzer Datei- oder Ordnerberechtigungen ändern, selbst wenn sie die betreffenden
Dateien oder Ordner selbst erstellt haben.
„ Die IT-Spezialisten von Contoso Ltd. wollen das Auffinden der Daten durch einen logischen Namespace vereinfachen, in dem die Ordner in einer für die Benutzer nachvollziehbaren Weise angeordnet
sind, anstatt ihnen eine nach den Servern gegliederte Ansicht der gespeicherten Ordner vorzugeben.
Bei der Untersuchung von Lösungen für diese und andere Szenarien werden wir uns mit den folgenden
Fragen und Anforderungen befassen:
„ Was hat sich bei den Dateidiensten in Windows Server 2008 geändert?
„ Wie können Sie das Verschieben von Ordnern auf einen neuen Server vereinfachen, ohne alle Verknüpfungen, zugeordneten Laufwerke und Verweise »anfassen« zu müssen, die auf den ursprünglichen Speicherort verweisen?
„ Inwiefern unterscheidet sich die Kontingentverwaltung in Windows Server 2008 von der in Windows
2000 und Windows Server 2003?
„ Wie können Sie nach dem Wegfall des Befehls NET SEND die mit einem Server verbundenen
Benutzer benachrichtigen, bevor Sie den Server vom Netz trennen?
„ Welche Gefahr besteht darin, Dateien zwischen zwei Ordnern mit unterschiedlichen Berechtigungen
zu verschieben?
„ Wie kann ein Benutzer daran gehindert werden, die Berechtigungen für eine von ihm erstellte Datei
zu ändern?
Die Lösungen in diesem Kapitel umfassen folgende Komponenten:
„ NTFS-Dateien und -Ordner mit ihren Berechtigungen: Zugriffssteuerungseinträge, die als Teil der
Zugriffssteuerungsliste im Sicherheitsdeskriptor der Datei oder des Ordners gespeichert sind
„ Freigegebene Ordner mit ihren Berechtigungen und Einstellungen: Name der Freigabe (einschließlich versteckter Freigaben), SMB-Zugriffssteuerungslisten (Server Message Block) für die Freigabe,
Beschreibung der Freigabe und Cacheeinstellungen
„ Zugriffsbasierte Auflistung
„ Ersteller-Besitzer-Eintrag im Sicherheitsdeskriptor
„ Die neue Identität Eigentümerrechte
„ Gruppenrichtlinien
„ Kontingentverwaltung
„ DFS-Namespaces (Distributed File System)
„ Symbolische Verknüpfungen und Netzwerkumgebungen
„ Schattenkopien von freigegebenen Ordnern
„ Robocopy
92 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
2.1 Effizientes Arbeiten mit dem ACL-Editor
Die Lösung im Überblick
Typ
Anleitung und Tipps
Funktionen und Werkzeuge
Die Benutzeroberflächen des ACL-Editors: das Dialogfeld Eigenschaften auf der Registerkarte Sicherheit, das Dialogfeld Erweiterte Sicherheitseinstellungen und das Dialogfeld Berechtigungseintrag
Zusammenfassung
Halten Sie sich im Hinblick auf die Feinheiten des ACL-Editors
auf dem neusten Stand sind.
Vorteile
Effektivere Verwendung des ACL-Editors
Einführung
Sicherheitsberechtigungen werden in Form von Zugriffssteuerungseinträgen in der diskreten Zugriffssteuerungsliste innerhalb des Sicherheitsdeskriptors (SD) einer sicherungsfähigen Ressource eingerichtet. Der Sicherheitsdeskriptor enthält auch die Systemzugriffssteuerungsliste, in der Überwachungseinträge gespeichert werden.
Eine wichtige Funktion des NTFS-Dateisystems ist die Unterstützung von Sicherheitsdeskriptoren für
Dateien und Ordner. Dabei handelt es sich eigentlich nur um ein Attribut einer Datei oder eines Ordners
zusammen mit Datenattributen, die die eigentlichen Daten einer Datei enthalten. All diese Attribute bilden das, was wir uns unter einer Datei oder einem Ordner auf einem NTFS-Volume vorstellen.
Die Zugriffssteuerungsliste bildet die Grundlage, um festzulegen, welche Benutzer in welchem Maße
auf Ressourcen zugreifen können. Das Sicherheitstoken, das vom lokalen Sicherheitsteilsystem des
Servers generiert wird und den Benutzer bei seiner Authentifizierung repräsentiert, enthält nicht nur die
Sicherheitskennungen (Security Identifiers, SIDs) des Benutzerkontos, sondern der gesamten Gruppe,
in der dieser Benutzer Mitglied ist. Versucht ein Benutzer, auf eine Ressource zuzugreifen, werden die
SIDs in dem Token mit denen der Zugriffssteuerungsliste verglichen, wobei die Zugriffsmöglichkeit
anhand der zugelassenen oder verweigerten Einzelberechtigungen ermittelt wird.
In Windows 2000 bestimmen Zugriffssteuerungslisten den Zugriff unabhängig davon, ob der Zugang
zur Ressource lokal oder über das Netzwerk erfolgt. Mit Windows Server 2003 kam die Möglichkeit
hinzu, verschiedene Berechtigungen danach festzulegen, ob der Zugriff lokal oder über das Netzwerk
erfolgt.
Der ACL-Editor
Die Zugriffssteuerungsliste einer Ressource wird auf der grafischen Benutzeroberfläche im ACL-Editor
offen gelegt. Nachstehend finden Sie eine Liste der Schnittstellen dieses Werkzeugs:
„ Die Registerkarte Sicherheit im Eigenschaftendialogfeld der Ressource
„ Das Dialogfeld Erweiterte Sicherheitseinstellungen
„ Das Dialogfeld Berechtigungseintrag
Die einzelnen Oberflächen werden in den folgenden Abschnitten ausführlicher beschrieben.
2.1 Effizientes Arbeiten mit dem ACL-Editor 93
Die Registerkarte »Sicherheit« des Eigenschaftendialogfelds
Klicken Sie mit der rechten Maustaste auf eine beliebige Ressource, wählen Sie Eigenschaften und
anschließend die Registerkarte Sicherheit. Auf dieser Registerkarte, die auch als Dialogfeld Sicherheitseinstellungen bezeichnet wird und in Abbildung 2.1 dargestellt ist, sehen Sie eine allgemeine
Übersicht über den Sicherheitsdeskriptor.
Abbildung 2.1 Das Dialogfeld Sicherheitseinstellungen
In der unteren Hälfte der Registerkarte Sicherheit im Eigenschaftendialogfeld des sicherungsfähigen
Objekts erscheinen Berechtigungsvorlagen für typische Zugriffsmöglichkeiten wie Lesen, Schreiben,
Ändern und Vollzugriff. Sie stellen eine Gruppe detaillierterer Berechtigungen dar, die Sie auf der
Registerkarte Berechtigungen im Dialogfeld Erweiterte Sicherheitseinstellungen und im Dialogfeld
Berechtigungseintrag finden. Der Typ der Berechtigungsvorlage wird durch die Kontrollkästchen
neben der Berechtigung angezeigt. Ein Häkchen in dem Feld neben einer Berechtigungsvorlage gibt an,
dass sie aktiv ist. Zulassungs- und Verweigerungsvorlagen erscheinen in der Spalte Zulassen bzw.
Verweigern. Vorlagen, die mit einem inaktiven (grauen) Kontrollkästchen versehen sind, wurden von
einem übergeordneten Ordner oder Volume geerbt, während aktive Kontrollkästchen (mit weißem Hintergrund) der ausgewählten Datei oder dem Ordner explizit zugewiesen wurden.
Im Allgemeinen erzählen diese Berechtigungsvorlagen nicht die ganze Geschichte. Sind für einen
Sicherheitsprinzipal Zugriffssteuerungseinträge vorhanden, die sich nicht gut in die im Dialogfeld
Sicherheitseinstellungen genannten Vorlagen einfügen, wird die Vorlage mit der Bezeichnung Speziell
am Ende der Berechtigungsliste aktiviert. In diesem Fall müssen Sie auf Erweitert klicken, um weitere
Einzelheiten über die Berechtigungen in der Zugriffssteuerungsliste einzusehen. Es ist jedoch ratsam,
immer auf Erweitert zu klicken und sich die Details des auf der Registerkarte Berechtigungen im
Dialogfeld Erweiterte Sicherheitseinstellungen angezeigten Sicherheitsdeskriptors anzusehen.
94 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Empfohlene Vorgehensweisen Klicken Sie auf der Registerkarte Sicherheit im Eigenschaftendialogfeld
stets auf die Schaltfläche Erweitert, um sich Einzelheiten über den im Dialogfeld Erweiterte Sicherheitseinstellung angezeigten Sicherheitsdeskriptor anzusehen.
Hinweis Bei einem Volume, auf das der Zugriff über das Snap-In Freigabe- und Speicherverwaltung erfolgt,
erscheint die Schaltfläche Erweitert nicht auf der Registerkarte Sicherheit des Eigenschaftendialogfelds. Sie
müssen die Eigenschaften des Volumes von Windows Explorer aus aufrufen, um auf das Dialogfeld Erweiterte Sicherheitseinstellungen zugreifen zu können.
Die Registerkarte »Berechtigungen« des Dialogfelds »Erweiterte Sicherheitseinstellungen«
Klicken Sie auf der Registerkarte Sicherheit des Eigenschaftendialogfelds auf die Schaltfläche Erweitert, um weitere Detailinformationen über den Sicherheitsdeskriptor einzusehen. Diese Oberfläche, die
als Dialogfeld Erweiterte Sicherheitseinstellungen bezeichnet wird und in Abbildung 2.2 dargestellt ist,
enthält die Registerkarten Berechtigungen, Überwachung, Besitzer und Effektive Berechtigungen.
Abbildung 2.2 Das Dialogfeld Erweiterte Sicherheitseinstellungen
Die Registerkarte Berechtigungen im Dialogfeld Erweiterte Sicherheitseinstellungen weist die folgenden
wichtigen Funktionen auf, von denen Ihnen einige eventuell nicht bekannt sind:
„ In Windows Server 2008 und Windows Vista befinden sich die einzelnen Registerkarten des Dialogfelds im Ansichtsmodus. Sie müssen auf die Schaltfläche Bearbeiten einer Registerkarte klicken (die
nur aktiviert ist, wenn Ihre Anmeldeinformationen es Ihnen ermöglichen, Änderungen vorzunehmen),
um die Einstellungen auf dieser Registerkarte zu ändern.
„ Im Gegensatz zur Registerkarte Sicherheit im Dialogfeld Eigenschaften können Sie die Quelle der
geerbten Berechtigungen erkennen: Die Spalte Geerbt von gibt den übergeordneten Ordner oder das
2.1 Effizientes Arbeiten mit dem ACL-Editor 95
Volume an, wo die Berechtigungen explizit festgelegt sind. Bei dem ausgewählten Objekt explizit
zugewiesenen Berechtigungen enthält die Spalte Geerbt von den Eintrag <nicht geerbt>.
„ Anfangs werden die Einträge der Berechtigungen in kanonischer Reihenfolge angezeigt. Das
bedeutet, dass die Zugriffssteuerungseinträge in der Reihenfolge aufgeführt sind, in der sie vom
lokalen Sicherheitssubsystem anhand der SIDs im Sicherheitstoken analysiert werden. Die für
einen bestimmten angeforderten Zugriffstyp zuerst gefundene Übereinstimmung – Zulassung oder
Verweigerung – wird verwendet, um herauszufinden, ob dieser Zugriff zulässig ist. Daher befinden
sich die »wichtigeren« oder »Gewinner«-Berechtigungen am Anfang der Liste. Indem Sie auf den
Kopf einer beliebigen Spalte klicken, können Sie die Liste sortieren und damit von der kanonischen
Reihenfolge abgehen. Wenn Sie das Dialogfeld Erweiterte Sicherheitseinstellungen schließen und
erneut öffnen, erscheinen die Zugriffssteuerungslisten allerdings wieder in kanonischer Reihenfolge.
Empfohlene Vorgehensweisen Nutzen Sie die kanonische Berechtigungsliste in der Standardansicht des
Dialogfelds Erweiterte Sicherheitseinstellungen. Durch die Interpretation der kanonischen Reihenfolge ist es
leichter zu verstehen, wie Berechtigungen auf einen Benutzer angewendet werden, der versucht, auf eine
Ressource zuzugreifen.
Berechtigungssätze (Zugriffssteuerungseinträge), die in der Spalte Berechtigung nicht korrekt zusammengefasst werden können, werden dort mit dem Vermerk Speziell angezeigt. Windows Server 2008
zeigt den Hinweis Speziell auch dann an, wenn es sich bei dem ausgewählten Objekt um einen Ordner
handelt und die Vererbungseinstellung der Berechtigung nicht Diesen Ordner, Unterordner und
Dateien lautet.
Zusätzliche Funktionen und Einsatzmöglichkeiten des Dialogfelds Erweiterte Sicherheitseinstellungen
werden wir weiter hinten in diesem Kapitel untersuchen.
„
Das Dialogfeld »Berechtigungseintrag«
Die auf der Registerkarte Berechtigungen im Dialogfeld Erweiterte Sicherheitseinstellungen aufgeführten Berechtigungen sind sicherlich informativer als die Registerkarte Sicherheit des Eigenschaftendialogfelds, dennoch sind sie immer noch nicht vollständig aufgeführt. Um alle detaillierten Zugriffssteuerungseinträge, aus denen sich eine Berechtigung zusammensetzt, zu bestimmen, müssen Sie sich
das Dialogfeld Berechtigungseintrag ansehen.
Empfohlene Vorgehensweisen Wenn eine Berechtigung auf der Registerkarte Berechtigungen im Dialogfeld Erweiterte Sicherheitseinstellungen den Vermerk Speziell in der Spalte Berechtigung aufweist oder wenn
Sie sich einen vollständigen Überblick über eine bestimmte Berechtigung verschaffen wollen, sollten Sie sich
diese im Dialogfeld Berechtigungseintrag ansehen.
Auf das Dialogfeld Berechtigungseintrag greifen Sie wie folgt zu:
1. Befindet sich die Registerkarte Berechtigungen des Dialogfelds Erweiterte Sicherheitseinstellungen
im Ansichtsmodus (was am Vorhandensein der Schaltfläche Bearbeiten und dem Nichtvorhandensein
der Schaltflächen Hinzufügen und Entfernen erkennbar ist), klicken Sie auf Bearbeiten.
2. Wählen Sie einen Berechtigungseintrag aus der entsprechenden Liste aus.
3. Klicken Sie auf Bearbeiten. Das in Abbildung 2.3 dargestellte Dialogfeld Berechtigungseintrag
erscheint.
96 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Abbildung 2.3 Das Dialogfeld Berechtigungseintrag
Die im Dialogfeld Berechtigungseintrag angezeigte Berechtigung wird in die einzelnen darin enthaltenen Berechtigungen (Zugriffssteuerungseinträge) unterteilt. Darüber hinaus wird der Status der einzelnen Berechtigungen in Zulassungs- und Verweigerungseinträge aufgelöst. Bei einem geerbten Zugriffssteuerungseintrag ist das Kontrollkästchen inaktiv (grau). Handelt es sich um einen expliziten Eintrag,
ist es aktiv (weiß). Schließlich werden die Vererbungsbereiche in der Dropdownliste Übernehmen für
angezeigt. Die Vererbung wird in anderen Lösungen dieser Lösungsgruppe noch erörtert.
Bestimmen der effektiven Berechtigungen
Ob eine Anforderung für den Zugriff auf eine Datei oder einen Ordner zugelassen oder verweigert
wird, hängt vom lokalen Sicherheitsteilsystem ab, das die Zugriffssteuerungseinträge in der Zugriffssteuerungsliste in kanonischer Reihenfolge anhand der SIDs im Sicherheitstoken des Benutzers auswertet. Der erste Zugriffssteuerungseintrag für einen bestimmten Zugriffstyp (z.B. Lesen, Schreiben,
Löschen), der auf eine im Token vorhandene SID angewendet wird, entscheidet, ob der Zugriff zugelassen oder verweigert wird. Die effektiven Berechtigungen eines Benutzers werden anhand der kumulierten Wirkung der auf das Benutzerkonto angewendeten zugelassenen, verweigerten, expliziten und
geerbten Berechtigungen und der Gruppen beurteilt, in denen diese Konten Mitglied sind.
Um zu verstehen, wie die effektiven Berechtigungen abgeleitet werden, müssen wir uns die Hierarchie
der Berechtigungseinstellungen und ihre Priorität innerhalb einer Zugriffssteuerungsliste ansehen. Für
Zugriffssteuerungseinträge gelten die folgenden goldenen Regeln:
Dateiberechtigungen heben Ordnerberechtigungen auf. Von Bedeutung ist allein die Zugriffssteuerungsliste für das Objekt, auf das der Zugriff erfolgt. Wenn ein Benutzer nur über die Leseberechtigung für einen Ordner verfügt, ihm für ein untergeordnetes Objekt (z.B. eine Datei) aber Vollzugriff
zugewiesen wurde, hat der Benutzer vollen Zugriff auf dieses Objekt. Dasselbe gilt auch umgekehrt.
Wenn dem Benutzer zwar Vollzugriff auf einen Ordner, aber für die Datei nur eine Leseberechtigung
gewährt wurde, kann er die Datei lesen, aber nicht ändern.
2.1 Effizientes Arbeiten mit dem ACL-Editor 97
Zugriffssteuerungseinträge weisen einen von fünf möglichen Status auf.
† Nicht angegeben: Weder das Kontrollkästchen Zulassen noch Verweigern ist aktiviert.
† Explizit zugelassen: Das Kontrollkästchen Zulassen ist aktiviert.
† Durch Vererbung zugelassen: Das Kontrollkästchen Zulassen ist grau und aktiviert – das
bedeutet, dass die Berechtigung vom übergeordneten Ordner oder Volume geerbt wird.
† Explizit verweigert: Das Kontrollkästchen Verweigern ist aktiviert.
† Durch Vererbung verweigert: Das Kontrollkästchen Verweigern ist grau und aktiviert – das
bedeutet, dass die Berechtigung vom übergeordneten Ordner oder Volume geerbt wird.
Zulassungsberechtigungen sind kumulativ. Unabhängig davon, ob Sie Berechtigungen einem
Benutzer oder einer oder mehreren Gruppen zuweisen, denen der Benutzer angehört, gelten alle
Berechtigungen für den Benutzer. Wenn beispielsweise einem einzelnen Benutzer Leseberechtigungen für eine Datei erteilt werden und er Mitglied einer Gruppe ist, die über Schreibberechtigungen
verfügt, hat der Benutzer sowohl Lese- als auch Schreibberechtigungen. Wenn dieser Benutzer
außerdem Mitglied einer anderen Gruppe ist, die über Vollzugriff auf den übergeordneten Ordner
verfügt, und die Vererbung verwendet wird, hat der Benutzer vollen Zugriff auf die Ressource.
Verweigern hebt Zulassen auf. Die Berechtigung Verweigern hat Vorrang vor Zulassen. Wenn ein
Benutzer Mitglied von sieben Gruppen ist, von denen sechs über die Zulassungsberechtigung für
eine angegebene Ressource verfügen, wird dem Benutzer somit der Zugriff verweigert, wenn einer
Gruppe die Berechtigung Verweigern zugewiesen wurde. Denken Sie jedoch daran, dass der Zugriff
pro Zugriffssteuerungseintrag bestimmt wird. Wenn ein Benutzer über Zulassungsberechtigungen,
die ihm Lese- und Schreibzugriff gewähren, und eine Verweigerungsberechtigung für den Schreibzugriff verfügt, kann er die Datei nicht ändern, aber weiterhin lesen.
Explizite Berechtigungen heben geerbte Berechtigungen auf. Ein aktiviertes graues Kontrollkästchen im ACL-Editor weist darauf hin, dass Berechtigungen von einem oder mehreren übergeordneten Ordnern geerbt werden. Obwohl die Berechtigungen unter Standardbedingungen zwischen
geerbten und expliziten Berechtigungen kumulativ sind (was durch ein weißes Kontrollkästchen mit
einem Häkchen angezeigt wird), hebt im Falle zweier widersprüchlicher Einstellungen die explizite
Berechtigung die geerbte auf. Nehmen Sie zum Beispiel an, dass ein Benutzer eine Verweigerungsberechtigung für den Lesezugriff geerbt hat, aber eine Gruppe, zu der dieser Benutzer gehört, über eine
explizite Zulassungsberechtigung für den Lesezugriff verfügt. Letztere hat Vorrang, sodass der
Benutzer die Datei lesen kann.
Der Zugriff wird oft nicht nur von NTFS-Zugriffssteuerungseinträgen bestimmt. Zugriffsteuerungseinträge für NTFS-Dateien und -Ordner bestimmen den höchstmöglichen Zugriff auf die Ressource. Allerdings kann der Ressourcenzugriff durch Berechtigungen weiter verändert werden, die
von dem Dienst angewendet werden, durch den der Zugriff erfolgt. Berechtigungen für freigegebene
Ordner (SMB-Berechtigungen) schränken beispielsweise den Zugriff weiter ein, wenn sie restriktiver sind als die effektiven NTFS-Berechtigungen. Bei Ressourcen, die durch eine IIS-Anwendung
bereitgestellt werden, kann der Zugriff durch restriktivere Sicherheitseinstellungen für die Website
oder das virtuelle Verzeichnis begrenzt werden.
Die Auswertung effektiver Berechtigungen kann kompliziert sein. Die in Abbildung 2.4 gezeigte Registerkarte Effektive Berechtigungen im Dialogfeld Erweiterte Sicherheitseinstellungen kann hilfreich sein.
Um sie verwenden zu können, markieren Sie die Benutzer oder Gruppen, für die Sie die effektiven
Berechtigungen auswerten wollen. Eine grobe Schätzung der effektiven Berechtigungen des Sicherheitsprinzipals wird angezeigt.
98 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Abbildung 2.4 Die Registerkarte Effektive Berechtigungen
Allerdings hat dieses Werkzeug seine Schwächen. Folgendes wird von ihm nicht berücksichtigt:
„ Ob der Benutzer lokal, über Remotedesktop oder von einem entfernten Standort aus über einen
freigegebenen Ordner auf die Datei zugreift. Diese Zugriffsmodalitäten werden durch StandardSIDs wie Interaktiv, Netzwerk oder Interaktive Remoteanmeldung dargestellt.
„ Andere Standard-SIDs, darunter Eingeschränkter Zugriff, Anonymous-Anmeldung und Standardbenutzer.
Mehr über die Registerkarte Effektive Berechtigungen, ihre Funktionsweise und ihre Schwächen erfahren
Sie durch einen Klick auf den Link Wie werden die effektiven Berechtigungen bestimmt. Damit gelangen
Sie zur Hilfedatei für die Benutzeroberfläche der Zugriffssteuerung mit dem Thema Bestimmen effektiver
Berechtigungen.
Empfohlene Vorgehensweisen Entwickeln Sie ein Verständnis für die Einschränkungen der Registerkarte
Effektive Berechtigungen.
Letztendlich ist es schwierig und zeitraubend, den Ressourcenzugriff auf der Ebene einzelner Zugriffssteuerungslisten auszuwerten. In Lösungsgruppe 1, »Rollenbasierte Verwaltung«, habe ich einen
datenbankgesteuerten Ansatz zur Verwaltung einer Unternehmensumgebung vorgestellt, bei dem
Active Directory-Gruppen sowohl zur Einrichtung der Datenbankkomponente als auch der Geschäftslogik der rollenbasierten Verwaltung eingesetzt wurden. Ich habe empfohlen, Gruppen mit Namen wie
ACL_Budget_Read und ACL_Budget_Edit zu erstellen, um ein Verhältnis von 1:1 zwischen einem
Datenbankobjekt (der Gruppe) und einem Verwaltungspunkt (die Zugriffssteuerungslisten für eine
Ressourcensammlung, z.B. das Budget) herzustellen. Diese Vorgehensweise bietet einen sichtbaren,
leicht zu verwaltenden Ansatz für die Sicherheit verteilter Ressourcen.
2.2 Verwalten der Ordnerstruktur 99
Empfohlene Vorgehensweisen Sofern die Geschäftsanforderungen nicht anderes erforderlich machen,
sollten Sie keine Standard-SIDs – z.B. Interaktiv, Netzwerk, Remote, Terminalserverbenutzer, Eingeschränkter
Zugriff, Anonymous-Anmeldung oder Standardbenutzer – zur Konfiguration von Zugriffssteuerungseinträgen
für eine sicherungsfähige Ressource verwenden. Dadurch wird die Auswertung effektiver Berechtigungen
wesentlich schwieriger. Stattdessen sollten Sie die Verwaltung von Zugriffssteuerungslisten steuerbar
machen, indem Sie die in Lösungsgruppe 1 vorgestellten Konzepte und Werkzeuge für die rollenbasierte
Zugriffssteuerung verwenden.
Zusammenfassung
Die Benutzeroberflächen des ACL-Editors können zur Anzeige und zur Bearbeitung von Berechtigungen für eine sicherungsfähige Ressource verwendet werden, z.B. eine Datei oder einen Ordner. Auch
wenn Sie mit der Registerkarte Sicherheit des Eigenschaftendialogfelds sowie den Dialogfeldern
Erweiterte Sicherheitseinstellungen und Berechtigungseintrag vertraut sind, sollten Sie sicherstellen,
dass Sie die empfohlenen Vorgehensweisen kennen und befolgen:
„ Klicken Sie beim Betrachten von Berechtigungen auf der Registerkarte Sicherheit stets auf die
Schaltfläche Erweitert und werten Sie die Berechtigungen mithilfe des Dialogfelds Erweiterte
Sicherheitseinstellungen aus. In den meisten Situationen bieten die Berechtigungsvorlagen auf der
Registerkarte Sicherheit kein vollständiges Bild der Zugriffssteuerungsliste einer Ressource.
„ Entwickeln Sie ein Verständnis für die Bedeutung der kanonischen Auflistung von Berechtigungen
im Dialogfeld Erweiterte Sicherheitseinstellungen. Die oben in der Liste stehenden Berechtigungen
heben die darunter angegebenen auf. Sich dieser Tatsache bewusst zu sein, kann die Auswertung
effektiver Berechtigungen vereinfachen.
„ Wenn eine Berechtigung in der Spalte Berechtigung auf der Registerkarte Berechtigungen des Dialogfelds Erweiterte Sicherheitseinstellungen mit dem Vermerk Speziell versehen ist, sollten Sie sie
sich im Dialogfeld Berechtigungseintrag ansehen, um ihre Zugriffssteuerungseinträge und ihren
Vererbungsbereich vollständig zu verstehen.
„ Beachten Sie, dass es sich bei den Ergebnissen auf der Registerkarte Effektive Berechtigungen um
eine Schätzung der effektiven Berechtigungen handelt und dass sie eine Reihe besonderer Identitäten
ignorieren.
„ Um die Last der Sicherheitsverwaltung zu verringern, sollten Sie die in Lösungsgruppe 1 vorgestellten Konzepte und Werkzeuge für die rollenbasierte Zugriffssteuerung umsetzen.
2.2 Verwalten der Ordnerstruktur
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
NTFS-Volumes
Zusammenfassung
Unterhalten Sie eine breite und flache Ordnerstruktur, die die Verwaltung der Ordnersicherheit mithilfe der Vererbung ermöglicht
und die Anzahl der Ebenen mit expliziten Zugriffssteuerungslisten
so gering wie möglich hält.
Vorteile
Erhöhte Verwaltbarkeit und Sicherheit
100 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Einführung
»Die Schönheit geht nur so tief wie die Haut«, lautet ein englisches Sprichwort. Auch das Leben ist
schön, wenn der Umfang der Sicherheitsverwaltung nur so tief geht wie die Oberfläche. Mit anderen
Worten: »Gehen Sie in die Breite, nicht in die Tiefe.«
Ordner dienen zwei Zwecken. Ein Ordner strukturiert Inhalte – Dateien und Unterordner – in einem
einzigen Container. Durch die Pflege einer Zugriffssteuerungsliste mit vererbbaren Zugriffssteuerungseinträgen stellt ein Ordner den Gültigkeitsbereich für die Sicherheit seiner Inhalte her.
Normalerweise zeichnen sich Dateiserver durch Ordnerhierarchien aus mehreren Ebenen aus. Ein Ordner
der höchsten Ebene namens Data kann beispielsweise über Unterordner für die einzelnen Abteilungen
verfügen. Ein Abteilungsunterordner gliedert sich wiederum in Projekt- und Teamordner. Diese Ordner
enthalten viele Ebenen mit Unterordnern.
Erstellen einer breiten statt einer tiefen Ordnerstruktur
Solche tiefen Ordnerstrukturen sind relativ unbedenklich, was die Rolle dieser Ordner bei der Strukturierung von Inhalten anbelangt. Wenn Sie jedoch die Sicherheit genauer festlegen müssen, indem Sie
Zugriffssteuerungslisten für Ordner über mehr als ein paar Ebenen verwalten, wird es wahrscheinlich
mühsam für Sie. Je tiefer Sie gehen, um den Zugriff für einen bestimmten Benutzer oder eine Gruppe
festzulegen, desto schwieriger wird die Sicherheitsverwaltung. Sie fangen an, sich mit einer wachsenden Anzahl von Ausnahmen von der Regel zu beschäftigen, wobei es sich bei der »Regel« um das Maß
des von den Zugriffssteuerungslisten für einen übergeordneten Ordner festgelegten Zugriffs handelt
und Sie diesen Zugriff auf einen Unterordner öffnen oder sperren müssen. Möglicherweise stoßen Sie
auch auf sich gegenseitig ausschließende Zugriffsanforderungen. Ein Benutzer namens Joe benötigt
beispielsweise Zugang zu einem Ordner, der sich in der vierten Ebenen befindet, sollte aber nicht auf
Dateien in dem darüber, d.h. auf der dritten Ebene liegenden Ordner zugreifen. Dass eine solche Anforderung mithilfe der Berechtigungen und Rechte von Ordner durchsehen erfüllt werden kann, bedeutet
nicht, dass dies auf diese Weise geschehen sollte.
Stattdessen ist es empfehlenswert, die Berechtigungen für einen Ordner auf höherer Ebene festzulegen,
damit sie ausreichen, um die Sicherheit für alle Unterordner und Dateien zu beschreiben, und um zu
gestatten, dass sie durch die Vererbung der Zugriffssteuerungslisten in der Hierarchie an die darunter
liegenden Ebenen übertragen werden.
Empfohlene Vorgehensweisen Die Sicherheit sollte möglichst durch Vererbung verwaltet werden, damit
Berechtigungen von einer einzigen, höheren Stelle innerhalb der Ordnerhierarchie aus verwaltet werden
können.
Die Grundlagen der Vererbung
Wie mehrere andere Windows-Komponenten zeichnen sich Zugriffssteuerungslisten durch das Konzept der Vererbung aus. Mit der Vererbung von Zugriffssteuerungslisten können Sie Berechtigungen für
einen Container, z.B. ein Volume oder einen Ordner, festlegen und automatisch an den Inhalt dieses
Containers weiterleiten.
Wenn Sie die Berechtigungen für einen Ordner zuweisen, sind diese standardmäßig vererbbar und werden an alle Objekte in diesem Ordner weitergeleitet. Dies geschieht, weil untergeordnete Objekte so
konfiguriert sind, dass sie die standardmäßige Weiterleitung vererbbarer Berechtigungen von der übergeordneten an die untergeordneten Zugriffssteuerungslisten erlauben. Daher muss ein Administrator die
2.2 Verwalten der Ordnerstruktur 101
Berechtigungen nur einmal für den übergeordneten Ordner festlegen, wobei diese dann automatisch an
die untergeordneten Dateien und Ordner weitergeleitet werden.
Verwalten der Vererbung
Bei der Vererbung handelt es sich um die Auswirkungen der kombinierten Vererbungsflags für die
Zugriffssteuerungseinträge eines übergeordneten Volumes oder Ordners und einer untergeordneten
Datei oder eines Unterordners mit zugelassener Vererbung. Daher wird die Vererbung an zwei Verwaltungspunkten eingerichtet: in einem übergeordneten Ordner oder Volume und in einer untergeordneten
Datei oder einem Unterordner. An übergeordneter Stelle werden die Vererbungsflags von Zugriffssteuerungseinträgen mithilfe des weiter vorn in Abbildung 2.3 dargestellten Dialogfelds Berechtigungseintrag konfiguriert.
Insbesondere die Dropdownliste Übernehmen für erlaubt Ihnen festzulegen, für welchen der folgenden
Bereiche ein Berechtigungseintrag gilt:
„ Diesen Ordner, Unterordner und Dateien (Standard)
„ Nur diesen Ordner
„ Diesen Ordner und Unterordner (keine Dateien)
„ Diesen Ordner und Dateien (aber keine Unterordner)
„ Nur Unterordner und Dateien (aber nicht diesen Ordner oder dessen Dateien)
„ Nur Unterordner (aber nicht diesen Ordner oder dessen Dateien)
„ Nur Dateien (nur in diesem Ordner, nicht in Unterordnern)
Darüber hinaus wird die Vererbung vom Kontrollkästchen Berechtigungen nur für Objekte und/oder
Container in diesem Container übernehmen beeinflusst. Diese Option ändert die Vererbung des Gültigkeitsbereichs so, dass sie nur auf die darunter liegende Ebene und nicht auf einen vollständigen Zweig
innerhalb einer Ordnerstruktur angewendet wird.
Ob eine untergeordnete Datei oder ein Unterordner die Vererbung zulässt, wird im Dialogfeld Erweiterte
Sicherheitseinstellungen auf der Registerkarte Berechtigungen des Objekts festgelegt. Auf Systemen mit
Windows XP und Windows Server 2003, die Sie in Abbildung 2.5 sehen, ist die Vererbungsoption mit
Berechtigungen übergeordneter Objekte auf untergeordnete Objekte, sofern anwendbar, vererben. Diese
mit den hier definierten Einträgen mit einbeziehen. bezeichnet, auf Systemen mit Windows Vista und
Windows Server 2008, wie weiter vorn in Abbildung 2.2 gezeigt, lautet sie Vererbbare Berechtigungen
des übergeordneten Objektes einschließen.
Die Vererbung von Zugriffssteuerungseinträgen erfolgt detailliert und dynamisch. Wenn ein untergeordnetes Objekt so konfiguriert wird, dass es die Vererbung zulässt, werden alle Änderungen an den
vererbbaren Berechtigungen des übergeordneten Ordners oder Volumes ohne Eingreifen des Benutzers
an das untergeordnete Objekt weitergeleitet. Durch geerbte Berechtigungen werden keine Berechtigungen entfernt, die dem untergeordneten Objekt explizit zugewiesen wurden. Bei der Weiterleitung von
Zugriffssteuerungseinträgen handelt es sich um ein bedeutendes Konzept: Das Hinzufügen, Entfernen
oder Ändern eines vererbbaren Zugriffssteuerungseintrags veranlasst das NTFS-Dateisystem, die
Zugriffssteuerungslisten für die untergeordneten Objekte, die die Vererbung zulassen, neu zu konfigurieren. Dieses Verhalten zieht Probleme nach sich, denen wir uns an anderer Stelle in dieser Lösungsgruppe widmen. In einem Container mit einer Vielzahl von Objekten kann diese Weiterleitung einige
Zeit in Anspruch nehmen.
102 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Wichtig Wenn ein Notfall eintritt, bei dem Sie den Zugriff auf Ressourcen schnell einschränken müssen, sollten Sie anstelle der NTFS-Berechtigungen die Berechtigungen für SMB-Freigabe ändern. Änderungen an letzteren Berechtigungen treten sofort für die gesamte Freigabe in Kraft, während Änderungen an NTFS-Berechtigungen an jedes einzelne Objekt weitergeleitet werden müssen, was viel Zeit in Anspruch nehmen kann.
Abbildung 2.5 Das Dialogfeld Erweiterte Sicherheitseinstellungen unter Windows XP und Windows Server 2003
Der Einfluss der Vererbung auf die Ordnerhierarchie
Da es empfehlenswert ist, die Sicherheit möglichst mit Vererbung zu verwalten, ist es ebenfalls ratsam,
die Konfiguration expliziter Berechtigungen für Ordner über eine größere Anzahl von Ebenen innerhalb
der Ordnerhierarchie möglichst zu vermeiden. Ideal wäre es, wenn nur für Ordner der ersten Ebene (die
Abteilungsordner) und vielleicht die der zweiten Ebene (die Team- oder Projektordner) explizite
Zugriffssteuerungseinträge festgelegt werden müssten. Es ist unwahrscheinlich, dass dieser Idealzustand
bei allen freigegebenen Ordnern hergestellt werden kann, aber es lohnt sich, dieses Ziel zu verfolgen.
Im Allgemeinen sollten Sie sich für die Verwaltung der Zugriffssteuerung an die folgende empfohlene
Vorgehensweise halten.
Empfohlene Vorgehensweisen Am besten sind Sie mit einer breiten anstelle einer tiefen Ordnerstruktur
bedient.
Wenn Sie eine größere Anzahl von Ordnern auf höherer Ebene haben, können Sie die Zugriffssteuerungslisten für diese Ordner effektiver verwalten.
2.3 Verwalten des Zugriffs auf Stammdatenordner 103
Darstellen von freigegebenen Ordnern in einer logischen Hierarchie
mithilfe von DFS-Namespaces
Möglicherweise haben Sie Bedenken, dass Ihre Benutzer bei einer flacheren und breiteren Strukturierung Ihrer Ordner Schwierigkeiten mit der Navigation haben, um die von ihnen benötigten Ressourcen
zu finden. In Lösung 2.15, »Serverübergreifendes Verteilen von Dateien« auf Seite 150 untersuchen wir
die folgenden empfohlenen Vorgehensweisen im Einzelnen.
Empfohlene Vorgehensweisen Verwenden Sie die Funktion DFS-Namespaces, um den Benutzern Ihre freigegebenen Ordner in einer Hierarchie zu präsentieren, die die logische Anordnung der Informationen in Ihrem
Unternehmen widerspiegelt, anstatt die Benutzer zu zwingen, die physische Speicherstruktur von Servern und
Ordnern zu durchsuchen.
Die Funktion DFS-Namespaces gestattet Ihnen, die physische Struktur freigegebener Ordner – die Server,
auf denen sich die freigegebenen Ordner befinden, und die Pfade zu diesen Ordnern – zu abstrahieren und
freigegebene Ordner in einem virtuellen Namespace darzustellen. Das bedeutet, dass Sie über eine physische Struktur der Ordner auf Ihren Servern verfügen können, die effektive Verwaltungsbereiche für den
Zugriff auf Ressourcen bilden (d.h. eine breite anstelle einer tiefen Ordnerstruktur) und diese Ordner für
die Benutzer weiterhin als eine scheinbar tiefe, strukturierte Hierarchie darstellen. Wenn Sie mit Datenverwaltungskonzepten vertraut sind, wissen Sie, dass die Verwaltung von Dateien und Ordnern (die physische Speicherung Ihrer Dateien und Ordner) von der Darstellung der Ordner für die Benutzer (der logischen Anordnung der Ordner in einem DFS-Namespace) getrennt ist.
Als angenehmer Nebeneffekt weisen NTFS-Volumes eine höhere Leistung auf, wenn die Verzeichnisstruktur breit und nicht tief ist. Daher sind Sie nicht nur in der Lage, den Zugriff effektiver zu verwalten,
sondern erhalten auch eine wenn auch nur geringe Leistungssteigerung.
Zusammenfassung
Erstellen Sie eine Ordnerstruktur, die nicht tief, sondern breit ist. Verwenden Sie Ordner auf höherer
Ebene, vorzugsweise auf der ersten oder zweiten Ebene, um die Zugriffsverwaltung festzulegen, indem
Sie eine Zugriffssteuerungsliste mit Zugriffssteuerungseinträgen anwenden, die in den unteren Hierarchieebenen nicht aufgehoben, geöffnet oder gesperrt werden müssen. Präsentieren Sie den Benutzern
die freigegebenen Ordner in einem DFS-Namespace, der die logische Anordnung der Inhalte Ihres
Unternehmens widerspiegelt.
2.3 Verwalten des Zugriffs auf Stammdatenordner
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
NFTS-Volumes, Gruppenrichtlinieneinstellungen für das Dateisystem
Zusammenfassung
Erstellen Sie konsistente Stammdatenordner auf allen Dateiservern
und verwalten Sie den Zugriff auf diese Ordner durch die Supportteams mithilfe von Gruppenrichtlinien, um Zugriffssteuerungslisten anzuwenden und zu pflegen.
Vorteile
Erhöhte Verwaltbarkeit und Sicherheit
104 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Einführung
In dieser technischen Referenz betone ich stets, dass es sich bei der Konsistenz und der Verwaltbarkeit
um grundlegende Bausteine der Sicherheit handelt. Außerdem erinnere ich Sie daran, die Sicherheit auf
der Basis der geringsten Privilegien zu verwalten, wobei den Benutzern nur die Rechte und Berechtigungen erteilt werden, die sie zur Ausführung Ihrer Arbeit brauchen. Diese Lösung bietet eine verwaltbare Möglichkeit, die Konsistenz sowie die geringsten Privilegien für Stammdatenordner oder Datenordner der höchsten Ebene auf Dateiservern zu erzielen.
Erstellen von mindestens einem konsistenten Stammdatenordner
auf jedem Dateiserver
Der Zugriff auf Dateiserver erfolgt von einem entfernten Standort aus, und zwar nicht nur wenn Benutzer eine Verbindung mit freigegebenen Ordnern herstellen, sondern auch wenn Supportmitarbeiter Aufgaben wie das Erstellen, Entfernen und Sichern von Ordnern ausführen müssen.
Allzu oft sehe ich Datenvolumes auf einem Dateiserver mit Ordnern der höchsten Ebene, die den
Benutzern als Freigaben dienen. Was geschieht aber, wenn Supportmitarbeiter Berechtigungen für
einen dieser freigegebenen Ordner der höchsten Ebene ändern müssen? Sie können es nicht. Wenn sie
eine Remoteverbindung zu einem freigegebenen Ordner herstellen, können sie dessen NTFS-Berechtigungen nicht ändern. Sie können lediglich die Berechtigungen von Ordnern innerhalb des freigegebenen Ordners ändern. Um die NTFS-Berechtigungen des freigegebenen Ordners zu ändern, müssen sie
entweder MMC-Snap-Ins verwenden oder in Windows Explorer das Eigenschaftendialogfeld des Ordners öffnen. Normalerweise ist der letzte Ansatz erstrebenswert. Das bedeutet aber, dass die Supportmitarbeiter die Verbindung mit dem Server entweder über Remotedesktop herstellen müssen (was aufgrund der Begrenzung des für die Remoteverwaltung verwendeten Remote Desktop Protocols [RDP]
auf zwei Verbindungen möglicherweise nicht wünschenswert ist) oder über eine versteckte Administrationsfreigabe des Servers (was bedeutet, dass sie der Gruppe Administratoren auf dem Server angehören müssen und dadurch wahrscheinlich mehr Rechte haben, als sie wirklich brauchen). Mitarbeiter,
die freigegebene Ordner pflegen, sind nicht notwendigerweise auch Administratoren für den Server
(oder sollten es nicht unbedingt sein), sodass sie nicht immer in der Lage sind, mithilfe der versteckten
Laufwerksfreigabe eine Verbindung zum Server herzustellen.
Daher sollten Sie einen Ordner auf dem Datenvolume des Servers erstellen, auf dem sich freigegebene
Ordner befinden, und diesen Ordner so schützen, dass Benutzer und Supportmitarbeiter die für die Ordner der ersten Ebene dieses Stamms erforderlichen Aufgaben ausführen kann. Wir bezeichnen solche
Ordner als Stammdatenordner.
Wenn sich beispielsweise jeweils auf dem Laufwerk E:\ zweier Server freigegebene Ordner für Projekte
und Teams befinden, erstellen Sie auf jedem Server einen Ordner mit dem Namen E:\Data. Supportmitarbeiter müssen die Möglichkeit haben, einen Ordner der höchsten Ebene für ein neues Projekt oder
Team zu erstellen. Weisen Sie einer geeigneten Gruppe den Zugriffssteuerungseintrag Ordner erstellen
zu. Abbildung 2.6 zeigt diese Berechtigung.
Erstellen Sie zusätzlich Stammdatenordner, wenn einer der in den freigegebenen Ordnern gespeicherten
Datentypen die Delegierung an besondere Supportteams erfordert. Sind drei verschiedene IT-Supportteams für die Verwaltung von Unterordnern zuständig, sollten Sie drei verschiedene Stammdatenordner
mit Zugriffssteuerungslisten erstellen, die die von den einzelnen Teams benötigte Funktionalität bereitstellen.
2.3 Verwalten des Zugriffs auf Stammdatenordner 105
Abbildung 2.6 Der Zugriffssteuerungseintrag Ordner erstellen
Sie sollten möglichst dafür sorgen, dass die Datenvolumes und Stammdatenordner auf Dateiservern
konsistent sind. Dieser Ansatz erlaubt Ihnen eine effektivere Sicherheitsverwaltung für diese Ordner.
Verwalten und Durchsetzen von Zugriffssteuerungslisten
für Stammdatenordner durch Gruppenrichtlinien
Wenn Stammdatenordner konsistent bereitgestellt werden, können Gruppenrichtlinien wirksam zur
Verwaltung und Durchsetzung der Zugriffssteuerungslisten für diese Ordner eingesetzt werden. Die folgenden Schritte zeigen, auf welche Weise das geschieht:
1. Erstellen Sie ein für auf Ihre Dateiserver zugeschnittenes Gruppenrichtlinienobjekt. Geben Sie ihm
einen mit Ihren Namenskonventionen übereinstimmenden Namen, z.B. GPO_File Server Configuration. Weitere Informationen über Gültigkeitsbereiche und Namen von Gruppenrichtlinienobjekten finden Sie in Lösungsgruppe 10, »Verwalten von Änderungen, Konfiguration und Richtlinien«.
2. Öffnen Sie das Gruppenrichtlinienobjekt im Gruppenrichtlinienverwaltungs-Editor (der in Windows Server 2003 Gruppenrichtlinienobjekt-Editor heißt).
3. Begeben Sie sich zu Computerkonfiguration\Richtlinien\Windows-Einstellungen\Sicherheitseinstellungen\Dateisystem.
4. Klicken Sie mit der rechten Maustaste auf Dateisystem und wählen Sie Datei hinzufügen.
Beachten Sie, dass Ihnen der Befehl Datei hinzufügen die Verwaltung von Dateien und Ordnern
erlaubt.
5. Geben Sie in das Feld Ordner den Pfad zu dem Stammdatenordner auf den lokalen Volumes der
Dateiserver ein, die von dem Gruppenrichtlinienobjekt verwaltet werden, z.B. E:\Data.
106 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Beachten Sie, dass Sie den Pfad einfach eingeben können – der Ordner muss nicht auf dem System
vorhanden sein, von dem aus Sie das Gruppenrichtlinienobjekt bearbeiten.
6. Klicken Sie auf OK.
7. Das in Abbildung 2.7 gezeigte Dialogfeld Datenbanksicherheit wird geöffnet. Es entspricht der
Registerkarte Sicherheit im Eigenschaftendialogfeld eines Ordners. Verwenden Sie es zur Konfiguration der entsprechenden Zugriffssteuerungsliste für den angegebenen Stammdatenordner. Seien
Sie besonders sorgfältig bei der Verwaltung des Vererbungsbereichs für die Einträge dieser
Zugriffssteuerungsliste. Eine ausführliche Anleitung und Beispiele für Zugriffssteuerungslisten
erhalten Sie weiter hinten in diesem Kapitel.
Abbildung 2.7 Die Konfiguration von Gruppenrichtlinien für die Ordnersicherheit
8. Klicken Sie auf OK, um das Dialogfeld Datenbanksicherheit zu schließen.
9. Aktivieren Sie Datei oder Ordner konfigurieren sowie Vererbbare Berechtigungen an alle Unterordner und Dateien übermitteln. Wenn alle Unterordner und Dateien eine Zugriffssteuerungsliste
enthalten sollen, die mit der des Stammdatenordners identisch ist, wählen Sie Vorhandene Berechtigungen für alle Unterordner und Dateien mit vererbbaren Berechtigungen ersetzen.
10. Klicken Sie auf OK.
Das Gruppenrichtlinienobjekt setzt nun die angegebene Zugriffssteuerungsliste für alle Systeme durch,
die sich in deren Gültigkeitsbereich befinden und einen Ordner enthalten, der mit dem angegebenen Pfad
übereinstimmt. Da die Richtlinieneinstellungen für das Dateisystem von der Erweiterung des Sicherheitskonfigurationsmoduls angewendet werden, erfolgt dies standardmäßig alle 16 Stunden, selbst wenn
das Gruppenrichtlinienobjekt nicht geändert wurde. Ändert ein Administrator die Zugriffssteuerungsliste
für den Ordner direkt auf dem Server, wird die Liste daher im Durchschnitt binnen acht Stunden auf die
angegebene Konfiguration zurückgesetzt.
2.4 Delegieren der Verwaltung von freigegebenen Ordnern 107
Zusammenfassung
Erstellen Sie einen Stammdatenordner, d.h. einen Ordner der höchsten Ebene auf dem Datenvolume eines
Dateiservers, um jede eindeutige Zugriffsanforderung auf höchster Ebene (z.B. für verschiedene Supportteams, die für Unterordner zuständig sind) zu unterstützen. Verwenden Sie die Gruppenrichtlinieneinstellungen für das Dateisystem, um die Zugriffssteuerungslisten von Stammdatenordnern einzurichten und
zu erzwingen.
2.4 Delegieren der Verwaltung von freigegebenen Ordnern
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Gruppenrichtlinieneinstellungen für eingeschränkte Gruppen
Zusammenfassung
Verwenden Sie nach Möglichkeit dedizierte Dateiserver und verwalten Sie die Mitgliedschaft der Administratorengruppe mit der
Richtlinieneinstellung für eingeschränkte Gruppen.
Vorteile
Verwaltete Delegierung der Befugnis zum Erstellen, Löschen und
Ändern von freigegebenen Ordnern
Einführung
Freigegebene Ordner können standardmäßig nur von Mitgliedern der Administratorengruppe auf dem
Server verwaltet werden. Es ist nicht möglich, dafür zu sorgen, dass bestimmte Benutzer an bestimmten Speicherorten auf dem Server Ordnerfreigaben anlegen können. Hierbei handelt es sich um ein
Systemprivileg.
Dedizierte Dateiserver
Jeder, der freigegebene Ordner erstellt, muss ein Administrator sein. Wenn ein Server verschiedene
Rollen ausfüllt, hat diese Person daher auch Zugriff auf die anderen Dienste auf dem Server. Aus diesem
Grunde ist es häufig notwendig, Server einzig auf die Dateiserverrolle einzuschränken.
Empfohlene Vorgehensweisen Verwenden Sie dedizierte Dateiserver, die keine weiteren Rollen ausführen.
Delegieren der Verwaltung freigegebener Ordner
Um die Verwaltung freigegebener Ordner zu delegieren, müssen Sie den Benutzer zur Administratorengruppe hinzufügen. Am einfachsten lässt sich diese Delegierung mit der Gruppenrichtlinieneinstellung
für eingeschränkte Gruppen bewerkstelligen, wobei Sie eine Befugnisverwaltungsgruppe in die lokale
Administratorengruppe einfügen:
1. Erstellen Sie eine Gruppe für die Befugnis, freigegebene Ordner zu verwalten, und benennen Sie sie
nach Ihrer Konvention, z.B. SYS_Shared Folder_Admins. Weitere Informationen über Befugnisverwaltungsgruppen und Namenskonventionen finden Sie in Lösungsgruppe 1.
108 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
2. Erstellen Sie ein Gruppenrichtlinienobjekt mit den Dateiservern als Gültigkeitsbereich und benennen
Sie es nach Ihrer Konvention, z.B. File Server Configuration. Weitere Informationen über Gültigkeitsbereiche und Namen von Gruppenrichtlinienobjekten finden Sie in Lösungsgruppe 10.
3. Öffnen Sie das Gruppenrichtlinienobjekt im Gruppenrichtlinienverwaltung-Editor (der in Windows
Server 2003 Gruppenrichtlinienobjekt-Editor heißt).
4. Wechseln Sie zu Computerkonfiguration\Richtlinien\Windows-Einstellungen\Sicherheitseinstellungen\Eingeschränkte Gruppen.
5. Rechtsklicken Sie auf Eingeschränkte Gruppen und wählen Sie Gruppe hinzufügen.
6. Klicken Sie auf Durchsuchen und suchen Sie die Gruppe, die Sie erstellt haben.
Sie können den Gruppennamen auch eingeben (im Format <domäne>\<gruppenname>), doch
wenn Sie dabei einen Tippfehler machen, wird die Einstellung nicht korrekt angewendet. Sie sollten
daher lieber nach der Gruppe suchen und sie dann auswählen. Klicken Sie auf OK, wenn Sie damit
fertig sind.
7. Klicken Sie auf OK, um das Dialogfeld Gruppe hinzufügen zu schließen.
8. Klicken Sie im Eigenschaftendialogfeld für die Gruppe auf die Schaltfläche Hinzufügen neben dem
Abschnitt Diese Gruppe ist Mitglied von.
9. Geben Sie im Dialogfeld Gruppenmitgliedschaft den Namen Administratoren ein und klicken Sie
auf OK. Das Ergebnis sollte aussehen wie in Abb. 2.8.
Abbildung 2.8 Mit der Gruppenrichtlinieneinstellung für eingeschränkte Gruppen wird
eine Gruppe in der lokalen Administratorengruppe platziert
2.4 Delegieren der Verwaltung von freigegebenen Ordnern 109
10. Klicken Sie auf OK, um das Eigenschaftendialogfeld zu schließen.
Das Gruppenrichtlinienobjekt sorgt jetzt dafür, dass die ausgewählte Gruppe auf allen Servern in ihrem
Gültigkeitsbereich Mitglied der lokalen Administratorengruppe ist. Es werden keine Mitglieder aus der
Administratorengruppe entfernt, noch wird diese Gruppe auf irgendeine andere Weise verwaltet.
Hinweis Wenn die lokale Administratorengruppe ausschließlich die Befugnisverwaltungsgruppe (SYS_Shared Folders_Administer) enthalten soll, geben Sie bei dem zuvor beschriebenen Vorgang in Schritt 6 Administratoren ein und klicken Sie in Schritt 8 auf die Schaltfläche Hinzufügen neben dem Abschnitt Mitglieder dieser
Gruppe. Wählen Sie dann die Befugnisverwaltungsgruppe aus, z.B. SYS_Shared Folders_Administer. Dadurch
wird die Liste der Mitglieder zur vollständigen und autorisierenden Mitgliedschaftsliste der Gruppe Administratoren. Der Server entfernt alle Mitglieder aus der Administratorengruppe, die in der Gruppenrichtlinie nicht aufgeführt sind.
Der kniffligste Aspekt bei diesem Ansatz besteht darin, dass bei mehreren Gruppenrichtlinienobjekten, die
Mitgliedschaft in einer Gruppe über die Liste Mitglieder dieser Gruppe festlegen wollen, sich diejenige mit der
höchsten Autorität durchsetzt.
Leider ermöglicht Windows es einem Unternehmen nicht, die Verwaltung von freigegebenen Ordnern
mit einem Benutzerrecht oder einer Zugriffssteuerungsliste zu delegieren. Die einzige Möglichkeit, um
einem Benutzer zu erlauben, Freigaben zu erstellen oder zu verwalten, besteht darin, das Token dieses
Benutzers in die Sicherheitskennung von Administratoren aufzunehmen. Daher müssen Sie einer der
beiden folgenden Möglichkeiten folgen:
„ Freunden Sie sich mit dem Gedanken an, dass die Mitglieder des Supportteams, die freigegebene
Ordner verwalten müssen, Administratoren auf dem Dateiserver sind. Das bedeutet, dass sie eine
breite Palette von Möglichkeiten haben, um auf den Dateiserver und seine Daten zuzugreifen, sie zu
ändern, zu löschen oder die Datenintegrität auf andere Weise zu gefährden.
„ Stellen Sie ein Werkzeug bereit, das Freigaben mit alternativen Anmeldeinformationen anlegt. Solche
Hilfsprogramme werden in Lösungsgruppe 8, »Eine neue Sichtweise der Verwaltung von Gruppen
und Mitgliedschaften«, beschrieben. Angesichts der sicherheitsrelevanten Natur der Daten auf Dateiservern wird dieser Ansatz dringend empfohlen.
Zusammenfassung
Erstellen Sie in Active Directory eine Gruppe für die Befugnis zur Verwaltung von freigegebenen Ordnern (z.B. SYS_Shared Folders_Administer). Die Befugnis richten Sie dann dadurch ein, dass Sie diese
Gruppe in der lokalen Administratorengruppe auf dem Server verschachteln. Verwenden Sie dafür die
Einstellungen für eingeschränkte Gruppen in einem Gruppenrichtlinienobjekt, dessen Gültigkeitsbereich die Dateiserver umfasst.
110 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
2.5 Festlegen der freizugebenden Ordner
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Freigegebene Ordner
Zusammenfassung
Sie lernen die Designkriterien kennen, die entscheiden, ob ein
Ordner freigegeben werden sollte und wie viele Freigaben erforderlich sind.
Vorteile
Die Anzahl der freigegebenen Ordner in Ihrer Umgebung wird
optimiert.
Einführung
Es gibt empfohlene Vorgehensweisen dafür, ob und wie ein Ordner freigegeben werden sollte. Bei diesen
Vorgehensweisen, die wir weiter hinten in dieser Lösung kennen lernen werden, müssen Sie sich über die
folgenden Einstellungen Gedanken machen:
„ NTFS-Berechtigungen. Ein Ordner muss mit den korrekten Berechtigungen in den NTFS-Zugriffssteuerungslisten konfiguriert sein, bevor er freigegeben wird.
„ Freigabeprotokolle. In Windows Server 2008 können Sie Ordner mit SMB, dem standardmäßigen
Protokoll für Windows-Clients, und mit NFS (Network File System) freigeben, das für die Kompatibilität mit Unix- und Linux-Clients eingesetzt wird. In dieser Lösungsgruppe sehen wir uns nur
SMB-Freigaben an.
„ Der Name für die SMB-Ordnerfreigabe.
„ Eine optionale Beschreibung für den freigegebenen Ordner.
„ Die Grenze für die Anzahl der erlaubten gleichzeitigen Benutzer.
„ SMB-Berechtigungen, auch Freigabeberechtigungen genannt.
„ Cacheeinstellungen, die festlegen, ob Dateien und Ordner innerhalb der Freigabe offline geschaltet
werden können.
„ Zugriffsbasierte Auflistung (Access-Based Enumeration, ABE), die beim Remotezugriff diejenigen
Inhalte eines freigegebenen Ordners vor einem Benutzer verbirgt, für die er keine Leseberechtigung
hat. Die zugriffsbasierte Auflistung steht für Windows Server 2003 SP1 (oder höher) zum Download und zur Installation zur Verfügung und ist in Windows Server 2008 standardmäßig installiert.
Sie wird ausführlicher in Lösung 2.12, »Verbergen nicht zugänglicher Objekte vor den Benutzern«,
besprochen.
„ Darstellung des freigegebenen Ordners in einem DFS-Namespace. Der Rollendienst DFS-Namespaces wird in Lösung 2.18, »Erstellen eines effektiven delegierten DFS-Namespace«, erläutert.
2.5 Festlegen der freizugebenden Ordner 111
Festlegen der freizugebenden Ordner
Bei der Entscheidung, was freigegeben werden soll, geht es vor allem um die beiden Schlüsselfaktoren,
die in den nächsten beiden Abschnitten besprochen werden.
Darstellung der Informationen für die Benutzer
Freigegebene Ordner bieten eine eindeutige Verbindung zu einer Sammlung von Dateien und Ordnern.
Der UNC-Pfad (Universal Naming Convention) zu der Freigabe lautet, wie sollte es auch anders sein,
\\<servername>\<freigabename>. Wenn Sie für eine Sammlung von Finanz- und eine von Marketingdokumenten zwei unterschiedliche Einstiegspunkte haben möchten, können Sie für jede dieser Sammlungen einen eigenen freigegebenen Ordner anlegen, z.B. \\<servername>\finance und \\<servername>\marketing. Wenn Sie die Informationen in Ihrem Unternehmen aber so gliedern, haben Sie
nachher eine große Anzahl von Freigaben. Leider ist dies genau das, was die meisten Unternehmen
getan haben. Dabei handelt es sich aber nicht um eine empfohlene Vorgehensweise.
Seit der Veröffentlichung von Windows 2000 können Windows-Clients Verbindungen zu Zielen unterhalb einer Freigabe aufnehmen. Sie müssen also nur einen einzigen Stammdatenordner wie Department$ freigeben, in dem es dann die Ordner Finance und Marketing gibt. Die UNC-Pfade lauten dann
\\<servername>\department$\finance und \\<servername>\department$\marketing. Wenn Sie diese
UNC-Pfade verwenden, um ein Netzlaufwerk zu den Ordnern Finance und Marketing zuzuweisen oder
wenn Sie sie als Ziele für Ordner in einem DFS-Namespace einsetzen (siehe Lösung 2.18 auf
Seite 162), können die Benutzer von ihren eigenen Abteilungsordnern aus nicht mehr in die höhere
Ebene von Departments wechseln. Das Dollarzeichen am Ende des Freigabenamens verhindert, dass
die Freigabe in Auflistungen auftaucht. Versteckte Freigaben sind eine Möglichkeit, um Benutzer daran
zu hindern, im Netzwerk herumzuschnüffeln. Wichtiger sind jedoch natürlich die NTFS-Berechtigungen, die Sie für den Ordner Departments einrichten.
Durch die Kombination von Clientverbindungen zu Unterordnern einer Freigabe und die Einrichtung von
DFS-Namespaces erlaubt einem Unternehmen, nur Ordner oberster Ebene statt einzelne Unterordner
freizugeben.
Verwaltung von SMB-Einstellungen
Freigegebene Ordner bilden auch einen Verwaltungsbereich für die zuvor aufgeführten Einstellungen:
Benutzeranzahl, SMB-Berechtigungen, zugriffsbasierte Auflistung und Cacheeinstellungen. Aus diesem Grund kann es nötig sein, zusätzliche freigegebene Ordner zu erstellen. Wenn zwei Abteilungen
z.B. unterschiedliche Cacheeinstellungen benötigen, müssen sie sich in zwei getrennten freigegebenen
Ordnern befinden, um zwei verschiedene Verwaltungsbereiche zu bilden.
Das bedeutet jedoch nicht, dass sie sich in zwei getrennten Ordnern des Dateisystems befinden müssen.
In einer Situation, in der die Benutzer von Marketing in der Lage sein müssen, Dateien offline zu nehmen, während dies den Benutzern von Sales nicht erlaubt ist, können Sie eine Dateisystemhierarchie mit
den beiden Ordnern E:\Data\Sales und E:\Data\Marketing erstellen. Anschließend können Sie jeden
Ordner für sich mit den passenden Cacheeinstellungen freigeben. Alternativ können Sie aber auch den
Ordner E:\Sales and Marketing einmal als Sales$ mit deaktiviertem Caching und SMB-Berechtigungen
freigeben, nach denen nur Benutzer aus der Abteilung Sales auf die Freigabe zugreifen können. Denselben Ordner geben Sie dann ein zweites Mal unter dem Namen Marketing$ mit aktiviertem Caching und
SMB-Berechtigungen frei, die nur Marketing-Benutzern den Zugriff erlauben. Die Cacheeinstellungen
werden durch die Eigenschaften der SMB-Ordnerfreigabe durchgesetzt, nicht durch die Eigenschaften
des NTFS-Ordners.
112 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Zusammenfassung
Erstellen Sie für einen Datenordner der obersten Ebene eine Ordnerfreigabe. Zusätzliche Freigaben
legen Sie immer dann an, wenn für SMB-Berechtigungen, Caching, die Anzahl gleichzeitiger Verbindungen oder die zugriffsbasierte Auflistung ein eigener Verwaltungsbereich benötigt wird.
2.6 Ordnerzugriffsberechtigungen auf der Grundlage
der erforderlichen Befugnisse
Die Lösung im Überblick
Typ
Anleitung und Skripts
Funktionen und Werkzeuge
NTFS-Ordner, Zugriffssteuerungslisten, icacls
Zusammenfassung
Sie ermöglichen den Zugriff auf Ordner, indem Sie mit Bedacht
sorgfältig abgewogene NTFS-Berechtigungen anwenden.
Vorteile
Eine verwaltbare, automatisierte und konsistente Gestaltung des
Ordnerzugriffs mit den geringstmöglichen Privilegien
Einführung
Bevor Sie einen Ordner freigeben, müssen Sie dafür sorgen, dass seine NTFS-Berechtigungen korrekt
eingerichtet sind. Der Zugriff sollte hauptsächlich, wenn nicht ausschließlich mit NTFS-Zugriffssteuerungslisten eingerichtet werden.
In manchen Organisationen wird die Formulierung gebraucht, ein Benutzer habe die »Rolle«, in einem
bestimmten Maße auf einen Ordner zuzugreifen. Ich ziehe es jedoch vor, das Wort Rolle dafür zu reservieren, dass ein Benutzer oder Computer ein durch seine Tätigkeit im Geschäft festgelegtes Merkmal
aufweist, z.B. Standort, Abteilung, Team oder Funktion. Verschiedene Benutzerrollen (z.B. Abteilungen)
können aber die Befugnis erfordern, Dateien in einem Ordner zu lesen. Nach der in Lösungsgruppe 1 vorgestellten Terminologie bezeichnen wir den Grad des Zugriffs als Befugnis – in diesem Fall die Befugnis,
in einem bestimmten Maße auf eine Datei oder einen Ordner zuzugreifen.
In dieser Lösung geht es um einzelne Zugriffsbefugnisse, die wünschenswert sind, und um die Zugriffssteuerungslisten, die eingerichtet werden müssen, um diese Befugnisse zu gewähren. Ich beschreibe
zunächst, wie diese Befugnisse über die Benutzeroberfläche eingerichtet werden, und verwende dann
icacls.exe, um die Berechtigungen anzuwenden. Icacls.exe steht nur auf Windows Server 2003 SP2,
Windows Vista und Windows Server 2008 zur Verfügung. Es ersetzt und erweitert die früheren Versionen cacls.exe, xcacls.exe und xcacls.vbs.
Empfohlene Vorgehensweisen Es ist immer empfehlenswert, Berechtigungen Gruppen zuzuweisen, nicht
zu einzelnen Benutzern.
2.6 Ordnerzugriffsberechtigungen auf der Grundlage der erforderlichen Befugnisse 113
Einrichten einer Lesebefugnis
Der Lesezugriff lässt sich am einfachsten einrichten. Die Berechtigungsvorlage Lesen können Sie auf der
Registerkarte Sicherheit im Eigenschaftendialogfeld einer Datei oder eines Ordners wie folgt zuweisen:
1. Öffnen Sie die Registerkarte Sicherheit im Eigenschaftendialogfeld einer Datei oder eines Ordners.
2. Klicken Sie auf Hinzufügen. Wenn diese Schaltfläche auf einem Windows Vista- oder Windows Server 2008-System nicht sichtbar ist, klicken Sie zunächst auf Bearbeiten und dann auf Hinzufügen.
3. Wählen Sie einen Sicherheitsprinzipal aus, vorzugsweise eine Gruppe.
Die Standardberechtigungen sind Lesen und Ausführen, Lesen und bei einem Ordner Ordnerinhalt
anzeigen. Diese drei Berechtigungsvorlagen, die standardmäßig zugewiesen werden, wenn Sie einen
Sicherheitsprinzipal zu der Zugriffssteuerungsliste hinzufügen, werden im Dialogfeld Erweiterte
Sicherheitseinstellungen auf der Registerkarte Berechtigungen in der Spalte Berechtigung einfach als
Lesen, Ausführen angezeigt. Im Dialogfeld Berechtigungseintrag können Sie ablesen, dass sich diese
Berechtigung aus folgenden Zugriffssteuerungseinträgen zusammensetzt:
„ Ordner durchsuchen/Datei ausführen
„ Ordner auflisten/Datei lesen
„ Attribute lesen
„ Erweiterte Attribute lesen
„ Berechtigungen lesen
Hinweis Sie können über mehr darüber erfahren, was die einzelnen Berechtigungen bedeuten, indem Sie
am unteren Rand des Dialogfelds Berechtigungseintrag auf Berechtigungen verwalten klicken.
Diese Berechtigungen ergeben eine effektive und sichere Lesebefugnis.
Um die Lesebefugnis mithilfe von icacls.exe einzurichten, verwenden Sie den folgenden Befehl:
icacls.exe Pfad zum Ordner /grant Sicherheitsprinzipal:(CI)(OI)RX
Um die Lesebefugnis für eine einzelne Datei zuzuweisen, gehen Sie wie folgt vor:
icacls.exe Pfad zur Datei /grant Sicherheitsprinzipal:RX
Um z.B. die Befugnis zu gewähren, den Ordner von Team A lesen zu können, verwenden Sie den folgenden Befehl:
icacls.exe "e:\data\team a" /grant "ACL_Team A_Read":(CI)(OI)RX
Hinweis Die Parameter (CI) und (OI) legen den Vererbungsbereich einer Berechtigung fest. Mit (CI) wird die
Berechtigung auf den betreffenden Ordner und seine Unterordner angewandt, mit (OI) auf die Dateien in dem
Ordner und seinen Unterordnern. Um eine Berechtigung nur eine Ebene tief anzuwenden, verwenden Sie
den Parameter (NP), was für »no propagation« (»keine Übertragung«) steht. Wollen Sie eine Berechtigung
für alle Objekte in einem Ordner festlegen, die aber für den Ordner selbst nicht gelten soll, nehmen Sie den
Parameter (IO) (»inherit only«, also »nur vererben«). Wir setzen hier voraus, dass Sie Zugriffssteuerungslisten für einen Ordner hoher Ebene und all seine Dateien und Unterordner verwalten, und verwenden daher die
Optionen (CI) und (OI).
114 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Die standardmäßige Berechtigungsvorlage Lesen, Ausführen – die die Vorlage Lesen und bei einem Ordner auch Ordnerinhalt auflisten umfasst – ermöglicht den Benutzern, alle Dateitypen zu öffnen. Sie
können Benutzer jedoch daran hindern, ausführbare Dateien zu öffnen und auszuführen, indem Sie den
Berechtigungseintrag Datei ausführen entfernen. Am einfachsten geht das, wenn Sie das Kontrollkästchen Zulassen für Lesen, Ausführen deaktivieren, sodass Zulassen nur für Lesen und bei einem Ordner
auch Ordnerinhalt auflisten aktiviert bleibt.
Testen Sie die resultierende Zugriffssteuerungsliste, um sicherzustellen, dass die Benutzer nicht zu stark
eingeschränkt sind und daran gehindert werden, die Dateitypen zu öffnen, auf die sie für ihre Tätigkeit
zugreifen müssen. Im Ressourcen-Manager für Dateiserver haben Sie die wirkungsvollere Möglichkeit,
Dateiprüfungen einzurichten, um bereits das Speichern von ausführbaren Dateien zu verhindern.
Um eine Lesebefugnis einzurichten und dabei das Öffnen ausführbarer Dateien zu verhindern, verwenden
Sie folgenden Befehl:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)RX Sicherheitsprinzipal:(CI)(OI)R
Einrichten einer Befugnis zum Wechsel zu einer Ressource
Es kann Situationen geben, in denen ein Benutzer auf eine Ressource zugreifen muss, die sich auf einer
Ebene tief innerhalb einer Ordnerhierarchie befindet, für die der Benutzer gar keine Berechtigung zum
Durchsuchen hat. Stellen Sie sich z.B. eine Ordnerstruktur wie E:\Data\Finance\Team A\Communications vor. Ein Benutzer in der Kommunikationsabteilung muss auf die Dateien im Ordner Communications zugreifen. Wir müssen ihm also erlauben, zu diesem Ordner zu wechseln, wobei er aber die übergeordneten Ordner nicht durchsuchen können soll.
Um zu verstehen, was diese Lösung mit sich bringt, müssen Sie wissen, dass ein Benutzer zwei Befugnisse braucht, wenn er einen Pfad zu einem Ordner wie \\<servername>\department$\finance\team
a\communications eingibt. Als Erstes muss er die Fähigkeit haben, den Inhalt des Ordnes Communications zu sehen.
Dies kann wie zuvor beschrieben über eine Lesebefähigung eingerichtet werden. Für die geringstmöglich privilegierte Befugnis, zu einem Ordner zu wechseln, sind zwei Berechtigungseinträge erforderlich:
Ordner auflisten und Attribute lesen. Sie können im Dialogfeld Berechtigungseintrag oder wie folgt mithilfe von icacls zugelassen werden:
icacls Ordnerpfad /grant Sicherheitsprinzipal:(CI)(RD,RA)
Diese Berechtigung reicht jedoch nicht aus, um einem Benutzer zu erlauben, Unterordner oder Dateien
zu öffnen – er kann nur den Inhalt des Ordners sehen. Damit er auch die Dateien öffnen kann, muss für
den Zielordner Communications eine Lesebefugnis eingerichtet werden.
Die zweite Befähigung, die der Benutzer benötigt, besteht darin, die übergeordneten Ordner im Pfad
zu dem gewünschten Ordner zu durchlaufen. In unserem Beispiel bedeutet dass, das der Benutzer den
als Department$ freigegebenen Ordner sowie die Ordner Finance und Team A durchlaufen können
muss. Diese Befugnis kann auf zwei Weisen eingerichtet werden: als Systemprivileg und als NTFSBerechtigung.
Es gibt ein Systemprivileg oder Benutzerrecht, das Auslassen der durchsuchenden Überprüfung
genannt wird und standardmäßig zu Jeder zugewiesen ist. Wenn dieses standardmäßige Benutzerrecht
in Kraft ist, braucht ein Benutzer nur die zuvor erwähnten Berechtigungen für den Zielordner Communications. Die Fähigkeit, übergeordnete Ordner zu durchlaufen, hat er standardmäßig über dieses Recht.
2.6 Ordnerzugriffsberechtigungen auf der Grundlage der erforderlichen Befugnisse 115
Die zweite Möglichkeit, die Befugnis zum Durchlaufen von Ordnern einzurichten, besteht darin, den
Zulassungseintrag für Ordner durchsehen für jeden einzelnen übergeordneten Ordner zu gewähren. Dies
geschieht wiederum im Dialogfeld Berechtigungseintrag oder mithilfe von icacls:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)(X)
Wenn Sie die Standardkonfiguration des Systemprivilegs Auslassen der durchsuchenden Überprüfung
ändern, sodass die Benutzer nicht mehr das Recht haben, Ordner zu durchlaufen, müssen Sie für alle
übergeordneten Ordner den NFTS-Zugriffssteuerungseintrag Ordner durchsehen zulassen, und zwar
beginnend beim freigegebenen Ordner.
Für die Unterordner, die die Benutzer erreichen und öffnen sollen, wenden Sie die Berechtigungen Ordner auflisten und Attribute lesen oder den kompletten Berechtigungssatz Lesen oder Lesen, Ausführen
an. Damit die Benutzer zu diesen Ordnern gelangen können, sind die Zugriffssteuerungseinträge Ordner durchsehen, Ordner auflisten und Attribute lesen Teil der Berechtigungsvorlage Lesen, Ausführen.
Wenn Sie einen Benutzer jedoch daran hindern möchten, einen übergeordneten Ordner zu öffnen – z.B.
\<servername>\department$\finance oder den Unterordner Team A –, dürfen Sie dem Benutzer nur den
Zugriffssteuerungseintrag Ordner durchsehen für diese übergeordneten Ordner gewähren. Mit icacls
wird die Befugnis für das Wechseln zu einem Ordner wie folgt eingerichtet:
icacls.exe Pfad zum freigegebenen Ordner /grant Sicherheitsprinzipal:(CI)(X)
icacls.exe Pfad zum Zielordner /grant Sicherheitsprinzipal:(CI)(RD,RA)
Auch dadurch wird den Benutzern erlaubt, den Zielordner zu öffnen, wenn er ein Unterordner in einer
Hierarchie ist. Damit die Benutzer Dateien innerhalb des Ziels öffnen können, müssen Sie für eine
Lesebefugnis sorgen:
icacls.exe Pfad zum Zielordner /grant Sicherheitsprinzipal:(OI)[R or RX]
Einrichten einer Bearbeitungsbefugnis
Eine Bearbeitungsbefugnis wird gewöhnlich in Situationen gebraucht, in denen ein Team von Benutzern
in der Lage sein muss, gegenseitig Dokumente zu öffnen und Änderungen daran vorzunehmen. Das
Problem ist, dass diese Befugnis in den meisten Unternehmen mithilfe der Berechtigungsvorlage Ändern
eingerichtet ist. In dieser Vorlage ist aber auch der Berechtigungseintrag Löschen enthalten. Wenn eine
Gruppe die Berechtigung Ändern für einen Ordner hat, kann jeder Benutzer dieser Gruppe versehentlich
oder absichtlich den Ordner und seinen gesamten Inhalt oder eine Teilmenge des Inhalts löschen. Dies
kann bestenfalls zu einer Dienstverweigerung führen, also dazu, dass die Benutzer für eine gewisse Zeit,
in der die Daten wiederhergestellt werden, nicht auf die erforderlichen Dateien zugreifen können.
Schlimmstenfalls sind die Daten verloren – vor allem Daten, die noch nicht gesichert oder durch Schattenkopien erfasst worden sind.
Noch gefährlicher ist die Berechtigungsvorlage Vollzugriff, die außerdem noch Einträge für Unterordner und Dateien löschen, Berechtigungen ändern und Besitz übernehmen enthält. Jeder dieser Einträge
eröffnet für jedes Mitglied der Gruppe neue Möglichkeiten, um Daten in der gesamten Ordnerstruktur
zu beschädigen oder zu löschen. Der Eintrag Unterordner und Dateien löschen ist eine besondere Containerberechtigung, die es einem Benutzer ermöglicht, einen Benutzer und seinen ganzen Inhalt zu
löschen, selbst wenn er eine ausdrückliche Verweigerungsberechtigung Löschen für diese Inhalte hat.
Dies ist für eine Gruppe eine besonders gefährliche Berechtigung.
116 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Empfohlene Vorgehensweisen Sofern es mit den Geschäftsanforderungen vereinbar ist, sollten Sie einer
Gruppe nicht die Berechtigungsvorlagen Ändern oder Vollzugriff für einen Ordner zuweisen, da es beide
ermöglichen, dass jeder beliebige Benutzer in der Gruppe eine Dienstverweigerung oder einen Datenverlust
innerhalb des Ordners verursachen kann.
In vielen Geschäftssituationen ist es für die Benutzer nicht angebracht, die Dokumente anderer zu
löschen, sondern nur, sie zu ändern. Die Bearbeitungsbefugnis sollte daher mit einer der folgenden
Techniken eingerichtet werden:
Berechtigungsvorlage Schreiben für die Gruppe Wenn die Berechtigungsvorlage Schreiben auf
einen Ordner angewendet und einer Gruppe zugewiesen wird, haben die Mitglieder der Gruppe die
Möglichkeit, Änderungen an den Dokumenten der anderen vorzunehmen, können diese aber nicht
löschen. Die Benutzer in der Gruppe können auch neue Dateien und Ordner erstellen.
Berechtigungsvorlage Löschen für eine kleinere Gruppe Sie können die Zulassungsberechtigung
Löschen zu einer Teilmenge der Benutzer des Teams zuweisen. Richten Sie eine Befugnis zum Aufräumen oder Verwalten der Ordner ein, die den Zulassungseintrag Löschen oder die Berechtigungsvorlage Ändern umfasst.
Berechtigungsvorlage Ändern nur für Dateien, nicht für Ordner Alternativ können Sie einer
Gruppe die Zulassungsberechtigung Ändern für einen Ordner gewähren, die Vererbung aber so
ändern, dass sie nur für Dateien und nicht für Ordner gilt. Die Benutzer können dann immer noch
die Dokumente anderer Gruppenmitglieder löschen, aber die Ordner sind geschützt.
Geeignete Berechtigungen für Ersteller-Besitzer Wenn ein Benutzer mit dem Zugriffssteuerungseintrag Datei erstellen oder Ordner erstellen eine Datei oder einen Ordner anlegt (die beide in der
Berechtigungsvorlage Schreiben enthalten sind), wird er zum Besitzer des neuen Objekts. Sein
Benutzerkonto erhält dann ausdrückliche Zugriffssteuerungseinträge, die den vererbbaren Einträgen
für die besondere Identität Ersteller-Besitzer für den übergeordneten Ordner entsprechen. Wenn Sie
der Identität Ersteller-Besitzer also die Berechtigungsvorlage Ändern gewähren (die den Zulassungseintrag Löschen für den übergeordneten Ordner umfasst) und diese Vorlage auf Dateien als Gültigkeitsbereich anwenden, erhält jeder, der in diesem Ordner eine neue Datei anlegt, die Berechtigung
Ändern und damit auch Löschen für die neue Datei. Das ist in der Tat für die meisten Geschäftssituationen empfehlenswert. Die Person, die eine Datei erstellt hat, kann sie daher auch wieder löschen,
während die Benutzer in der Gruppe nicht die Dateien der anderen entfernen können.
Wenn Sie der Identität Ersteller-Besitzer Vollzugriff gewähren (was übliche Praxis und auch die
Windows-Voreinstellung ist), gehen Sie zwei Risiken ein. Erstens können die Benutzer die Berechtigungen für die selbst von ihnen erstellen Objekte ändern, ohne dass dies eine Fehlerüberwachung
auslöst. Dieses Problem schauen wir uns in Lösung 2.11, »Verhindern von Berechtigungsänderungen durch den Besitzer einer Datei«, auf Seite 139 genauer an. Zweitens: Wenn ein Benutzer einen
Ordner erstellt und damit den Vollzugriff dafür erbt, kann er den Besitz übernehmen, die Berechtigungen ändern und jegliche Dateien und Ordner löschen, die später zu dem von ihm angelegten
Ordner hinzugefügt wurden.
Wenn Sie eine Bearbeitungsbefugnis einrichten, ist es am besten, der Identität Ersteller-Besitzer die
Berechtigungsvorlage Ändern zu gewähren und diese nur auf Dateien vererben zu lassen. Diese Empfehlung ist jedoch mit Vorsicht zu genießen, da sie sich hauptsächlich für freigegebene Teamordner
eignet. Selbst dann sollte sie genau bedacht werden, um beurteilen zu können, ob sie ihren Geschäftsanforderungen entspricht. Das Fazit lautet, dass Sie Berechtigungen für Ersteller-Besitzer sorgfältig
überprüfen müssen. Richten Sie sich dabei nach den Ausführungen in Lösung 2.11 auf Seite 139.
2.6 Ordnerzugriffsberechtigungen auf der Grundlage der erforderlichen Befugnisse 117
Welche Methode Sie anwenden, um eine Bearbeitungsbefugnis einzurichten, hängt von den Geschäftsanforderungen für die Daten im jeweiligen Ordner ab. Eine angemessen sichere Bearbeitungsbefugnis – bei
der Benutzer die Dokumente anderer ändern, aber nicht löschen dürfen und ein Dokument nur von seinem
Ersteller entfernt werden kann – lässt sich mit icacls.exe wie folgt einrichten:
icacls.exe
icacls.exe
icacls.exe
icacls.exe
Ordnerpfad
Ordnerpfad
Ordnerpfad
Ordnerpfad
/grant
/grant
/grant
/grant
Sicherheitsprinzipal:(CI)(OI)(RX)
Sicherheitsprinzipal:(CI)(WD,AD)
Sicherheitsprinzipal:(OI)(IO)W
"CREATOR OWNER":(CI)(OI)M
Einrichten einer Beitragsbefugnis
Mit der Bearbeitungsbefugnis können Benutzer die Dokumente von anderen ändern. Die Beitragsbefugnis dient dazu, Dokumente in dem freigegebenen Ordner erstellen und speichern und die Dokumente der
anderen zwar lesen, aber nicht ändern zu können.
Diese Befugnis richten Sie ein, indem Sie einer Gruppe die Fähigkeit gewähren, Dateien und Ordner
innerhalb eines Ordners zu erstellen und die Inhalte des Ordners zu lesen. Mit icacls.exe gehen Sie dazu
folgendermaßen vor:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)(WD,AD) Sicherheitsprinzipal:(CI)(OI)[R | RX]
Außerdem müssen Sie festlegen, welche Befugnisse die Benutzer erhalten sollen, wenn sie eine neue
Datei oder einen Ordner erstellen. Schlagen Sie dazu in der Abhandlung über Ersteller-Besitzer im vorherigen Abschnitt nach. Sie können z.B. folgenden Befehl verwenden:
icacls.exe Ordnerpfad /grant "Creator Owner":(CI)(OI)(IO)M
Einrichten einer Ablagebefugnis
In einem Ablageordner können Benutzer Dateien hinzufügen, anschließend aber nicht mehr darauf
zugreifen. Dies wird dadurch erreicht, dass die Benutzer für einen Ornder die Berechtigung Dateien
erstellen bekommen, aber nicht Ordnerinhalt auflisten:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)(WD)
Da die Benutzer keine Leseberechtigung für den Ablageordner haben, wird dieser auch nicht angezeigt,
wenn Sie die zugriffsbasierte Auflistung für die Freigabe eingerichtet haben. Für Freigaben, die einen
Ablageordner enthalten, muss diese Funktion ausgeschaltet werden.
Bei einer Variante dieser Befugnis können die Benutzer Dateien im Ablageordner hinzufügen und auf
ihre eigenen Dateien zugreifen, aber keine Dateien anderer Benutzer sehen:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)(WD) Sicherheitsprinzipal:(NP)[R | RX]
icacls.exe Ordnerpfad /grant "Creator Owner":(OI)(IO)[R | RX | W | M]
Dieser Satz von Berechtigungen gibt einer Gruppe die Möglichkeit, Dateien zu dem Ordner hinzuzufügen
und den Inhalt des Ordners zu sehen. Der Trick besteht darin, dass Sie nun die zugriffsbasierte Auflistung
aktivieren, sodass die Benutzer nur die Dateien sehen können, die sie selbst hinzugefügt haben. Je nach
den Berechtigungsoptionen, die Sie im zweiten Befehl angeben, hat ein Benutzer die Lese- Schreib- oder
Änderungsberechtigung für die von ihm hinzugefügten Dateien.
118 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Einrichten einer Unterstützungsbefugnis
Die Unterstützungsbefugnis ermöglicht einem Benutzer, administrative Aufgaben an Dateien und Ordnern durchzuführen, sie also umzubenennen, zu verschieben und zu löschen. Diese Befugnis wird häufig
mit der Berechtigungsvorlage Vollzugriff eingerichtet. Wie bereits gesagt, enthält diese Vorlage aber
diverse gefährliche Einträge, weshalb sie nur mit äußerster Vorsicht angewendet werden sollte. Wenn Sie
die Berechtigungsvorlage Vollzugriff verwenden möchten, können Sie das mit dem folgenden icacls.exeBefehl tun:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)(OI)F
Das Supportpersonal muss normalerweise nicht in der Lage sein, den Besitz über eine Datei oder einen
Ordner zu übernehmen oder die Berechtigungen dafür zu ändern, und nur sehr selten braucht es die
Berechtigungen zum Löschen von Unterordnern und Dateien. Sie sollten die Unterstützungsbefugnis
also besser mit der Berechtigungsvorlage Ändern einrichten:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)(OI)M
Wenn Sie eine der restlichen drei detaillierten Berechtigungen hinzufügen wollen, die den Unterschied
zwischen Ändern und Vollzugriff ausmachen, verwenden Sie die Optionen WO (»Write Owner« für
Besitz übernehmen), WDAC (»Write Discretionary Access Control« für Berechtiungen ändern) und DC
(»Delete Child« für Unterordner und Dateien löschen). Damit die Supportabteilung das Objekt ändern
und den Besitz übernehmen kann, verwenden Sie also folgenden Befehl:
icacls.exe Ordnerpfad /grant Sicherheitsprinzipal:(CI)(OI)M(WO)
Die Unterstützungsbefugnis kann als »Support«, »Verwaltung« oder sogar »Besitz« bezeichnet werden.
Alle drei Beschreibungen bezeichnen die Fähigkeit, Aktionen an den Ressourcen in einem freigegebenen
Ordner vorzunehmen.
Erstellen von Skripts zur konsistenten Anwendung der Berechtigungen
Um die konsistente Anwendung von Zugriffssteuerungslisten für die in Ihrer Organisation eingerichteten
Befugnisse zu erleichtern, sollten Sie Skripts erstellen, die dafür sorgen, dass die korrekten Berechtigungen zugewiesen werden. Das folgende Skript legt z.B. eine Beitragsbefugnis für einen Ordner an, indem
es der betreffenden Gruppe die richtigen Berechtigungen gewährt:
Folder_Capability_Contribute.bat
@echo off
Set GROUP=%1
Set FOLDER=%2
icacls.exe %FOLDER% /grant %GROUP%:(CI)(WD,AD) %GROUP%:(CI)(OI)R
icacls.exe %FOLDER% /grant "Creator Owner":(CI)(OI)(IO)M
@echo on
2.6 Ordnerzugriffsberechtigungen auf der Grundlage der erforderlichen Befugnisse 119
Das Skript wird mit zwei Parametern aufgerufen, von denen der erste die Gruppe angibt, die die Beitragsbefugnis erhalten soll, und die zwei den Ordner, z.B. wie folgt:
Folder_Capability_Contribute.bat ACL_MyFolder_Contribute
"\\server01.contoso.com\departments$\finance\team a"
Sie können ähnliche Skripts vorbereiten, die die in dieser Lösung beschriebenen icacls.exe-Befehle verwenden, um die gewünschten Befugnisse einzurichten.
Verwalten der Ordnerzugriffsbefugnisse durch
rollenbasierte Zugriffssteuerung
Die rollenbasierte Zugriffssteuerung ist eine übliche Methode der rollenbasierten Verwaltung für den
Ressourcenzugriff. Nirgendwo sonst zahlt sich die rollenbasierte Verwaltung in Form von IT-Produktivität so sehr aus als bei der rollenbasierten Zugriffssteuerung. Viele Organisationen ziehen ihre Vorteile
aus der rollenbasierten Verwaltung: Wenn ein Benutzer angestellt wird, führt die Definition seiner Rolle
durch die Personalabteilung und seinen Vorgesetzten dazu, dass er an seinem ersten Arbeitstag sofort
Zugriff auf seine Ressourcen hat. Wird er befördert oder innerhalb der Organisation versetzt, führt die
Neudefinition seiner Rollen (die Verschiebung von einer zur anderen Gruppe) zu einem nahtlosen
Übergang von dem zuvor benötigten Ressourcenzugriff zu dem für die neuen Rollen.
Außerdem ermöglicht die rollenbasierte Zugriffssteuerung der IT-Abteilung, zwei entscheidende Fragen
zu beantworten: »Auf was kann der Benutzer zugreifen?« und »Wer kann auf diese Ressource zugreifen?« Wenn die erste Frage gestellt wird, müsste ein Administrator sonst viele Zugriffssteuerungslisten
durchsuchen, um die Einträge zu finden, die dem Benutzerkonto direkt oder den Gruppen zugewiesen
sind, denen der Benutzer angehört. Bei der zweiten Frage müsste der Administrator Zugriffssteuerungseinträge wie Ordner durchsehen, Daten anhängen und Unterordner und Dateien löschen interpretieren.
Die rollenbasierte Zugriffssteuerung revolutioniert die Analyse und Überwachung der Ressourcensicherheit.
In Lösung 1.5, »Einrichten einer rollenbasierten Zugriffssteuerung«, wird dieses Thema ausführlicher
im Zusammenhang der rollenbasierten Verwaltung als Ganzes erläutert. Die folgende Liste fasst die
empfohlenen Vorgehensweisen für die rollenbasierte Zugriffssteuerung zusammen:
„ Rollengruppen werden als globale Sicherheitsgruppen eingerichtet. Sie definieren Sammlungen
von Benutzern und Computern aufgrund von geschäftlichen Merkmalen.
„ Die Befugnisse für den Ressourcenzugriff werden durch Hinzufügen von Berechtigungen zu
Zugriffssteuerungslisten eingerichtet.
„ Die Verwaltung dieser Befugnisse erfolgt über lokale Domänensicherheitsgruppen, die für eine
bestimmte Befugnis für eine bestimmte Sammlung von Ressourcen stehen, z.B. ACL_Budget_Read
und ACL_Budget_Contribute.
„ Rollengruppen und gelegentlich einzelne Benutzer oder Computern erhalten ihre Befugnisse nicht
dadurch, dass sie direkt zu der Zugriffssteuerungsliste hinzugefügt werden, sondern durch Verschachtelung in der entsprechenden Befugnisverwaltungsgruppe.
120 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Zusammenfassung
Gewähren Sie Berechtigungen für einen Ordner aufgrund der Befugnisse, die die Benutzer für den betreffenden Ordner brauchen. Leider können die Befugnisse, die IT-Arbeiter in der heutigen Zeit benötigen,
nicht mit geringstmöglichen Privilegien eingerichtet werden, ohne detaillierte Zugriffssteuerungseinträge
und deren Vererbung handhaben zu müssen. Sie können diese Berechtigungen zwar über die Benutzeroberfläche vergeben, aber meistens sind Sie am besten damit bedient, icacls.exe zur Einrichtung der
Sicherheit zu verwenden, vor allem, da Sie den Vorgang mithilfe von Skripts automatisieren können, um
eine konsistente Anwendung der Berechtigungen zu gewährleisten. Verwalten Sie die Befugnisse für den
Ressourcenzugriff, indem Sie Befugnisverwaltungsgruppen für eine bestimmte Art von Zugriff für die
verschiedenen Sammlungen von Ressourcen erstellen. Dadurch können Sie die rollenbasierte Verwaltung
nutzen, um eine rollenbasierte Zugriffssteuerung einzurichten.
2.7 Berechtigungen für freigegebene Ordner
(SMB-Berechtigungen)
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Freigegebene Ordner, net share
Zusammenfassung
In den meisten Situationen sollte Jeder die Zugriffsberechtigung
Vollzugriff haben, während die NTFS-Berechtigungen dazu verwendet werden, den Ordner im Einklang mit den Geschäftsanforderungen zu schützen. Leider ist die standardmäßige SMB-Berechtigung für Jeder nur die Zulassung von Lesen, was in den meisten
Fällen zu restriktiv ist. Mit dem Befehl net share könnens Sie eine
Freigabe mit besonderen Berechtigungen schaffen, z.B. mit der
Zulassungsberchtigung Vollzugriff für Jeder.
Vorteile
Verbesserte Verwaltbarkeit der Sicherheit freigegebener Ordner
Einführung
Die Berechtigungen für einen freigegebenen Ordner wurden lange Zeit Freigabeberechtigungen
genannt. Da Windows Server 2008 von Haus aus auch die Ordnerfreigabe mit NFS unterstützt, werden
diese Berechtigungen jetzt etwas genauer als SMB-Berechtigungen bezeichnet. Für die Einrichtung
der Sicherheit sind sie jedoch eine Herausforderung, da sie den Ressourcenzugriff auf ungewöhnliche
Weise beeinflussen.
Erstens: Wenn die effektive SMB-Berechtigung für einen Benutzer restriktiver ist als seine effektive
NTFS-Berechtigung, wird die SMB-Berechtigung angewendet. Wenn ein Benutzer also die NTFSZulassungsberechtigung Vollzugriff hat, der Ordner aber mit der SMB-Zulassungsberechtigung Lesen
für Jeder freigegeben ist, kann der Benutzer Elemente nur lesen, wenn er über die SMB-Freigabe auf
den Ordner zugreift. Die Zulassungsberechtigung Lesen für Jeder ist aber die Standardberechtigung, die
angewendet wird, wenn Sie über die Benutzeroberfläche von Windows Server 2003 und höher eine Freigabe anlegen. Daher können selbst Administratoren, die die Freigabe erstellt haben, nur mit Leseberechtigung darauf zugreifen.
2.7 Berechtigungen für freigegebene Ordner (SMB-Berechtigungen) 121
Zweitens wirken sich SMB-Berechtigungen nur dann auf den Ressourcenzugriff aus, wenn er über den
UNC-Pfad des freigegebenen Ordners erfolgt. Erfolgt der Zugriff lokal durch Anmeldung auf dem Server
oder über Remotedesktop, gelten die SMB-Berechtigungen nicht. Ein physischer Ordner kann außerdem
mehrere Male mit jeweils völlig anderen SMB-Berechtigungen freigegeben werden. Je nach dem, über
welchen UNC-Pfad die Benutzer auf eine Datei in einem Ordner zugreifen, können Sie daher völlig
unterschiedliche effektive Berechtigungen dafür haben.
Drittens sind SMB-Berechtigungen unsicher. Sie werden nicht in der Sicherheitsbeschreibung des freigegebenen Ordners gespeichert, sondern in der Registrierung. Wird der Ordner verschoben oder umbenannt, gehen die Freigabeberechtigungen letzten Endes verloren, da sie jetzt auf einen Ordner verweisen,
den es gar nicht mehr gibt.
Es gibt eine Reihe weiterer Gründe, aus denen Freigabeberechtigungen von vielen Organisationen nicht
verwendet werden. Stattdessen verfolgen diese Organisationen einen Ansatz, bei dem jede Freigabe mit
der SMB-Zulassungsberechtigung Vollzugriff für Jeder erstellt wird. Dadurch werden jedoch keine
Daten in diesem Ordner offen gelegt, denn der Ordner wird gleichzeitig durch NTFS-Berechtigungen
für den Zugriff mit den geringstmöglichen Privilegien gesichert.
Es gibt nach meiner Erfahrung nur eine Hand voll Situationen, in denen es sinnvoll ist, andere SMBBerechtigungen als den Vollzugriff für Jeder einzurichten. Dabei handelt es sich um folgende Fälle:
Verhindern, dass Benutzer (selbst die Besitzer von Objekten) Berechtigungen ändern Wenn Sie
nur die SMB-Zulassungsberechtigung Ändern einrichten, können die Benutzer die Berechtigungen
für die Ressourcen im freigegebenen Ordner nicht mehr ändern, nicht einmal für die Objekte, deren
Besitzer sie sind. Diese Einschränkung gilt natürlich nur für den Remotezugriff über den UNC-Pfad
des freigegebenen Ordners, nicht über den lokalen oder den Remotedesktop-Zugriff. Seit Windows
Server 2008 können Sie diese Geschäftsanforderung jedoch auch über die Identität Eigentümerrechte umsetzen, die in Lösung 2.11 auf Seite 139 beschrieben wird.
Erstellen einer Nabe-und-Speiche-Verteilung von Ressourcen Manche Organisationen möchten
eine Kopie der Ressourcen auf mehrere Standorte verteilen. Dazu können sie die DFS-Replikation
(DFS-R) oder Robocopy einsetzen. Wenn Ihre Organisation wünscht, dass Änderungen nur an den
Originaldokumenten an einem einzigen Standort vorgenommen werden dürfen, stehen Sie vor einer
Herausforderung. Bei DFS-R werden die NTFS-Berechtigungen repliziert, und Robocopy können
und sollten Sie mit /copy:s oder /copyall so konfigurieren, dass ebenfalls die Berechtigungen repliziert werden. Um Änderungen an einem Ort, aber nicht an den anderen zu erlauben, müssen Sie
den Benutzern daher die NFTS-Berechtigung Schreiben oder Ändern geben und die Möglichkeit für
Änderungen dann dadurch weiter einschränken, dass Sie den freigegebenen Ordnern mit den
Kopien die SMB-Zulassungsberechtigung Lesen zuweisen. Dieser Fall wird in Lösung 2.15 auf
Seite 150 genauer beschrieben..
Anwenden unterschiedlicher SMB-Einstellungen auf verschiedene Benutzer innerhalb derselben
Ordnerstruktur Zu den SMB-Einstellungen gehören Zugriffssteuerungseinträge und Cacheeinstellungen. Stellen Sie sich einen Abteilungsordner vor, bei dem Sie bis auf wenige Ausnahmen alle
Benutzer daran hindern möchten, Dateien offline zu nehmen. Dies können Sie dadurch erreichen,
indem Sie den Ordner zweimal freigeben. Bei der ersten Freigabe ist das Caching deaktiviert, bei der
zweiten aktiviert. Außerdem sind die Freigabeberechtigungen der zweiten Freigabe so eingerichtet,
dass nur ausgewählte Benutzer über diesen UNC-Pfad darauf zugreifen können. Ebenso können Sie
auch eine Ordnerstruktur einrichten, bei der für einige Benutzer die zugriffsbasierte Auflistung aktiviert ist, während andere, z.B. die Supportabteilung, alle Dateien sehen können. Auch dieses Ziel können Sie mit zwei Freigaben mit unterschiedlichen Konfigurationen und Berechtigungen erreichen.
122 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Vorübergehende Sperrung Ein freigegebener Ordner wird gewöhnlich mit der SMB-Zulassungsberechtigung Vollzugriff für Jeder eingerichtet, wobei die Zugriffsbefugnisse durch restriktivere
NTFS-Berechtigungen bestimmt werden. Es kann jedoch notwendig werden, eine Ressource zu
sperren. Ein Sicherheitszwischenfall kann z.B. erfordern, einen Ordner einzufrieren – also den
Zugriff ganz zu verhindern oder eventuell auf den Lesezugriff einzuschränken. Wenn Sie die Freigabeberechtigungen vom zugelassenen Vollzugriff auf die Zulassungsberechtigung Lesen oder gar
die Verweigerungsberechtigung Vollzugriff ändern, können Sie sofort weitere Änderungen an den
Daten in dem freigegebenen Ordner verhindern. Die Änderung der NTFS-Berechtigungen des
Stammordners würde dagegen zu einer Weiterleitung der Zugriffssteuerungslisten führen, die aus
folgenden Gründen problematisch wäre:
† Die Weiterleitung der Zugriffssteuerungslisten an alle Objekte erfordert, dass alle untergeordneten Objekte die Berechtigungen erben, was nicht der Fall sein muss.
† Eine explizite Berechtigung für ein untergeordnetes Objekt kann genau die Art von Zugriff
ermöglichen, die Sie verhindern möchten.
† Bei der Weiterleitung der Zugriffssteuerungslisten werden die Dateien angefasst, was die effektive Überwachung oder forensische Untersuchung beeinträchtigen mag.
† Die Weiterleitung der Zugriffssteuerungsliste erfordert Zeit. Wenn eine große Anzahl von
Dateien betroffen ist, kann es sein, dass der Zugriff auf die Dateien für untragbar lange Zeit aufrechterhalten bleibt.
Die Sperrung eines Ordners mit SMB-Berechtigungen tritt unmittelbar in Kraft, fasst die Dateien
und Ordner innerhalb der Freigabe nicht an und kann auf einfache Weise rückgängig gemacht werden. Denken Sie aber an die Schwächen der SMB-Berechtigungen, z.B. die Tatsache, dass sie den
Zugriff auf Dateien über lokal oder via Remotedesktop am Dateiserver angemeldete Benutzer nicht
einschränken.
Skripterstellung für SMB-Berechtigungen auf lokalen
und Remotesystemen
Die einfachste Möglichkeit, um SMB-Berechtigungen einzurichten, besteht darin, die Freigabe mit
dem Befehl net share zu erstellen:
net share freigabename=pfad /GRANT:benutzer oder gruppe,[READ | CHANGE | FULL]
Zum Anlegen einer Freigabe empfehle ich Ihnen net share anstelle der Benutzeroberfläche zu verwenden, da Sie mit diesem Befehl gleichzeitig die Freigabe erstellen und die SMB-Berechtigungen festlegen
können. Aber was ist, wenn Sie eine Freigabe auf einem Remotesystem erstellen müssen? Hier kommt
uns PSExec zu Hilfe. Dieses Programm wurde ursprünglich von Mark Russinovich und seinen Freunden
bei der Firma Sysinternals entwickelt, bevor diese von Microsoft übernommen wurden. Es handelt sich
dabei um ein wichtiges Handwerkszeug für Administratoren, da sie damit Befehle auf einem Remotecomputer ausgeben können. Wenn Sie das Proramm noch nicht kennen, haben Sie jetzt das Glück, dies
nachzuholen. Sie können es von http://www.microsoft.com/technet/sysinternals herunterladen. Die
grundlegende Syntax lautet:
psexec \\computername befehl
2.8 Skripts zum Erstellen einer SMB-Freigabe 123
In dieser einfachen Form nimmt PSExec zwei Argumente entgegen. Das erste ist der Computername,
dem zwei Backslashes vorausgehen, z.B. \\server01. Das zweite Argument ist der Befehl, den Sie ausführen möchten. Sie können PSExec wie folgt verwenden, um den Befehl net share auf dem Remotesystem auszugeben:
psexec \\computername net share freigabename=pfad
/GRANT:benutzer oder gruppe,[READ | CHANGE | FULL]
Mit net share können Sie Berechtigungen nur dann zuweisen, wenn Sie eine Freigabe erstellen. Es ist
nicht möglich, mit diesem Befehl die Berechtigungen einer bereits vorhandenen Freigabe zu ändern.
Dazu müssen Sie die Freigabe löschen und neu erstellen. Mit Skripts, die z.B. in VBScript geschrieben
sind, können Sie die Sicherheitsbeschreibung der SMB-Ordnerfreigabe bearbeiten und die Zugriffssteuerungsliste jederzeit ändern. Ein solches Skript wird in Lösung 2.9, »Erstellen freigegebener Ordner«,
auf Seite 125 vorgestellt.
Zusammenfassung
Der Zugriff auf freigegebene Ordner sollte nach dem Prinzip der geringstmöglichen Privilegien mit
NTFS-Berechtigungen eingerichtet werden. Daher können Sie die SMB-Berechtigungen auf die Zulassung des Vollzugriffs für Jeder setzen. Diese Vorgehensweise ist für die meisten Organisationen empfehlenswert. Es gibt nur eine Hand voll Fälle, von denen wir einige in dieser Lösung behandelt haben,
bei denen es erforderlich ist, die Freigabeberechtigungen restriktiver einzurichten. Da beim Erstellen
von Freigaben mit den Werkzeugen der Benutzeroberfläche standardmäßig nur die Zulassungsberechtigung Lesen für Jeder gewährt wird, sollten Sie Freigaben stattdessen mit dem Befehl net share und der
Option /grant:everyone, full anlegen und gleichzeitig die Berechtigungen zuweisen.
2.8 Skripts zum Erstellen einer SMB-Freigabe
Die Lösung im Überblick
Typ
Skript
Funktionen und Werkzeuge
VBScript, PSExec, net share
Zusammenfassung
Sie passen das Skript Share_Create.vbs an und verwenden es, um
eine SMB-Freigabe mitsamt allen ihren Eigenschaften zu erstellen.
Vorteile
Verbesserte Verwaltbarkeit der Sicherheit freigegebener Ordner
Einführung
Da die Konsole Freigegebene Ordner standardmäßig Freigabeberechtigungen und Cacheeinstellungen
zuweist, die sich für die meisten Situationen nicht eignen, empfehle ich Ihnen, ein Skript zu erstellen,
um freigegebene Ordner nach Ihren Spezifikationen bereitzustellen.
Verwenden von Share_Create.vbs
Das Skript Share_Create.vbs, dass Sie im Ordner Scripts auf dem Begleitmedium finden, erstellt eine
Freigabe und weist ihr die Zulassungsberechtigung Vollzugriff für Jeder zu. Das Skript wird wie folgt
verwendet:
124 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
cscript Share_Create.vbs /server:Servername
/path: "Pfad zum Ordner im Dateisystem des Servers"
/sharename:"Freigabename" [/cache: Cacheeinstellungen]
[/username:Alternativer Benutzername /password:Alternatives Kennwort
In diesem Skript können Sie als Cacheeinstellungen Manual, Documents, Programs und None wählen.
Bei Alternativer Benutzername und Alternatives Kennwort handelt es sich um Anmeldeinformationen
zum Erstellen der Freigabe. Sind keine alternativen Anmeldeinformationen angegeben, wird das Skript
im Sicherheitskontext des zurzeit angemeldeten Benutzers ausgeführt.
Anpassen von Share_Create.vbs
Leider werden Cacheeinstellungen nicht auf eine Weise offen gelegt, die einen Zugriff mit VBScript
erlaubt. Daher müssen wir den Befehl net share ausführen, um die Cacheeinstellungen vorzunehmen.
Das Skript setzt psexec.exe ein, um net share auf Remotecomputern auszuführen.
Sie müssen im Konfigurationsblock des Skripts den vollständigen Pfad zu psexec.exe angeben. Dies ist
nicht erforderlich, wenn sich psexec.exe im selben Ordner befindet wie das Skript.
Optional können Sie auch die Freigabeberechtigungen ändern, die das Skript für einen neu erstellten
freigegebenen Ordner vergibt. Standardmäßig weist das Skript die Zulassungsberechtigung Vollzugriff
für Jeder zu. Sie können diese Vorgabe ändern und auch weitere Berechtigungen hinzufügen, die auf
die neue Freigabe angewendet werden.
Grundlagen von Share_Create.vbs
Im Folgenden finden Sie eine Beschreibung der Kernkomponenten des Skripts.
Set oWMIService = ConnectWMI(sServer, "root\cimv2", sUsername, sPassword)
Diese Zeile ruft die Funktion ConnectWMI auf, um Verbindung mit dem WMI-Namespace (Windows
Management Instrumentatin) root\cimv2 auf dem Server aufzunehmen, den Sie an der Befehlszeile
durch das Argument /server angegeben haben. Bevor eine neue Ordnerfreigabe erstellt wird, entfernt
das Skript jegliche Freigabe desselben Namens:
Set oOutParams = oWMIService.ExecMethod("Win32_Share.Name='" & sShareName & "'", "Delete")
Anschließend wird eine Sicherheitsbeschreibung mit der SMB-Zugriffssteuerungsliste für den freigegebenen Ordner angelegt. Die folgenden Codezeilen können Sie ändern, um eine andere standardmäßige
Zugriffssteuerungsliste einzurichten:
Set oSecDescClass = oWMIService.Get("Win32_SecurityDescriptor")
Set oSecDesc = oSecDescClass.SpawnInstance_()
Set oTrustee = oWMIService.Get("Win32_Trustee").SpawnInstance_
Set oACE = oWMIService.Get("Win32_Ace").SpawnInstance_
' KONFIGURATION (Optional)
' Verwenden Sie die folgenden drei Zeilen für "Jeder"
oTrustee.Domain = Null
oTrustee.Name = "EVERYONE"
oTrustee.Properties_.Item("SID") = Array(1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0)
' Für andere Benutzer/Gruppen als Jeder nehmen Sie folgende Zeilen
2.9 Erstellen freigegebener Ordner 125
' statt der drei vorstehenden:
' Set oTrustee = Trustee_Get("<domain>", "<name", "user | group")
' KONFIGURATION (Optional)
oACE.Properties_.Item("AccessMask") = 2032127
' 2032127 = "Full"
' 1245631 = "Change"
' 1179817 = "Read"
oACE.Properties_.Item("AceFlags") = 3
oACE.Properties_.Item("AceType") = 0
oACE.Properties_.Item("Trustee") = oTrustee
oSecDesc.Properties_.Item("DACL") = Array(oACE)
Nachdem die Sicherheitsbeschreibung angelegt ist, kann der freigegebene Ordner erstellt werden:
Set oWin32Share = oWMIService.Get("Win32_Share")
Set oInParam = oWin32Share.Methods_("Create").InParameters.SpawnInstance_()
oInParam.Properties_.Item("Access") = oSecDesc
oInParam.Properties_.Item("Description") = sRemark
oInParam.Properties_.Item("Name") = sShareName
oInParam.Properties_.Item("Path") = sPath
oInParam.Properties_.Item("Type") = 0
Set oOutParams = oWin32Share.ExecMethod_("Create", oInParam)
Abschließend wird der Befehl net share ausgeführt, um die Cacheeinstellungen für den freigegebenen
Ordner festzulegen:
sCommandLine = "net share """ & sShareName & """ /CACHE:" & sCache
PSExec_Run sCommandLine, sServer
Zusammenfassung
Mit dem Skript Share_Create.vbs können Sie eine Ordnerfreigabe mitsamt ihrer Zugriffssteuerungsliste, ihrer Beschreibung, dem Freigabenamen usw. erstellen.
2.9 Erstellen freigegebener Ordner
Die Lösung im Überblick
Typ
Werkzeug
Funktionen und Werkzeuge
HTML-Anwendung, VBScript, PSExec, net share
Zusammenfassung
Sie passen Folder_Provision.hta an und setzen diese Anwendung
ein, um freigegebene Ordner mit rollenbasierter Zugriffssteuerung bereitzustellen.
Vorteile
Automatisierte, rollenbasierte Bereitstellung von freigegebenen
Ordnern unter Einhaltung von Sicherheitsmaßnahmen
Vorschau
Abbildung 2.9 zeigt eine Vorschau auf die Lösung.
126 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Abbildung 2.9 Das Werkzeug zum Bereitstellen eines freigegebenen Ordners
Einführung
Einen freigegebenen Ordner können Sie nicht in einem einzigen Schritt bereitstellen, sondern müssen
Folgendes tun:
1. Erstellen Sie den Ordner, falls er noch nicht vorhanden ist.
2. Erstellen Sie Befugnisverwaltungsgruppen für den Ressourcenzugriff, um den Ordner zu schützen,
falls Sie den Prinzipien der rollenbasierten Zugriffssteuerung folgen und es diese Gruppen noch
nicht gibt.
3. Richten Sie den Ressourcenzugriff ein, indem Sie die Zugriffssteuerungsliste des Ordners ändern
und die geeigneten Zugriffssteuerungseinträge für die Befugnisverwaltungsgruppen einfügen.
4. Erstellen Sie eine SMB-Freigabe.
5. Weisen Sie SMB-Freigabeberechtigungen zu.
6. Ändern Sie die Eigenschaften der SMB-Freigabe, z.B. die Beschreibung und die Cacheeinstellungen.
Überall in dieser technischen Referenz wenden wir das Prinzip der Vorsorge an, um Vorgänge mit mehreren Schritten zu automatisieren und die konsistente Einhaltung von Geschäftsregeln sicherzustellen.
2.9 Erstellen freigegebener Ordner 127
Ein Vorgang mit so vielen Variablen wie die Bereitstellung von freigegebenen Ordnern ist ein idealer
Kandidat für ein maßgeschneidertes Verwaltungswerkzeug.
Abb. 2.9 zeigt die Oberfläche von Folder_Provision.hta, einer HTML-Anwendung, die Sie im Ordner
Scripts auf dem Begleitmedium finden. Es handelt sich um ein Programm zur Bereitstellung von Ordnern, das die eben erwähnten Schritte automatisiert. Um die Konfiguration und Geschäftslogik Ihres
Unternehmens widerzuspiegeln, erfordert es einen mäßigen Aufwand an Anpassung. In dieser Lösung
untersuchen wir die Anwendung Folder_Provision.hta, um ihre Verwendung, ihre Anpassung und den
Code kennen zu lernen, mit dem sie ihre Aufgabe erfüllt.
Verwenden von Folder_Provision.hta
Folder_Provision.hta befindet sich im Ordner Scripts des Begleitmediums. Diese Anwendung erfordert
das Skript Share_Create.vbs, das in der vorigen Lösung vorgestellt wurde, sowie Psexec.exe, das Sie sich
von http://www.microsoft.com/technet/sysinternals herunterladen können, und Icacls.exe, ein systemeigenes Tool von Windows Server 2003 SP2, Windows Vista und Windows Server 2008. Platzieren Sie
das Skript und die HTML-Anwendung im selben Ordner. Außerdem müssen Sie die HTML-Anwendung
so anpassen, dass sie den Pfad zu Psexec.exe kennt, sofern Sie dieses Programm nicht ebenfalls in den
selben Ordner packen. Die Konfiguration der HTML-Anwendung sehen wir uns weiter hinten in dieser
Lösung an.
Um das Hilfsprogramm zur Bereitstellung eines Ordners verwenden zu können, brauchen Sie die Berechtigung für folgende Vorgänge:
„ Erstellen eines Ordners am angegebenen Speicherort (sofern der Ordner noch nicht existiert)
Der Ordner, den Sie in dem Werkzeug angeben, wird unterhalb des Stammdatenordners angelegt.
Dieser Stammdatenordner muss bereits vorhanden sein. Falls es ihn noch nicht gibt, müssen Sie ihn
vor der Ausführung dieses Hilfsprogramms erstellen.
„ Erstellen einer Freigabe auf dem ausgewählten Server (es sei denn, die Freigabe ist bereits vorhanden
oder Sie möchten den Ordner nicht freigeben)
„ Ändern der Zugriffssteuerungslisten für den Ordner
„ Erstellen von Gruppen in der Organisationseinheit, die Sie auf der Registerkarte Options angeben
(sofern diese Gruppen noch nicht existieren)
Wenn Sie das Werkzueg öffnen, zeigt es wie in Abb. 2.9 eine Reihe von Eingabesteuerelementen an, mit
deren Hilfe Sie einen freigegebenen Ordner bereitstellen können.
Um einen Ordner bereitzustellen, gehen Sie wie folgt vor:
1. Wählen Sie aus der Dropdownliste Server einen Server aus.
Sie können diese Liste anpassen, sodass sie Ihre Dateiserver anzeigt.
2. Geben Sie im Textfeld Folder Name einen Namen für den Ordner ein.
3. Das Feld Folder Location wird automatisch ausgefüllt.
Der Standardspeicherort ist ein Ordner der ersten Ebene unterhalb des Stammdatenordners. Den
Stammdatenordner legen Sie auf der Registerkarte Options fest, die Sie erreichen, indem Sie auf die
gleichnamige Schaltfläche klicken. Bevor Sie den Stammdatenordner hier angeben können, müssen
Sie ihn erstellt und freigegeben haben.
128 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
4.
5.
6.
7.
8.
9.
Der Ordner muss unterhalb des auf der Registerkarte Options festgelegten Stammdatenordners
erstellt werden. Allerdings muss es sich bei ihm nicht um einen Ordner der ersten Ebene unterhalb
des Stamms handeln – er kann auch einige Ebenen tiefer liefen.
Sie können den Code der HTML-Anwendung anpassen, um die Logik zu ändern, nach der das Feld
Folder Name ausgefüllt wird, oder um die Benutzer daran zu hindern, dieses Feld manuell zu überschreiben. Einzelheiten zur Anpassung dieses Werkzeugs finden Sie im nächsten Abschnitt.
Aktivieren Sie das Kontrollkästchen Share Folder um eine neue SMB-Freigabe für den neben Ordner
anzulegen.
Wenn Sie eine Freigabe erstellen, können Sie angeben, ob Sie Offlinedateien dafür zulassen, indem
Sie das Kontrollkästchen Enable Offline Files aktivieren (standardmäßig ist es deaktiviert).
Wenn Sie eine Freigabe erstellen, wird das Textfeld UNC Path To Folder automatisch ausgefüllt.
† Standardmäßig gibt der UNC-Pfad eine verborgene Freigabe in der Form \\<servername>\<ordnername>$ an. Auf der Registerkarte Options können Sie festlegen, ob die HTML-Anwendung
verborgene Freigaben anlegt (Standardeinstellung) oder nicht.
† Sie können den Code der HTML-Anwendung anpassen, um die Logik zu ändern, nach der der
UNC-Pfad erstellt wird. Einzelheiten zur Anpassung dieses Werkzeugs finden Sie im nächsten
Abschnitt.
Geben Sie im Textfeld Description For Folder eine Beschreibung der Freigabe ein.
Geben Sie im Textfeld Groups Base Name einen Namen ein.
Die HTML-Anwendung stellt den Ordner mit einer rollenbasierten Zugriffssteuerung bereit. Sie
legt Befugnisverwaltungsgruppen für ausgewählte Befugnisse wie Lesen (Read), Bearbeiten (Edit),
Beiträge leisten (Contribute) und Verwalten (Administer) an. Der Name der Gruppen folgt dem Format ACL_<Ordnername>_<Befugnis>. Sobald Sie den Wert im Feld Groups Base Name ändern,
werden automatisch Gruppennamen für die einzelnen Befugnisse erstellt.
Auf der Registerkarte Options können Sie den Präfix ändern, der als Namensstandard für Befugnisverwaltungsgruppen zur Ressourcenverwaltung dient (standardmäßig lautet er ACL_). Sie können
auch die Organisationseinheit angeben, in der die Gruppen erstellt werden.
Sie können den Code der HTML-Anwendung anpassen, um die Logik zu ändern, nach der die Gruppennamen gebildet werden. Einzelheiten zur Anpassung dieses Werkzeugs finden Sie im nächsten
Abschnitt.
Wählen Sie im Abschnitt Capabilities and Group Names die Befugnisse aus, die Sie für den Ordner
einrichten möchten.
Es werden nur die ausgewählten Befugnisse (aktivierte Kontrollkästchen) bereitgestellt.
Wird eine Befugnis bereitgestellt, ändert das Skript die Zugriffssteuerungsliste des Ordners, um die
geeigneten Zugriffssteuerungseinträge für die angegebenen Gruppen hinzuzufügen.
Sie können den vorausgefüllten Gruppennamen überschreiben. Dies ist vor allem dann sinnvoll,
wenn Sie einen neuen Ordner in einer bereits vorhandenen Sammlung von Ressourcen erstellen, da
dann die entsprechenden Gruppen bereits in Active Directory vorhanden sind. Wenn eine Befugnis
für eine Gruppe bereitgestellt wird, die es in Active Directory noch nicht gibt, wird diese Gruppe in
der auf der Registerkarte Options angegebenen Organisationseinheit angelegt.
Sie können die HTML-Anwendung anpassen und einige Befugnisse entfernen oder neue hinzufügen.
2.9 Erstellen freigegebener Ordner 129
Neben den Zugriffssteuerungseinträgen für die ausgewählten Gruppen weist der Code der HTMLAnwendung einige standardmäßige weitere zu, nämlich die Zulassungsberechtigung Vollzugriff für
Administratoren und System. Falls Sie die Befugnis Contribute auswählen, erhält Ersteller-Besitzer
die Berechtigung Ändern. Alle diese zusätzlichen Berechtigungen können Sie im Code der Anwendung ändern oder entfernen.
10. Wenn der Besitzer einer Datei oder eines Ordners innerhalb des neuen Ordners die Berechtigungen
für sein Objekt nicht ändern können soll, aktivieren Sie Prevent Owners from Changing Permissions.
Die Option steht nur zur Verfügung, wenn das System, auf dem der Ordner bereitgestellt wird, Windows Vista oder Windows Server 2008 ausführt. Auf Systemen mit früheren Versionen von Windows können Sie diese Option nicht auswählen.
Die Berechtigung, die dies möglich macht, wird in Lösung 2.11 auf Seite 139 besprochen.
11. Um den neuen Ordner zu einem DFS-Namespace hinzuzufügen, aktivieren Sie das Kontrollkästchen Add To DFS Namespace. Sie können dann Folgendes tun:
† Geben Sie den Pfad des übergeordneten DFS-Ordners ein. Dabei kann es sich entweder um
einen vorhandenen Namespace oder einen vorhandenen DFS-Ordner handeln. Das Textfeld
DFS Parent Folder ist mit der Option DFS Namespace von der Registerkarte Options vorausgefüllt.
† Geben Sie den Pfad des neuen DFS-Ordners als Ziel für den Ordner ein, den Sie bereitstellen.
Im Textfeld DFS Folder Name ist der Name dieses Ordners bereits angegeben.
12. Klicken Sie auf Provision Shared Folder.
13. Während die HTML-Anwendung das Skript Share_Create.vbs und Psexec.exe und Icacls.exe aufruft, werden verschiedene Befehlsfenster geöffnet.
Wenn Sie die HTML-Anwendung zum ersten Mal ausführen, werden Sie möglicherweise dazu aufgefordert, dem Lizenzvertrag für Psexec.exe zuzustimmen.
14. Im Fenster Status werden Sie über eventuelle Fehler informiert. Ein Meldungsfeld zeigt an, dass der
Ordner erfolgreich bereitgestellt wurde.
Um die Standardeinstellungen der HTML-Anwendung zu überschreiben, klicken Sie auf die Schaltlfäche
Options. Auf der Registerkarte Options können Sie das Standardverhalten ändern, wobei diese Änderungen bis zum Schließen der Anwendung gelten. Die Vorgabewerte stehen im Code der Anwendung, sodass
Sie ihn bearbeiten müssen, wenn Sie die Standardeinstellungen dauerhaft ändern möchten.
Grundlegende Anpassung von Folder_Provision.hta
Mit Sicherheit müssen Sie das Werkzeug zum Bereitstellen von Ordnern an die Verhältnisse in Ihrem
Unternehmen anpassen. Oben im Skript gibt es einen Konfigurationsblock, der Werte wie den Domänennamen und die Pfade zu den benötigten Skripts und Hilfsprogrammen enthält.
Anpassen des Verhaltens von Optionsvorgaben
Es gibt auch einen Block mit der Bezeichnung Option Defaults, der das Standardverhalten des Werkzeugs bestimmt, z.B. wie der standardmäßige Speicherort der Stammdatenfreigabe lautet, ob für jeden
neuen Ordner eindeutige Freigaben erstellt werden, ob die Freigaben verborgen sind, welches Präfix für
die Gruppen verwendet wird usw. Jeder dieser Werte wird im Code durch Kommentare erklärt.
130 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Alle Werte aus dem Abschnitt Option Defaults werden auf der Registerkarte Options der Anwendung
angezeigt und können bei der Verwendung des Werkzeugs überschrieben werden. Der HTML-Code für
diese Registerkarte befindet sich am Ende des Codes für die Anwendung.
In manchen Situationen wünschen Sie wahrscheinlich nicht, dass ein Benutzer einen der Standardwerte
überschreiben kann. So erlaubt die HTML-Anwendung z.B. nicht, das Präfix für den Benennungsstandard der Gruppen zu ändern (standardmäßig ACL_). Dies liegt daran, dass ein Administrator diesen
Wert für das Präfix im Code der Anwendung eingerichtet hat, um die Namenskonvention durchzusetzen. Jemand, der dieses Werkzeug verwendet, sollte nicht in der Lage sein, die Namenskonvention zu
missachten.
Um einen Standardwert zu sperren, können Sie die Tabellenzelle, die den Wert auf der Registerkarte
Options anzeigt, vom öffnenden Tag <tr> bis zum schließenden Tag </tr> komplett löschen. Alternativ können Sie auch dafür sorgen, dass der Wert zwar auf der Registerkarte Options angezeigt wird,
aber nicht verändert werden kann, indem Sie dem Tag <input> das folgende Attribut hinzufügen:
disabled="true"
Ein Beispiel dafür sehen Sie in der HTML-Zeile, die das Gruppennamenpräfix anzeigt. Die letztgenannte
Methode ist gegenüber dem Löschen der Tabellenzeile zu bevorzugen, da der Benutzer dann immer noch
die Voreinstellung sehen kann, was sehr hilfreich sein mag. Der Benutzer kann diese Voreinstellung nur
nicht ändern.
Anpassen der Serverliste
Die Dropdownliste Server sollte die Dateiserver Ihres Unternehmens anzeigen. Diese Liste finden Sie
hartkodiert nahe dem Ende der HTML-Anwendung:
<select name="cboServer" />
<option value="">Select a server</option>
<option value="SERVER01.contoso.com">SERVER01</option>
<option value="SERVER02.contoso.com">SERVER02</option>
</select>
Das Tag <select> erstellt eine Dropdownliste. Jedes <option>-Tag legt ein Element in dieser Liste an.
Um Server zu ändern, hinzuzufügen oder zu entfernen, müssen Sie lediglich die <option>-Tags ändern,
hinzufügen oder löschen. Dabei ist es sehr wichtig, dass das Attribut value auf den Namen des Servers
eingestellt wird. Ich empfehle Ihnen, stets den vollständig qualifizierten Domänennamen (FQDN) zu
verwenden, wenn Sie namentlich auf einen Computer verweisen. Der Text zwischen den öffnenden und
schließenden Tags <options> und </options> erscheint als Bezeichnung in der Dropdownliste. Es handelt sich einfach benutzerfreundlichen Namen des Servers, der in dem Formular angezeigt wird. Wenn
Sie wünschen, können Sie hier auch einfache Namen verwenden (NetBIOS- oder Hostnamen).
Der Code von Folder_Provision.hta und die erweiterte Anpassung
Um eine erweiterte Anpassung des Ordnerbereitstellungswerkzeugs vornehmen zu können, müssen
Sie wissen, wie dieses Dienstprogramm funktioniert. Wenn Sie Erfahrungen im Schreiben von Skripts
in HTML und VBScript haben, ist dieser Abschnitt sehr hilfreich für Sie. Wir schauen uns drei Hauptaspekte der Anwendung an: ihre Anzeige, das Verhalten der Formularsteuerelemente und der Code, der
letztlich für die Bereitstellung des Ordners sorgt.
2.9 Erstellen freigegebener Ordner 131
Bildschirmanzeige der Anwendung
Die Anwendung hat zwei Registerkarten: Provision und Options Jede Regeisterkarte wird durch eine
Schaltfläche vertreten, die durch den folgenden HTML-Code generiert wird:
<table border="0" cellpadding="3" cellspacing="5">
<tr><td id="btnProvision" onclick="ShowProvision()" style="background-color: #CCCCCC;
width:60px; text-align:center;">Provision</td>
<td id="btnOptions" onclick="ShowOptions()" style="background-color: #CCCCCC;
width:60px; text-align:center;">Options</td>
</tr>
</table>
Jede Registerkarte befindet sich innerhalb eines <div>-Tags:
<div id="divOption" name="divOption">
<table border="0" cellpadding="0" cellspacing="0">
<!-- Die Seite OPTIONS der Anwendung folgt. Wenn die Benutzer den
Standardwert einer dieser Optionen nicht ändern sollten, löschen Sie
entweder komplett die Tabellenzeile <tr>...</tr> oder fügen
disabled="true" im Tag <input> hinzu -->
<tr><td class="frmlabel">Root data folder</td><td><input type="text" name="txtRootPath"
size="60" /></td></tr>
...
</table>
</div>
Das <div>-Tag enthält eine Tabelle für das Layout der Eingabesteuerelemente auf der Registerkarte.
Wenn Sie auf eine Schaltfläche wie Options klicken, wird ein OnClick-Ereignis ausgelöst. Es ist mit dem
zuvor gezeigten <td>-Tag der Schaltfläche verknüpft und ruft eine Subroutine wie die folgende auf:
Sub ShowOptions()
divProvision.style.display = "none"
btnProvision.style.backgroundcolor = "#CCCCCC"
divOption.style.display = "inline"
btnOptions.style.backgroundcolor = "#EEEEEE"
End Sub
Dieser einfache VBScript-Code öffnet die Registerkarte, für die die Schaltfläche steht (divOption.style.display = "inline") und schließt die andere. Außerdem vertauscht er die Farben der Schaltflächen, damit die hellere für die aktuelle Registerkarte steht.
Beim Start der Anwendung wird automatisch die Subroutine Window_OnLoad aufgerufen. Sie skaliert
das Anwendungsfenster auf eine geeignete Größe und ruft dann die Subroutine auf, die die Registerkarte Provision sichtbar macht. Anschließend legt sie die Werte der Steuerelemente auf der verborgenen
Registerkarte Options fest.
Der Code für die Anzeige der Anwendung braucht nicht angepasst zu werden, sofern Sie keine weiteren
Steuerelemente hinzufügen oder das Anwendungsfenster breiter oder höher gestalten möchten.
132 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Formularsteuerelemente
Die beiden Formulare der HTML-Anwendung sind die Registerkarten Options und Provision. Wie ich
gerade erklärt habe, sind sie jeweils in ein <div>-Tag eingebetttet, das angezeigt wird, wenn der Benutzer auf die zugehörige Schaltfläche klickt. Jeder <div>-Bereich enthält eine Tabelle mit dem Layout für
die Eingabesteuerelemente: Textfelder, Dropdownlisten und Kontrollkästchen. Jedes dieser Eingabesteuerelemente trägt einen Namen, mit dem Sie auf das Element und seine Werte verweisen können.
Wenn Sie das Formular um weitere Eingabeparameter ergänzen möchten, fügen Sie einfach Tabellenzeilen zu der betreffenden Zeile hinzu und fügen die neuen Steuerelemente ein.
Die Standardwerte im Formular Options sind im Abschnitt Option Defaults des Skripts hartkodiert. Sie
sollten die Standardwerte im Code so einrichten, dass Sie den korrekten Werten für Ihr Unternehmen
entsprechen.
Damit diese Werte von einem Benutzer der Anwendung leichter überschrieben werden können, werden
sie in einem Eingabesteuerelement auf der Registerkarte Options offen gelegt. Die Standardwerte werden über die Subroutine SetDefaultOptions() in die Steuerelemente eingefügt. Diese Routine wird beim
Start der HTML-Anwendung durch das Ereignis Window_OnLoad und beim Klicken auf die Schaltfläche Reset Options To Defaults aufgerufen.
Sie können die Art und Weise ändern, in der die Optionen auf der Registerkarte Options dargestellt
werden. Wie bereits gesagt können Sie das Attribut disabled="true" zu einem <input>-Tag hinzufügen, um das Steuerelement zu deaktivieren und damit zu verhindern, dass ein Benutzer den betreffenden Standardwert überschreibt. Außerdem können Sie den Typ eines Steuerelements ändern. Wenn
Sie über mehrere Befugnisverwaltungsgruppen verfügen, in denen sich Befugnisverwaltungsgruppen
für den Ressourcenzugriff erstellen lassen, können Sie das Steuerelement txtGroupOU in eine Dropdownliste ändern (<select>-Tag). Stellen Sie aber sicher, dass Sie auch andere Stellen im Code
ändern, die auf txtGroupOU verweisen.
Wenn Sie neue Parameter hinzufügen, um das Verhalten des Werkzeugs zu ändern, empfehle ich Ihnen,
dem bereits vorhandenen Modell zu folgen. Definieren Sie eine Variable mit dem Standardwert im
Abschnitt Default Options des Skripts, fügen Sie ein Eingabesteuerelement zum <div>-Bereich von
Options hinzu und ergänzen Sie die Subroutine SetDefaultOptions() um eine Codezeile, die den Standardwert in das Steuerelement einbringt. Natürlich müssen Sie auch den restlichen Code der Anwendung ändern, damit der neue Parameter auch tatsächlich verwendet wird und seinen Zweck erfüllt.
Die Werte im Formular Provision werden mithilfe von Eingabesteuerelementen im zugehörigen <div>Bereich angezeigt. Die Steuerelemente werden mit Ausnahem des Ordner- und des Servernamens
durch die Subroutine ResetControls() auf ihre Standardwerte (leer) zurückgesetzt. Alle Steuerelemente,
auch die für den Ordner- und den Servernamen, werden durch die Subroutine ResetForm() initialisiert,
die bei einem Blick auf die Schaltfläche Reset Form aufgerufen wird. Wenn Sie dem Formular weitere
Steuerelemente hinzufügen, müssen Sie sie auch in ResetForm() auf ihre Standardwerte setzen.
Bei manchen Steuerelementen führt eine Eingabe dazu, dass andere Steuerelemente automatisch mit
Werten gefüllt werden. Dies wird durch ein OnChange-bzw. durch ein OnClick-Ereignis (für Kontrollkästchen) erreicht. Wenn Sie z.B. den Wert des Feldes Group Base Name ändern, werden automatisch
die Namen der Befugnisverwaltungsgruppen ausgefüllt. Im HTML-Code des Formulars heißt dieses
Textfeld txtGroupBaseName. Das folgende Skript verknüpft das OnChange-Ereignis für dieses Textfeld mit der gewünschten Funktionalität:
Sub txtGroupBaseName_OnChange()
' Bei Änderungen des Basisnamens werden die Werte in den Namensfeldern der
2.9 Erstellen freigegebener Ordner 133
' Befugnisgruppen neu geschrieben. An dieser Stelle können Sie den Code
' ändern, sodass er Ihre Namenskonvention für Befugnisgruppen
' widerspiegelt
If txtGroupBaseName.value > "" Then
txtReadGroup.Value = txtGroupPrefix.Value & txtGroupBaseName.Value & "_Read"
txtEditGroup.Value = txtGroupPrefix.Value & txtGroupBaseName.Value & "_Edit"
txtContributeGroup.Value = txtGroupPrefix.Value & txtGroupBaseName.Value & "_Contribute"
txtAdministerGroup.Value = txtGroupPrefix.Value & txtGroupBaseName.Value & "_Administer"
Else
txtReadGroup.Value = ""
txtEditGroup.Value = ""
txtContributeGroup.Value = ""
txtAdministerGroup.Value = ""
End If
End Sub
Wenn der neue Wert des Textfelds nicht leer ist, konstruiert der Code die Namen der vier Befugnisgruppen, indem er das Präfix aus dem Textfeld txtGroupPrefix auf der Registerkarte Options nimmt, den im
Feld Group Base Name eingegebenen Wert anhängt und dann die Bezeichnung der Befugnis hinzufügt.
Ist das Textfeld Group Base Name jedoch nicht ausgefüllt, werden auch alle Textfelder für die Befugnisgruppen leer gelassen.
Wenn Sie die Logik ändern möchten, nach der die Werte vorausgefüllt werden, suchen Sie im Code der
Anwendung nach den entsprechenden OnChange- bzw. OnClick-Ereignissen.
Ordnererstellung
Der Code, der die Bereitstellung durchführt, ist die Subroutine ProvisionIt(), die aufgerufen wird, wenn
der Benutzer auf die Schaltfläche Provision Shared Folder klickt.
ProvisonIt() ruft zunächst die Funktion CreateFolder() auf, die einfach den Pfad des neuen Ordners
bestimmt und dann ihrerseits die Subroutine FolderPath_Create aufruft. Diese erstellt dann den angegebenen Ordner. Die Funktion CreateFolder() entnimmt die benötigten Werte für den Ordnernamen
und -pfad aus den Eingabesteuerelementen des Formulars. Sie gibt das Ergebnis als Zeichenkette
zurück. ProvisionIt ist in der Lage, dieses Ergebnis zu untersuchen, um festzustellen, ob ein Fehler
aufgetreten ist.
Anschließend legt ProvisionIt() die Standardberechtigungen für den Ordner fest. Administratoren und
System erhalten jeweils Vollzugriff. Die Berechtigungen werden in Form von Befehlszeilenoptionen
für Icacls.exe in die Zeichenfolgenvariable sPermission geschrieben. Tatsächlich wird sPermission
zusammen mit dem UNC-Pfad des Ordners an die Subroutine ACLit() übergeben, die einfach icacls
mit sPermission als Option aufruft.
Wenn Sie die Standardberechtigungen ändern möchten, die jedem von der Anwendung erstellten Ordner
gewährt werden, ändern Sie einfach die Zuweisung zu sPermission.
Nachdem die Standardberechtigungen angewendet wurden, schaut sich ProvisionIt()die einzelnen
Befugnisse an, die ausgewählt (aktiviert) wurden, und ruft als Erstes die Subroutine CreateGroup() auf,
um eine Gruppe in Active Directory zu erstellen. CreateGroup enthält eine Geschäftslogik, nach der die
Eigenschaft Description der Gruppe als UNC-Pfad zu der von der Gruppe gesteuerten Ressource angelegt wird. Außerdem ist CreateGroup so geschrieben, dass Gruppen als lokale Domänensicherheitsgruppen erstellt werden.
134 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
ProvisionIt weist dann erneut Berechtigungen zu. Dazu wird sPermission als Befehlszeilenoption für
icacls eingerichtet und abermals ACLit() aufgerufen, um Icacls.exe auszuführen.
Während die einzelnen ausgewählten Befugnisse eingerichtet werden, wird die Variable sRolesConfigured mit dem jeweiligen Anzeigenamen der Befugnis angehängt. Diese Variable wird dann verwendet,
um in den Ereignisprotokollen eine Zusammenfassung anzuzeigen.
Wenn Sie die Art und Weise ändern möchten, in der Befugnisse eingerichtet werden, ändern Sie die
Berechtigungen, die in sPermission geschrieben werden. Um zu den vier vorhandenen Befugnissen
eine neue hinzuzufügen, gehen Sie folgendermaßen vor:
„ Fügen Sie in die HTML-Tabelle eine Zeile für die neue Befugnis ein. Als Muster verwenden Sie
eine der vorhandenen Befugnisse.
„ Fügen Sie dem Ereignis txtGroupBaseName_OnChange Code hinzu, um den Gruppennamen für die
neue Befugnis vorab auszufüllen.
„ Fügen Sie ProvisionIt() Code hinzu, der herausfindet, ob die neue Befugnis ausgewählt ist und ggf.
die geeignete sPermission-Zeichenfolge an ACLit() sendet.
Die letzte Berechtigung, die ProvisionIt() zuweist, gewährt der Identität Eigentümerrechte die Berechtigung Ändern. Diese Berechtigung ist nur verfügbar, wenn Sie einen Ordner auf einem Windows Vistaoder Windows Server 2008-System bereitstellen, und dient dazu, Benutzer daran zu hindern, die
Berechtigungen für ihre eigenen Dateien zu ändern. Eine ausführlichere Beschreibung dieser Berechtigungn finden Sie in Lösung 2.11 auf Seite 139.
ProvisionIt() überprüft dann, ob das Kontrollkästchen zum Erstellen einer SMB-Freigabe aktiviert ist.
Ist dies der Fall, wird die Funktion ShareFolder() aufgerufen. Sie ermittelt die Werte im Formular und
erstellt daraus eine Befehlszeile, um das Skript Share_Create.vbs aufzurufen.
Abschließend ermittelt ProvisionIt(), ob der Ordner zu einem DFS-Namespace hinzugefügt werden soll,
und ruft dann AddToDFS() auf. Diese Funktion erstellt einen DFS-Namespaceordner für den UNC-Pfad
des neu bereitgestellten Ordners.
Während ProvisionIt() die einzelnen Hauptschritte durchführt, wird das Statusfenster im Formular (das
im Code als txtStatus auftaucht) jeweils aktualisiert. Bei erfolgreichem Abschluss des Vorgangs wird
ein Nachrichtenfeld generiert, um den Benutzer von der erfolgreichen Bereitstellung des freigegebenen
Ordners zu informieren.
Zusammenfassung
Folder_Provision.hta ist ein Beispiel für ein leistungsfähiges Bereitstellungswerkzeug, das ein umfangreiches Verfahren automatisiert und Geschäftslogik und verbindliche Verfahrensweisen erzwingt. Dieses Hilfsprogramm demonstriert auch einige nützliche Ansätze zum Einrichten von Standardwerten,
zur Anzeige verschiedener Registerkarten in einer HTML-Anwendung, zum automatischen Ausfüllen
von Eingabesteuerelementen und zur Nutzung externer Skripts und Werkzeuge. Mit etwas grundlegender Anpassung können Sie die HTML-Anwendung einrichten, um Ordner bereitzustellen, wobei auch
für eine rollenbasierte Zugriffssteuerung gesorgt wird. Wenn Sie ein wenig mehr Mühe in die Anpassung investieren, können Sie diesen Ansatz nutzen, um die ideale Lösung für Ihr Unternehmen zu
erstellen.
2.10 Vermeiden der Vererbungsweiterleitung beim Verschieben von Dateien und Ordnern 135
2.10 Vermeiden der Vererbungsweiterleitung beim
Verschieben von Dateien und Ordnern
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Robocopy.exe
Zusammenfassung
Verwenden Sie niemals Windows Explorer, um Dateien oder Ordner zwischen zwei Speicherorten im selben Namespace zu verschieben, für die unterschiedliche Berechtigungen gelten, sondern
setzen Sie dafür Robocopy ein.
Vorteile
Korrekte Zuweisung von Berechtigungen
Wichtig Diese Lösung geht ein Problem an, das viele (darunter alle meine Kunden) als einen Bug oder
einen Entwurfsfehler in der Dateisicherheit von Windows-Systemen ansehen. Microsoft spricht hier von einer
Konsequenz aus einem bekannten Feature des NTFS-Dateisystems, hat dies jedoch in Windows Server
2008 trotzdem geändert. Unabhängig davon, ob Sie von einem »Feature« oder einem »Bug« sprechen,
müssen Sie Ihre Administratoren darüber unterrichten, um Sicherheitsprobleme zu vermeiden. Überspringen
Sie diese Lösung nicht!
Einführung
Stellen Sie sich vor, dass Sie einen freigegebenen Ordner für eine Abteilung erstellt haben. Unterhalb
dieses Ordners befinden sich weitere Ordner für Teams innerhalb der Abteilung. Jeder Teamordner ist so
abgesichert, dass nur Mitglieder des entsprechenden Teams auf den Inhalt zugreifen können. Der Abteilungsleiter, der Zugriff auf alle Teamordner hat, platziert versehentlich eine sensible Datei im Ordner des
falschen Teams. Er benachrichtigt Sie sofort, woraufhin Sie auf die Freigabe zugreifen und die Datei per
Drag & Drop in den richtigen Ordner verschieben. Allerdings stellen Sie bald fest, dass die Mitglieder
des falschen Teams immer noch auf die Datei an ihrem neuen Standort zugreifen können, während die
Mitglieder des richtigen Teams keinen Zugang haben. Dies stellt ein Sicherheitsproblem dar.
Die Kernaussage dieser Lösung lautet, dass Sie Windows Explorer nicht verwenden können, um eine
Datei zwischen zwei Ordnern im selben Namespace zu verschieben, für die unterschiedliche Berechtigungen gelten (z.B. innerhalb einer Freigabe oder eines Festplattenvolumes auf dem System, an dem
Sie direkt oder über Remotedesktop angemeldet sind). Wenn Sie eine Datei mit Drag & Drop, durch
Ausschneiden und Kopieren oder mit irgendeiner anderen Methode verschieben, kann dies zu einer
falschen Anwendung von Sicherheitsberechtigungen führen. In Windows Server 2008 wurde dieses
Problem behoben. Es überrascht nicht, dass Microsoft nicht auf das potenzielle Sicherheitsrisiko hinweist, das acht Jahre nach seinem Auftreten behoben wurde. Dennoch bin ich froh, dass es jetzt endlich
behoben ist.
Um zu erklären, was hier genau geschieht und wie Sie es vermeiden können, werde ich ans Eingemachte
gehen. Dabei spreche ich nicht jedes Detail und jede Ausnahme von der Regel an, aber Sie werden genug
erfahren, um das Problem zu verstehen und eine Auswahl an Lösungen zur Verfügung zu haben. Außerdem lernen Sie die empfohlenen Vorgehensweisen zum Verschieben von Dateien zwischen Ordnern auf
beliebigen Windows-Betriebssystemen kennen.
136 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Wie sich das Problem darstellt
Praktische Erfahrung ist oft mehr wert als tausend Worte, und in diesem Fall ist dieses Sprichwort vollkommen wahr. Die einfachste Möglichkeit, um das Problem zu verstehen, besteht darin, es selbst zu
erfahren. Führen Sie folgende Schritte durch, um die Situation auf einem NTFS-Volume eines Windows
Server 2003- oder Windows XP-Systems nachzuvollziehen:
1. Erstellen Sie einen übergeordneten Ordner C:\Data.
2. Erstellen Sie einen Unterordner C:\Data\TeamA.
3. Weisen Sie dem Ordner Berechtigungen zu, sodass die Gruppe TeamA die Berechtigung Ändern hat.
4. Erstellen Sie einen weiteren Unterordner C:\Data\TeamB.
5. Weisen Sie dem Ordner Berechtigungen zu, sodass die Gruppe TeamB die Berechtigung Ändern hat.
6. Fügen Sie eine Datei in den Ordner TeamA ein, z.B. C:\Data\TeamA\TeamAInfo.txt.
7. Weisen Sie der Datei eine Berechtigung zu, die einem Benutzer oder einer Gruppe den Vollzugriff
darauf erlaubt.
8. Verschieben Sie die Datei in C:\Data\TeamB.
Welche Berechtigungen hat die Datei, nachdem Sie sie verschoben haben? Der gesunde Menschenverstand erwartet, dass die ausdrücklichen Berechtigungen, die Sie in Schritt 7 vergeben haben, noch gelten,
dass die Datei nun aber ihre Berechtigungen vom neuen übergeordneten Ordner erbt, also von TeamB.
Damit hätte die Gruppe TeamB die Berechtigung Ändern, während TeamA keinen Zugriff mehr hätte.
Weit gefehlt! Öffnen Sie die Registerkarte Sicherheit im Eigenschaftendialogfeld der Datei und klicken
Sie auf Erweitert. Im Dialogfeld Erweiterte Sicherheitseinstellungen, das Sie in Abb. 2.10 sehen, stellen
Sie fest, dass TeamA nach wie vor Zugriff hat, TeamB aber nicht. Besonders bemerkenswert ist, dass in der
Liste der Berechtigungseinträge nicht angezeigt werden kann, woher die Berechtigungen geerbt wurden.
Abbildung 2.10 Berechtigungen, die eine Datei von ihrem früheren übergeordneten Ordner erbt
2.10 Vermeiden der Vererbungsweiterleitung beim Verschieben von Dateien und Ordnern 137
Gehen wir noch einen Schritt weiter. Öffnen Sie die Registerkarte Sicherheit im Eigenschaftendialogfeld
des Ordners TeamB. Deaktivieren Sie das Kontrollkästchen, das die Berechtigung Ändern für die Gruppe
TeamB zulässt, klicken Sie auf Übernehmen, aktivieren Sie die Zulassungsberechtigung Ändern erneut
und klicken Sie wiederum auf Übernehmen. Sie haben damit die Änderungsberechtigung für TeamB entfernt und erneut zugewiesen.
Öffnen Sie jetzt das Dialogfeld Erweiterte Sicherheitseinstellungen für die Datei. Beachten Sie, dass
TeamB jetzt die Änderungsberechtigung geerbt hat, während TeamA keine Berechtigungen mehr hat.
In der Praxis bedeutet dies, dass eine Datei, die Sie mithilfe von Windows Explorer zwischen zwei
Ordnern mit unterschiedlichen Berechtigungen im selben Namespace (in diesem Fall im Volume C:\)
über unerwartete Berechtigungen verfügt, bis etwas geschieht, um dies zu korrigieren. Kurz gesagt,
unabhängig davon, ob es sich um einen Bug oder ein Feature handelt, stellt es ein unvorhergesehenes
und inkonsistentes Verhalten dar.
Das Gleiche geschieht in einer Vielzahl von Situationen, z.B. wenn Sie Dateien zwischen zwei Unterordnern einer Remotefreigabe verschieben, aber auch, wenn Sie andere Werkzeuge verwenden als Windows
Explorer. Erschreckend, oder?
Was geschieht hinter den Kulissen?
Dieses merkwürdige und potenziell gefährliche Phänomen ist ein Ergebnis der Art und Weise, in der
Zugriffssteuerungslisten auf NTFS-Ressourcen angewendet werden. Ein Objekt wie unsere Datei hat
ein Flag, um vererbbare Berechtigungen von seinem übergeordneten Container zu erben. Die Zugriffssteuerungsliste der Datei verfügt über ihre eigenen Zugriffssteuerungseinträge für jede einzelne ihr
zugewiesene Berechtigung, auch die geerbten.
Aber wie werden diese geerbten Berechtigungen letzten Endes angewendet? Nun, es gibt da einen Prozess, den ich ACL-Weiterleitung nennen möchte. Wenn er ausgelöst wird, geht er von einem Ordner zu
dessen Unterordnern und Dateien und übernimmt die vererbbaren Zugriffssteuerungseinträge in die
Zugriffssteuerungslisten der untergeordneten Objekte.
Als Sie die Datei im Ordner TeamA erstellten, löste dies die Instanzierung (oder Erstellung) des neuen
Objekts die ACL-Weiterleitung aus, die dann die vererbbaren Berechtigungen vom übergeordneten
Ordner auf die Datei übertrug. Damit enthielt die Zugriffssteuerungsliste der Datei die Einträge, die
TeamA die Änderungsberechtigung gewähren. Anschließend fügten Sie der Datei noch einen expliziten
Zugriffssteuerungseintrag hinzu.
Wenn Sie eine Datei innerhalb des Namespace verschieben, bewegen Sie sie jedoch nicht physisch,
sondern ändern im Grunde genommen nur ihren Namen. Beim Verschieben der Datei in den neuen Ordner gab es also nichts, was die ACL-Weiterleitung auslösen konnte, um die vererbbaren Berechtigungen
(vom neuen übergeordneten Ordner!) auf die Datei anzuwenden. Dadurch behielt die Datei ihre vorher
zugewiesenen Zugriffsssteuerungseinträge.
Anschließend nahmen Sie die Änderung am zweiten übergeordneten Ordner vor. Die Änderungen der
Berechtigungen in einem Container löst jedoch die ACL-Weiterleitung aus, weshalb die Zugriffssteuerungslisten der untergeordneten Objekte geöffnet und korrekt geändert wurden.
Wichtig Bis zum Auslösen der ACL-Weiterleitung behält das verschobene Objekt die falschen Berechtigungen.
In Windows Server 2008 ist dieses Problem dadurch behoben worden, dass das Hinzufügen einer Datei
oder eines Ordners zu einem anderen Ordner die ACL-Weiterleitung auslöst.
138 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Die Lösung für das Problem
Es gibt mehrere Möglichkeiten, um dieses Problem zu lösen. Eine besteht darin, sicherzustellen, dass
die ACL-Weiterleitung jedes Mal ausgelöst wird, wenn eine Datei in einen neuen Ordner mit unterschiedlichen Berechtigungen im selben Namespace verschoben wird. Führen Sie dazu die folgenden
Schritte aus:
1. Verschieben Sie das Objekt.
2. Öffnen Sie das Dialogfeld Erweiterte Sicherheitseinstellungen des Objekts.
3. Deaktivieren Sie das Kontrollkästchen Vererbbare Berechtigungen des übergeordneten Objektes
einschließen (Windows Server 2008 und Windows Vista) bzw. Berechtigungen übergeordneter
Objekte (...) verbreiten (Windows Server 2003 und Windows XP). Klicken Sie auf Übernehmen.
Bei Windows Vista und Windows Server 2008 mit aktivierter Benutzerkontensteuerung müssen Sie
auf die Schaltfläche Bearbeiten klicken, bevor Sie in der Lage sind, das Kontrollkästchen zu deaktivieren.
4. Wenn Sie gefragt werden, ob geerbte Berechtigungen kopiert oder entfernt werden sollen, wählen
Sie Entfernen.
5. Reaktivieren Sie das Kontrollkästchen und klicken Sie auf Übernehmen. Dadurch wird die ACLWeiterleitung ausgelöst, sodass vererbbare Berechtigungen vom übergeordneten Ordner auf das
Objekt angewendet werden.
Ziemlich viele Schritte, oder?
Eine andere Möglichkeit besteht darin, das Objekt zu kopieren anstatt es zu verschieben. Dabei erstellen
Sie eine neue Instanz des Objekts, was unmittelbar die ACL-Weiterleitung auslöst. Sie müssen dann nur
noch das ursprüngliche Objekt löschen.
Der einzige mögliche Fallstrick bei dieser Methode liegt darin, dass Sie dem ursprünglichen Objekt
möglicherweise explizite Berechtigungen zugewiesen haben, die beim Verschieben erhalten bleiben
sollen. Anstatt es zu kopieren und einzufügen verwenden Sie daher besser einen Befehl, der das Objekt
mitsamt seiner Sicherheitsbeschreibung kopiert. Dazu können Sie xcopy.exe mit der Option /x verwenden oder unter Windows Server 2008 robocopy.exe mit der Option /copyall. Wenn Sie die gesamte
Sicherheitsbeschreibung kopieren, bleiben auch Überwachungs- und Besitzerinformationen erhalten.
Löschen Sie anschließend die ursprüngliche Datei.
Jedes Hilfsprogramm, das ein NTFS-Objekt unter Beibehaltung seiner Sicherheitsbeschreibung kopieren
oder sichern und anschließend wiederherstellen kann, eignet sich, um dieses ungewöhnliche Verhalten bei
NTFS-Berechtigungen zu umgehen.
Informieren der Benutzer und Ändern der Konfiguration
Es ist wichtig, betroffene Benutzer und Supportmitarbeiter über die Gefahren beim Verschieben von
Dateien zwischen Ordnern mit unterschiedlichen Berechtigungen im selben Namespace zu unterrichten. Eine solche Schulung bringt schon sehr viel, um die Fallgrube der vererbten Berechtigungen zu
vermeiden.
Sie können die Erfolgsaussichten noch verbessern, indem Sie eine Konfiguration wählen, bei der jeder
Ordner mit einmaligen Berechtigungen seine eigene Freigabe ist. Eine Verbindung zu einer Freigabe baut
einen eindeutigen Namespace auf. Wenn Sie also eine Datei zwischen zwei Ordnern in unterschiedlichen
2.11 Verhindern von Berechtigungsänderungen durch den Besitzer einer Datei 139
Freigaben verschieben, kopieren Sie in Wirklichkeit die Datei, sodass das Problem der vererbten Berechtigungen sein hässliches Haupt nicht erheben kann. Dadurch können Sie jedoch leider ein anderes Problem heraufbeschwören: Beim Kopieren der Datei bleibt die Sicherheitsbeschreibung (Besitzer, Überwachung, explizite Zugriffssteuerungseinträge) nicht erhalten, sofern Sie kein geeignetes Werkzeug wie
xcopy /x oder robocopy /copyall verwenden.
Eine Freigabe für jeden Ordner mit besonderen Berechtigungen einzurichten ist jedoch eine kluge Idee.
Sie könnten jetzt einwenden: »Aber wird mein Ressourcennamespace dadurch nicht ziemlich flach und
breit?« Das mag sein, aber Ihre Benutzer begeben sich ja nicht direkt zu diesen Freigaben, sondern
sehen den Ressourcennamespace über die DFS-Namespaces. Dadurch wird eine virtuelle Hierarchie
geschaffen, in der Sie Ihre Freigaben in jeder beliebigen Struktur anordnen können, die Ihrem Unternehmen entspricht.
Sie sehen, dass selbst eine scheinbar so einfache Frage wie »Wie soll ich die Ordner auf meinen Servern
gliedern?« nur mit »Das kommt darauf an« beantwortet werden kann. Es gibt in Windows viele Variablen, die Sie an Ihre Geschäftsanforderungen anpassen müssen.
Zusammenfassung
NTFS-Berechtigungen, die von einem übergeordneten Ordner geerbt werden, bleiben auch dann bei einer
Datei (oder einem Ordner), wenn Sie diese in einen anderen Ordner verschieben. Die Berechtigungen des
neuen übergeordneten Ordners werden nicht angewendet, bis irgendetwas die ACL-Weiterleitung auslöst.
Daher ist es für die Sicherheit entscheidend, dass Sie Dateien zwischen Ordnern mit unterschiedlichen
Berechtigungen nicht einfach verschieben. Sie müssen entweder das Objekt verschieben und dann die
Vererbung für das Objekt deaktivieren und dann erneut aktivieren oder das Objekt mit einem Werkzeug,
das die Sicherheitsbeschreibung erhält (z.B. xcopy /x oder robocopy /copyall), an den neuen Speicherort
kopieren und das Original löschen. Obwohl dieses Problem in Windows Server 2008 behoben wurde, da
dort die ACL-Weiterleitung ausgelöst wird, sobald Sie eine Datei zu einem Ordner hinzufügen, ist es nach
wie vor wichtig, den empfohlenen Vorgehensweisen zu folgen, um sicherzustellen, dass die Sicherheitsbeschreibungen korrekt verschoben werden.
2.11 Verhindern von Berechtigungsänderungen
durch den Besitzer einer Datei
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Die Identität Eigentümerrechte
Zusammenfassung
Die Identität Eigentümerrechte ist neu in Windows Server 2008
und ermöglicht Administratoren, die Besitzer daran zu hindern,
die Berechtigungen für ihre Objekte zu ändern.
Vorteile
Verringerung der Anrufe beim Helpdesk und geringere Gefahr der
Dienstverweigerung auf Dateiservern
140 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Einführung
Solange ich mich zurückerinnern kann, haben Windows-Administratoren mit dem Problem gekämpft,
Benutzer daran zu hindern, die Berechtigungen für ihre eigenen Dateien und Ordner zu ändern. Wenn ein
Benutzer auf einem Windows-System eine Datei erstellt, wird er zum Besitzer dieses Objekts. Dadurch
hat er das eingebaute Recht, die Sicherheitsbeschreibung dieses Objekts zu ändern. Der Grundgedanke
hinter diesem Entwurf besteht darin, dass es immer irgendjemanden geben soll (den Besitzer), der in der
Lage ist, die Ressource zu entsperren, selbst wenn allen anderen durch Verweigerungsberechtigungen
der Zugriff verwehrt ist.
Ein Problem tritt auf, wenn ein Benutzer versehentlich oder absichtlich die Zugriffssteuerungsliste eines
von ihm selbst erstellten Objekts ändern und es damit für Benutzer öffnet, die (nach den Informationssicherheitsrichtlinien des Unternehmens) keinen Zugriff auf die Datei haben sollen, oder es für Benutzer,
die Zugriff haben sollten, unzugänglich macht, was zu Anrufen der betroffenen Benutzer beim Support
führt.
Weiter vorn in dieser Lösungsgruppe habe ich die Wichtigkeit des Zugriffs mit den geringstmöglichen
Privilegien unterstrichen. In der Praxis sind in den meisten Unternehmen die einzigen Benutzer, die
Berechtigungen für Dateien und Ordner festlegen sollen, die Mitglieder der IT- oder Datensicherheitsabteilung. Wenn ein Unternehmen die Fähigkeit zum Festlegen von Berechtigungen einschränken kann, ist
es in der Lage, den empfohlenen Vorgehensweisen zu folgen und die Zugriffssteuerungslisten nur auf
den ersten Ebenen der Ordnerhierarchie einzurichten und die Sicherheit auf den unteren Ebenen über die
Vererbung zu steuern.
Leider bestand der einzige Weg, um einen Besitzer an Änderungen der Zugriffssteuerungsliste seines
Objekts zu hindern, vor den jüngsten Windows-Versionen darin, die SMB-Berechtigung (Freigabeberechtigung) auf Ändern einzuschränken. Ohne die Freigabeberechtigung Vollzugriff kann ein Besitzer
die Zugriffssteuerungsliste nicht ändern. Dieser Ansatz bringt jedoch zwei Probleme mit sich: Erstens
weiß nicht jeder Windows-Administrator, dass dies möglich ist, und zweitens gelten für Freigabeberechtigungen deutliche Einschränkungen, die wir bereits z.T. in Lösung 2.4, »Delegieren der Verwaltung von freigegebenen Ordnern«, auf Seite 107 angesprochen haben.
In Windows Server 2008 ist diese Schwierigkeit jetzt behoben. Es wurde eigens für dieses Problem eine
neue Standardsicherheitskennung hinzugefügt, nämlich die integrierte Identität Eigentümerrechte.
Zugriffssteuerungseinträge für diese Identität überschreiben die Systemrechte, die dem Besitzer eines
Objekts zugewiesen sind.
Stellen Sie sich vor, Sie haben einen freigegebenen Ordner mit den standardmäßigen Berechtigungen
erstellt, der der Identität Ersteller-Besitzer den Vollzugriff erlaubt. Wenn ein Benutzer darin ein Objekt
erstellt, wird diesem ein Zugriffssteuerungseintrag hinzugefügt, der dem Benutzer den Vollzugriff
gewährt. Sollte dem Benutzer auf irgendeine Weise der Zugriff auf das Objekt verweigert werden, kann
er als Besitzer des Objekts die Berechtigungen dafür ändern und sich selbst wieder Zugriff gewähren.
Jetzt nehmen wir eine kleine Änderung an der Zugriffssteuerungsliste des freigegebenen Ordners vor.
Wir erstellen einen Zugriffssteuerungseintrag mit einer einzigen Berechtigung, nämlich der Zulassungsberechtigung Ändern für Eigentümerrechte. Sie sehen diesen Vorgang in Abb. 2.11.
Wenn der Besitzer versucht, die Berechtigungen zu ändern, geschieht je nach den Anmeldeinformationen
des Benutzers und dem Betriebssystem eines der folgenden Dinge: Entweder sind die Steuerelemente
deaktiviert, über die der Benutzer die Berechtigungen ändern könnte, oder der Benutzer erhält die Fehlermeldung Zugriff verweigert, wenn er eine Änderung versucht. Die Berechtigung für die Identität Eigentümerrechte lässt das Ändern von Berechtigungen nicht zu und überschreibt jetzt selbst das integrierte
Systemprivileg, das einem Besitzer erlaubt, die Zugriffssteuerungsliste seines Objekts zu bearbeiten.
2.11 Verhindern von Berechtigungsänderungen durch den Besitzer einer Datei 141
Abbildung 2.11 Durch Zuweisen der Berechtigung Ändern an Eigentümerrechte
wird dem Besitzer das Recht verweigert, die Berechtigungen zu ändern
Wird der Besitz des Objekts auf einen anderen Benutzer übertragen, so wird dieser neue Benutzer durch
den Zugriffssteuerungseintrag für Eigentümerrechte auf dieselbe Weise eingeschränkt.
Das nenne ich eine großartige neue, kleine, aber wichtige Funktion!
Vorsicht Sie als Administrator können sich auf diese Weise auch selbst von Ressourcen aussperren! Wenn
Sie der Besitzer einer Datei oder eines Ordners sind, können Sie die Berechtigungen ebenfalls nicht ändern.
Verwenden Sie diese Funktion mit Bedacht!
Besteht die Gefahr einer Sperrung?
Sie könnten sich jetzt fragen, ob es nicht möglich wäre, dass alle Benutzer von der Ressource ausgesperrt
werden, wenn der Besitzer die Zugriffssteuerungsliste nicht mehr ändern kann. Das ist nicht der Fall. Bei
meinen Tests habe ich herausgefunden, dass Sie durch den Zugriffssteuerungseintrag für Eigentümerrechte nicht eingeschränkt werden, wenn Sie gleichzeitig Mitglied der Gruppe Administratoren und der
Besitzer eines Objekts sind. Diese Einschränkung ist sinnvoll.
Zusammenfassung
In früheren Versionen von Windows konnten Sie Benutzer nur dadurch davon abhalten, die Berechtigungen für ihre eigenen Dateien zu ändern, indem Sie die Freigabeberechtigung auf Ändern einschränkten.
Jetzt gibt es eine bessere Lösung auf der Grundlage von NTFS-Berechtigungen. Jede Berechtigung, die
Sie der Identität Eigentümerrechte zuweisen, überschreibt die Berechtigungen und Systemrechte für den
Besitzer eines Objekts. Indem Sie also für einen Ordner die Verweigerungsberechtigung Berechtigungen
ändern für Eigentümerrechte festlegen, können Sie jeden Benutzer, der Dateien oder Unterordner darin
erstellt, wirkungsvoll daran hindern, die Zugriffssteuerungslisten dieser Objekte zu bearbeiten.
142 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
2.12 Verbergen nicht zugänglicher Objekte
vor den Benutzern
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Zugriffsbasierte Auflistung (Access-Based Enumeration, ABE)
Zusammenfassung
Die Dateiserverrolle von Windows Server 2008 umfasst die Funktion der zugriffsbasierten Auflistung. Damit können Sie Ordner
und Dateien in Freigaben vor den Benutzern verbergen, die darauf
nicht zugreifen dürfen.
Vorteile
Verringerung der Anrufe beim Helpdesk, zur Erhöhung der
Sicherheit eingeschränkte Ansicht von freigegebenen Ordnern
Einführung
Bei herkömmlichen Windows-Ordnern ermöglichen die Berechtigungen Ordnerinhalt auflisten und
Attribute lesen einem Benutzer, den Inhalt des Ordners zu sehen. Der Benutzer sieht dabei alle Dateien
und Unterordner unabhängig davon, ob er sie auch wirklich öffnen kann. Die Fähigkeit zum Öffnen der
Objekte wird mithilfe der Berechtigungen Lesen und Ausführen gehandhabt.
Als ich in den ersten Tagen von Windows NT Server begann, als Berater und Lehrer für Windows-ITProfis zu arbeiten, gingen die meisten Administratoren an Ihre Windows-Netzwerke so heran, wie Sie
es von Novell NetWare gewöhnt waren. Diese Plattform sowie einige andere Netzwerkbetriebssysteme,
legte freigegebene Ordner aber anders offen als Windows. Wenn Sie sich ein auf einem Novell-Server
bereitgestelltes Volume angeschaut haben, sahen Sie nur die Dateien und Unterordner, für die Sie auch
Berechtigungen hatten. Diejenigen, die Sie nicht öffnen konnten, waren vor Ihnen verborgen.
Solange ich daher mit Windows arbeitete, lautete daher eine der häufigsten Fragen: »Wie verberge ich
Dateien vor Benutzern?«
Genau darum geht es in dieser Lösung.
Eine Sichtweise: Kümmern Sie sich nicht darum!
Eine mögliche Antwort auf die Frage »Wie verberge ich Dateien vor Benutzern?« lautet, sich nicht
darum zu kümmern. Ich sehe das Problem so: Wenn Sie irgendeinem Ihrer Benutzer mitteilen würden,
dass sich irgendwo in Ihrem Netzwerk ein Ordner mit den Beurteilungen der Angestellten des Unternehmens befindet, wäre er wahrscheinlich gar nicht überrascht. Die Benutzer wissen, dass es in ihrem
Netzwerk Informationen gibt. Tatsächlich ist ihnen sogar klar, dass es sensible Informationen und solche gibt, auf die sie keinen Zugriff haben. Sie wissen, dass dies alles vorhanden ist.
Es ist also wahrscheinlich gar kein Beinbruch, wenn sie diese Datei sehen, denn schließlich ist es für sie
nichts Neues, dass sie vorhanden ist. Wirklich von Bedeutung ist dagegen die Frage, ob sie diese Datei
öffnen können oder nicht. Der Benutzer sollte also nicht in der Lage sein, die Datei zu öffnen. Wenn Sie
die Berechtigungen korrekt eingerichtet haben, kann er das auch tatsächlich nicht.
2.12 Verbergen nicht zugänglicher Objekte vor den Benutzern 143
Eine zweite Sichtweise: Verwalten Sie die Ordner
Wenn sich einem Kunden häufig das Problem stellt, dass die Benutzer Dateien sehen, auf die sie nicht
zugreifen können, liegt für mich die Vermutung nahe, dass die Ordnerstruktur nicht ideal ist. Wenn
Benutzer viele Elemente sehen können, auf die sie keinen Zugriff haben, sollten sich diese Elemente
höchstwahrscheinlich besser an einem anderen Ort – einem anderen Ordner – befinden, auf den die
Benutzer selbst keinen Zugriff haben.
Im Idealfall sollten Ordner Objekte mit denselben Zugriffsmöglichkeiten enthalten. Das ist eigentlich
alles: Ein Ordner ist ein Container für ähnliche Objekte. Er wird von einer Zugriffssteuerungsliste reguliert, die all diese Objekte erben und deren Zugriffssteuerungseinträge nach dem Prinzip des geringsten
Aufwands festlegen, wie die Benutzer auf diese Objekte zugreifen können. Falls Sie in einem einzigen
Ordner mit mehreren Zugriffssteuerungslisten jonglieren müssen, sollten Sie Ihre Ordnerstruktur noch
einmal überdenken.
Eine dritte Sichtweise und eine Lösung: Zugriffsbasierte Auflistung
In Windows Server 2003 SP1 wurde die zugriffsbasierte Auflistung (Access-Based Enumeration,
ABE) eingeführt. Sie können sie von der Microsoft-Downloadsite (www.microsoft.com/downloads)
für Windows Server 2003 herunterladen. In Windows Server 2008 ist sie als Funktion der Dateiserverrolle verfügbar.
Die ABE kann für einen gesamten Server aktiviert werden, sodass sie sich auf alle seine Freigaben auswirkt, aber auch für einzelne Freigaben. Wenn für eine Freigabe die zugriffsbasierte Auflistung aktiv
ist, können die Benutzer keine Elemente sehen, für die sie keine Leseberechtigung haben. So einfach ist
das. Das wurde aber auch Zeit!
Abbildung 2.12 zeigt zwei Ansichten derselben Freigabe. Auf der linken Seite sieht der Benutzer die
Freigabe ohne ABE. Nachdem der Administrator die zugriffsbasierte Auflistung für die Freigabe aktiviert hat, kann der Benutzer die Dateien und Ordner, für die er keine Leseberechtigung hat, nicht mehr
sehen, wie auf der rechten Seite zu erkennen ist.
Abbildung 2.12 Ansicht einer Freigabe ohne (links) und mit zugriffsbasierter Auflistung (rechts)
Beachten Sie, dass sich die zugriffsgesteuerte Auflistung auf die gesamte Freigabe auswirkt und nur
dann in Kraft tritt, wenn der Zugriff auf die Freigabe über eine SMB-Verbindung erfolgt. Falls sich der
Benutzer über Remotedesktop auf dem Server anmeldet und sich den Ordner direkt auf dem lokalen
System anzeigen lässt, wird er alle Dateien und Ordner sehen.
144 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Zusammenfassung
Wenn Sie Elemente vor den Benutzern verbergen möchten, haben Sie drei Möglichkeiten. Sie können
sich nicht darum kümmern sondern sich stattdessen darauf konzentrieren, dass den Elementen die
richtigen Berechtigungen zugewiesen werden, sodass die Benutzer sie nicht öffnen oder lesen können. Die zweite Möglichkeit besteht darin, die Elemente in einen anderen Ordner zu verschieben, auf
den die Benutzer keinen Zugriff haben. Die dritte Lösung – einfach und elegant – ist die Aktivierung
der zugriffsbasierten Auflistung (ABE) für die freigegebenen Ordner. Dadurch werden die Dateien
und Ordner verborgen, auf die die Benutzer keinen Lesezugriff haben.
2.13 Wer hat eine Datei geöffnet?
Die Lösung im Überblick
Typ
Skript
Funktionen und Werkzeuge
VBScript
Zusammenfassung
Mit dem Skript FileServer_OpenFile.vbs können Sie bestimmen,
wer eine Datei auf dem Dateiserver geöffnet hat.
Einführung
Auf einem Dateiserver mit freigegebenen Ressourcen ist es nicht ungewöhnlich, wenn mehrere Benutzer
eine Datei zur selben Zeit benötigen. Manche Anwendungen erlauben nicht, dass verschiedene Benutzer
gleichzeitig eine Datei öffnen. So kann es gelegentlich vorkommen, dass ein Benutzer eine Datei braucht,
aber nicht darauf zugreifen kann, weshalb er das Helpdesk anruft.
Falls der Benutzer die Datei besonders dringend braucht, muss das Helpdesk bestimmen können, wer
zurzeit auf die Datei zugreift, um mit dieser Person Kontakt aufzunehmen und sie zu bitten, die Datei zu
schließen. Mit der Datei FileServer_OpenFile.vbs aus dem Ordner Scripts auf dem Begleitmedium
können Sie genau das tun.
Verwenden von FileServer_OpenFile.vbs
Das Skript erfordert zwei Parameter, den Server- und den Dateinamen. Als Namen des Servers, auf
dem sich die Datei befindet, sollten Sie vorzugsweise den vollständig qualifizierten Domänennamen
angeben, obwohl dies nicht notwendig ist. Zur Angabe des Namens können Sie einen beliebigen Teil
des Dateinamens oder des Dateipfades verwenden. Das Skript führt eine Suche mit Platzhaltern aus,
um mit diesen Angaben übereinstimmende Dateien zu finden. Die Syntax des Skripts lautet wie folgt:
cscript //nologo FileServer_OpenFile.vbs /server: Servername /file: Dateiname
2.13 Wer hat eine Datei geöffnet? 145
Grundlagen von FileServer_OpenFile.vbs
Das Skript selbst ist einfach:
FileServer_OpenFile.vbs
sComputerName = WScript.Arguments.Named("server")
sFileName = WScript.Arguments.Named("file")
if sComputerName = "" or sFileName = "" then
WScript.Echo "Usage: cscript FileServer_OpenFile.vbs " &_
" /server:SERVERNAME /file:FILENAME"
WScript.Quit (501)
end if
Set oServer = GetObject("WinNT://" & sComputerName & "/LanmanServer")
for each oResource in oServer.resources
on error resume next
if (Not oResource.User="") AND (Not Right(oResource.User,1) = "$") Then
if Instr(1, oResource.Path, sFileName, 1) >0 then
WScript.echo "Path: " & oResource.path
Wscript.echo "User: " & oResource.user
wscript.echo "Lock: " & oResource.lockcount
Wscript.echo
end if
end if
next
Zunächst analysiert das Skript die Argumente, die ihm übergeben wurden. Falls eines davon fehlt, gibt
das Skript eine Meldung aus, um eine bessere Eingabe zu erhalten.
Danach nimmt das Skript Verbindung mit den Dateidiensten (dem Dienst LanmanServer) auf dem durch
das Argument server angegebenen Server auf. LanmanServer stellt eine Auflistung von Ressourcen –
geöffneten Dateien – zur Verfügung. Diese Auflistung wird in einer Schleife verarbeitet, wobei der Code
Ausschau nach Ressourcen hält, die mit dem übergebenen Dateinamen übereinstimmen. Bei einer Übereinstimmung werden die Informationen über die betreffende Ressource ausgegeben.
Zusammenfassung
Das war einfach, nicht wahr? Ein simples Skript sucht in der Ressourcenauflistung des Dienstes LanmanServer nach einer Übereinstimmung, um unsere Frage »Wer hat die Datei geöffnet?« zu beantworten.
146 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
2.14 Senden von Nachrichten an die Benutzer
Die Lösung im Überblick
Typ
Skript
Funktionen und Werkzeuge
VBScript, PSExec
Zusammenfassung
Sie nutzen PSExec und das Skript Message_Notification.vbs, um
wieder Nachrichten an Benutzer zu senden. Dies ist vor allem dann
sinnvoll, wenn Sie die Benutzer darauf hinweisen möchten, dass
ein Server offline geschaltet werden soll.
Einführung
In der guten alten Zeit konnten Sie mit den Diensten Messenger und Alerter Nachrichten an Benutzer
oder Computer senden. Dann nutzten einige böse Buben diese Dienste aus, um meiner Mutter über
eine Internetverbindung Nachrichten zu schicken, damit sie gefälligst deren Waren kaufte. Daraufhin
hat Microsoft diese beiden Dienste gesperrt, sodass sie jetzt nicht mehr automatisch gestartet werden.
Ich gebe zu, dass meine Mutter nicht die Einzige war, die durch diese Sicherheitslücke in den Diensten Messenger und Alerter belästigt wurde, aber im Grunde genommen lief es wirklich so ab.
Wenn Sie einen Server offline schalten oder aus einem anderen Grund eine Nachricht über das Netzwerk an die Benutzer senden möchten, können Sie nicht mehr erwarten, dass der Befehl net send erfolgreich ausgeführt wird, da die zugrunde liegenden Dienste nicht ausgeführt werden. Wir brauchen eine
Alternative. In dieser Lösung stellen wir Werkzeuge zusammen, mit deren Hilfe wir Benutzer darüber
informieren können, dass sie ihre offenen Dateien auf dem Server schließen sollen, bevor wir den Server offline schalten. Mit diesen Werkzeugen können Sie natürlich auch in anderen Situationen Nachrichten verschicken.
Verwenden von Message_Notification.vbs
Auf dem Begleitmedium finden Sie im Ordner Scripts ein Skript namens Message_Notification.vbs.
Um es zu verwenden, geben Sie den folgenden Befehl ein:
cscript //nologo Message_Notification.vbs /message:"Nachrichtentext"
[/title:"Titelzeile"] [/time:[0 | n]
Der Nachrichtentext ist ein erforderlicher Parameter und darf nicht leer sein. Mit dem Parameter title
legen Sie den Text der Titelzeile fest. Wenn Sie ihn auslassen, lautet der Titel Notification. Wenn der
Parameter time null beträgt, wird das Dialogfeld so lange eingeblendet, bis der Benutzer auf OK klickt.
Sie können auch eine Zahl eingeben, die festlegt, wie viele Sekunden lang die Nachricht zu sehen ist.
Wenn Sie den Parameter weglassen, wird ein Standardwert von 60 Sekunden verwendet. Aufgrund der
Natur dieses Skripts können Sie anstelle von cscript.exe auch einfach wscript.exe verwenden, um es
auszuführen.
Mit diesem Skript können Sie eine Nachricht erstellen, aber das reicht noch nicht aus, um eine Nachricht
auch auf einem Remotesystem anzuzeigen. Dieses Problem werden wir in Kürze lösen.
2.14 Senden von Nachrichten an die Benutzer 147
Grundlagen von Message_Notification.vbs
Der Rumpf von Message_Notificaton.vbs sieht wie folgt aus:
Message_Notification.vbs
Const PopupOK = 0
Const PopupWarning = 48
sMessage = WScript.Arguments.Named("message")
sTitle = WScript.Arguments.Named("title")
iWait = WScript.Arguments.Named("time")
if sMessage = "" then WScript.Quit(0)
if sTitle = "" then sTitle = "NOTIFICATION"
if iWait = "" then iWait = 60
Set WSHShell = CreateObject("WScript.Shell")
Call WSHShell.Popup (sMessage, iWait, sTitle, PopupWarning + PopupOK)
Dieses Skript ist ein einfacher Wrapper um eine bereits vorhandene Methode des Objekts Shell, nämlich die Methode Popup. Sie erstellt ein Dialogfeld, das eine Titelleiste, eine Nachricht, Schaltflächen
(wie OK, Ja und Nein, Wiederholen und Abbrechen) und ein Symbol (Stoppschild, Fragezeichen, Ausrufezeichen oder Häkchen) enthalten kann. Für das Dialogfeld kann eine Gültigkeitsdauer angegeben
werden, sodass es nach einer voreingestellten Zeit verschwindet. Sie können die Nachricht aber auch so
einrichten, dass auf Benutzereingaben gewartet wird. Das Dialogfeld Popup darf auch mehr als 1023
Zeichen enthalten (die Grenze für Nachrichten, die mit der Anwendung MsgBox erstellt werden). Dies
macht Popup in vielen Situationen zu einem idealen Kandidaten für die Übermittlung von Nachrichten
an Benutzer.
In diesem konkreten Skript legen wir zunächst die verfügbare Schaltfläche (OK) und das Symbol (Ausrufezeichen) fest. Anschließend werden die Argumente des Skripts ermittelt und verarbeitet: Wenn der
Nachrichtentext leer ist, wird das Skript beendet, falls eines der beiden anderen Argumente fehlt, werden dafür die Standardwerte festgelegt. Anschließend wird ein Verweis auf das Shell-Objekt erstellt und
die Methode Popup aufgerufen.
Wenn Sie dieses Skript für Popup-Nachrichten mit anderen Schaltflächen oder Symbolen anpassen
möchten, lesen Sie die Dokumentation zur Methode Popup unter http://msdn2.microsoft.com/en-us/
library/x83z1d9f.aspx.
Ausführen eines Skripts auf einem Remotecomputer mit PSExec
Um eine Nachricht an einen Remotecomputer zu senden, verwenden wir PSExec, damit unser Skript
Message_Notification.vbs auf dem anderen System ausgeführt wird. Dafür müssen Sie Administrator
auf dem Remotesystem sein und eine Verbindung dazu aufnehmen können (die Ports 445 und 139
müssen geöffnet sein).
148 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Hinweis Ich bin mit Sicherheit nicht der Einzige, der Skripts auf virtuellen Maschinen testet. Um Ihnen den
Ärger zu ersparen, den ich erlebt habe, muss ich Sie warnen: Dieses Skript scheint nicht zu funktionieren,
wenn Sie eine Nachricht an eine Windows Vista-Installation in VMware Workstation 6.0 senden. Es gibt ein
Problem mit der Darstellung der Popup-Nachricht, wobei entweder das Skript in der Taskleiste erscheint oder
nur die Titelleiste angezeigt wird. Bei Windows XP in VMware Workstation 6.0 und bei Windows Vista auf
einem physischen Rechner funktioniert das Skript jedoch tadellos. Schlagen Sie also nicht den Kopf gegen
die Wand (und senden Sie mir keine E-Mail!), wenn Sie beim Testen des Skripts in einer virtuellen Umgebung
Probleme feststellen.
Platzieren Sie das Skript Message_Notification.vbs in einem freigegebenen Ordner auf einem Server,
sodass Sie von dem Remotecomputer aus darauf Zugriff haben. Verwenden Sie dann den folgenden
Befehl:
psexec.exe \\computername –i –u DOMÄNE\benutzername –p Kennwort –d
wscript.exe "\\server\freigabe\pfad\message_notification.vbs"
/message:"Nachrichtentext" [/title:" Titel"] [-time:0|n]
Das sind eine ganze Menge an Befehlszeilenoptionen. Sehen wir sie uns der Reihe nach an:
\\computername Hiermit geben Sie den Computer an, auf dem das Skript ausgeführt wird. Die PopupNachricht erscheint auf diesem Rechner.
-i Das Skript wird mit den Anmeldeinformationen eines Administrators des betreffenden Computers
ausgeführt, aber die Nachricht soll dem zurzeit angemeldeten Benutzer eingeblendet werden. Mit
der Option -i kann der Prozess mit der Benutzersitzung interagieren.
-u DOMÄNE\benutzername -p Kennwort Diese beiden Optionen stellen die Anmeldeinformationen
bereit, um den Prozess auszuführen. Es muss sich um die Anmeldeinformationen eines Mitglieds der
lokalen Administratorengruppe auf dem Remotecomputer handeln. Dieses Mitglied muss außerdem
Leseberechtigungen für das Skript auf der Netzwerkfreigabe haben. Sie müssen ausdrücklich Anmeldeinformationen angeben, da sie an das Remotesystem übergeben werden, das sie dann für den Zugriff auf das Netzwerk verwendet.
-d Die Option -d weist PSExec an, nicht auf den Abschluss des Prozesses zu warten. Dadurch wird
verhindert, dass PSExec die ganze angegebene Zeitspanne hindruch wartet, und verhindert außerdem Störungen, falls das Skript auf dem Remotecomputer nicht läuft.
wscript.exe PSExec startet den Prozess wscript.exe auf dem Remotecomputer. Da sich wscript.exe im
Befehlspfad von Windows-Systemen befindet, ist keine Pfadangabe erforderlich. Wir verwenden
hier wscript.exe, da beim Einsatz von cscript.exe ein schwarzes Befehlszeilenfenster erscheinen
würde, was nicht das ist, was wir wollen.
"\\server\freigabe\pfad\message_notification.vbs" Dies ist der UNC-Pfad zu dem Skript, das von
wscript.exe ausgeführt wird.
Die restlichen Befehlszeilenoptionen sind Argumente für das Skript, die weiter vorn in dieser Lösung
beschrieben wurden.
Als Ergebnis der Kombination von PSExec mit einem einfachen VBScript-Wrapper um die Methode
Popup des Objekts Shell haben wir einen nützlichen Ersatz für den Befehl net send geschaffen! Da
PSExec auf sichere Weise funktioniert und lokale administrative Anmeldeinformationen auf dem
Remotecomputer benötigt, handelt es sich um eine solide und sichere Lösung.
2.14 Senden von Nachrichten an die Benutzer 149
Auflisten der geöffneten Sitzungen auf einem Server
Nachdem wir jetzt ein Hilfsmittel haben, um eine Nachricht über das Netzwerk zu senden, müssen wir
jetzt nur noch herausfinden, welche Benutzer wir informieren müssen. In der vorherigen Lösung haben
wir uns ein Skript angeschaut, das sich die geöffneten Dateien auf einem Server mithilfe der Ressourcenauflistung von LanmanServer ansieht. LanmanServer erfasst aber auch geöffnete Sitzungen, die Sie
mit folgendem Code auflisten lassen können:
sComputerName = "SERVER02.contoso.com"
Set oServer = GetObject("WinNT://" & sComputerName & "/LanmanServer")
for each oSession in oServer.sessions
wscript.echo "User: " & oSession.user
wscript.echo "Computer: " & oSession.computer
next
Mit diesem Ansatz können wir die Computer bestimmen, von denen aus die Benutzer Verbindung mit
dem Server aufgenommen haben. Das sind die Computer, an die wir unsere Nachrichten senden.
Verwenden und Anpassen von FileServer_NotifyConnectedUsers.vbs
Wenn Sie den soeben gezeigten Code, der die mit einem Server verbundenen Computer findet, mit
unserem PSExec-Befehl kombinieren, der das Skript Message_Notification.vbs startet, können wir
die gewünschte Lösung erstellen. Das Ergebnis finden Sie als FileServer_NotifyConnectedUsers.vbs
im Ordner Scripts des Begleitmediums.
Bevor Sie das Skript verwenden, müssen Sie den Konfigurationsblock mit dem Pfad zu Message_Notification.vbs und PSExec.exe ändern. (Falls sich PSExec.exe im selben Pfad befindet wie FileServer_NotifyConnectedUsers.vbs, ist kein Pfad erforderlich.) Sie können auch den Text der Titelleiste und die Zeiteinstellung für die Nachricht ändern.
Die Syntax zum Ausführen des Skripts lautet wie folgt:
cscript FileServer_NotifyConnectedUsers.vbs /user: DOMÄNE\benutzername
/password: kennwort /server: SERVERNAME /message:"Nachrichtentext"
Sie müssen hierbei den Benutzernamen und das Kennwort eines Benutzers eingeben, der Administrator
auf allen Systemen ist, an die die Nachricht geht. Systeme, auf denen dies nicht der Fall ist, erhalten die
Nachricht nicht, während das Skript aber weiterhin ausgeführt wird. Der Servername, den Sie eingeben,
zeigt auf den Server, der auf offene Sitzungen hin untersucht wird. Der Nachrichtentext ist das, was Sie
den mit dem Server verbundenen Benutzern mitteilen möchten.
Das Skript bestimmt, welche Computer Sitzungen auf dem Server geöffnet haben, und sendet ihnen die
angegebene Nachricht. Dabei meldet das Skript jeden einzelnen Computernamen. Einige Rechner reagieren möglicherweise nicht so schnell wie andere. Räumen Sie dem Skript daher etwas Zeit zur Ausführung ein.
Das Ergebnis ist eine Benachrichtigung der Benutzer bei vernünftigem Aufwand. Es gibt keine Garantie
dafür, dass sich die Benutzer um die Nachricht kümmern, aber auch nicht dafür, dass PSExec mit jedem
Computer Verbindung aufnehmen und das Skript dort ausführen kann. Firewalls und andere Dinge können Verbindungen verhindern. Dies galt aber auch für früher für Benachrichtigungen über net send.
150 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Zusammenfassung
Netzwerkadministratoren müssen häufig eine Nachricht an die Benutzer schicken. E-Mail ist eine Möglichkeit dafür, sofern die Benutzer in ihren Posteingang schauen. Es geht aber nichts über eine PopupNachricht mitten auf dem Bildschirm, um die Aufmerksamkeit des Benutzers auf sich zu ziehen. In dieser Lösung werden ein einfacher VBScript-Wrapper und die Methode Popup des Shell-Objekts und das
unglaublich nützliche Werkzeug PSExec.exe eingesetzt, um das Skript auf einem Remotecomputer auszuführen.
Wenn Sie einen Server offline schalten müssen, können Sie alle damit verbundenen Benutzer darüber
informieren, indem Sie FileServer_NotifyConnectedUsers.vbs ausführen. Dieses Skript ermittelt alle
geöffneten Sitzungen auf dem Server und ruft dann automatisch PSExec auf, um das Benachrichtigungsskript auf den Computern der verbundenen Benutzer auszuführen.
2.15 Serverübergreifendes Verteilen von Dateien
Die Lösung im Überblick
Typ
Befehl und Verfahren
Funktionen und Werkzeuge
schtasks.exe, robocopy.exe, DFS-Replikaton, SMB-Berechtigungen (Freigabeberechtigungen)
Zusammenfassung
Sie erstellen eine Master/Spiegel-Topologie, um Dateien von
einer (Master-) Quelle auf mehrere (Spiegel-) Ziele zu verteilen.
Dazu verwenden Sie Robocopy oder die DFS-Replikation.
Einführung
In einer verteilten Organisation ist es oft notwendig, Dateien auf Server am Standort der Benutzer zu
verteilen. Es kann z.B. sein, dass Sie einen Ordner mit Treibern oder Anwendungen auf die Server in
den Filialen kopieren oder häufig verwendete Geschäftsdokumente auf mehrere Server verteilen müssen. In solchen Situationen wird meistens ein Modell mit einer einzigen Quelle gewünscht, bei der die
Änderungen an einem Ordner am zentralen Standort weiterverteilt werden, während an den verteilten
Kopien keine Änderungen durchgeführt werden können. Wir nennen diese Quelle Master und die verteilten Kopien Spiegel. Dieses Problem gehen wir auf zwei Weisen an, nämlich mit Robocopy und mit
der DFS-Replikation.
Verteilen von Dateien mit Robocopy
Robocopy.exe gehört zu den systemeigenen, im Lieferumfang enthaltenen Hilfsprogrammen von Windows Vista und Windows Server 2008. Für frühere Versionen von Windows steht es als Resource Kit
Tool zur Verfügung. Viele Organisationen verwenden Robocopy, um Dateien zu verteilen oder zu replizieren. Die einfachste Syntax zum Spiegeln eines Ordners an einen anderen Standort lautet:
robocopy.exe Quelle Ziel /copyall /mir
Die Parameter Quelle und Ziel sind die Pfade zu dem Quell- und Zielordner. Gewöhnlich verwenden
Sie Robocopy auf dem Quellserver, sodass es sich bei Quelle um einen lokalen Pfad und bei Ziel um
2.15 Serverübergreifendes Verteilen von Dateien 151
einen UNC-Pfad handelt. Es können jedoch auch beide Parameter lokale oder UNC-Pfade sein. Die
Option /copyall gibt an, dass alle Dateiattribute – auch Sicherheit, Überwachung und Besitz – kopiert
werden sollen. Mit /mir weisen Sie Robocopy an, den Quellordner zu spiegeln: Jüngere Dateien aus der
Quelle überschreiben entsprechende ältere Dateien im Ziel, fehlende Dateien im Ziel werden ergänzt,
und jegliche Dateien, die im Ziel vorhanden sind, aber nicht in der Quelle, werden gelöscht.
Um eine Master/Spiegel-Dateiverteilungstopologie anzulegen, erstellen Sie einfach eine geplante Aufgabe, um Robocopy in den gewünschten Abständen auszuführen. Dazu können Sie den Befehl
schtasks.exe wie folgt einsetzen:
schtasks.exe /create /RU DOMÄNE\Benutzername /RP Kennwort /TN Aufgabenname
/TR "robocopy.exe Quelle Ziel /copyall /mir" /sc MINUTE /mo Intervall
Die Anmeldeinformationen DOMÄNE\Benutzername und Kennwort werden verwendet, um die Robocopy-Aufgabe auszuführen. Sie müssen die NTFS-Berechtigung Vollzugriff für die Ordner und Dateien in
Quelle und Ziel haben. Der Aufgabenname ist der Anzeigename der geplanten Aufgabe. Das Intervall
wird als Anzahl der Minuten zwischen den Wiederholungen angegeben. Geben Sie an einer Befehlszeile
schtasks.exe /create /? ein, um weitere Einzelheiten über die Parameter zu erfahren, die für den Befehl
schtasks zur Verfügung stehen.
Um sicherzustellen, dass die Quelle (der Master) der einzige Standort ist, an dem Dateien für die Verteilung hinzugefügt werden können, müssen Sie Freigabeberechtigungen für die Zugriffssteuerung verwenden. Nehmen Sie keine NTFS-Berechtigungen, da Robocopy sie auf den Spiegel repliziert. Richten Sie
stattdessen auf dem Spiegel Freigabeberechtigungen so ein, dass nur das Konto, das für die geplante Aufgabe verwendet wird, Vollzugriff hat. Alle anderen Benutzer, die Zugriff auf die Spiegel brauchen, sollten
die Freigabeberechtigung Lesen haben. Das Konto für schtasks.exe und andere Benutzer, die Zugriff auf
den Master benötigen, müssen dort die Freigabeberechtigung Vollzugriff haben. Da sich der effektive
Zugriff eines Benutzers aus der restriktivsten Kombination seiner Freigabe- und NTFS-Berechtigungen
ergibt, können Benutzer, die die NTFS-Berechtigung zum Erstellen, Ändern oder Löschen von Dateien
haben, dies nur auf der Masterfreigabe tun.
Verteilen von Dateien mit DFS-Replikation
Die DFS-Replikation (DFS-R), die mit Windows Server 2003 R2 eingeführt wurde, ermöglicht eine
hochgradig effiziente und verwaltungsfreundliche Replikation und nutzt differentielle Komprimierung
und Bandbreitensteuerung aus, um sicherzustellen, dass die Replikation der Daten nur den geringstmöglichen Einfluss auf das Netzwerk hat.
Eines der häufigsten Missverständnisse bei der Nabe/Speiche-Replikationstopologie (Hub-and-Spoke)
von DFS-R besteht darin, dass sie eine Master/Spiegel-Funktionalität böte. Das ist jedoch nicht der Fall.
Bei dieser Topologie werden Änderungen auf einem Speichensystem an die Nabe und von dort aus an
andere Speichen repliziert. Um eine Master/Spiegel-Topologie zu erstellen, beginnen Sie mit einer DFSR-Topologie und ändern dann die Freigabeberechtigungen. Dazu sind folgende Schritte erforderlich:
1. Öffnen Sie die DFS-Verwaltungskonsole.
2. Rechtsklicken Sie auf Replikation und wählen Sie Neue Replikationsgruppe.
3. Der Assistent für neue Replikationsgruppen erscheint.
4. Aktivieren Sie auf der Seite Replikationsgruppentyp die Option Mehrzweckreplikationsgruppe.
Klicken Sie auf Weiter.
152 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
5. Geben Sie auf der Seite Name und Domäne einen Namen für die Replikationsgruppe ein, z.B. Master-Mirror File Distribution. Optional können Sie eine Beschreibung eingeben. Klicken Sie auf
Weiter.
6. Klicken Sie auf der Seite Replikationsgruppenmitgliederauf Hinzufügen und geben Sie den Namen
des Masterservers ein. Klicken Sie auf OK. Wiederholen Sie diesen Vorgang für jeden Spiegelserver. Klicken Sie auf Weiter, wenn alle Server im Feld Mitglieder aufgeführt werden.
7. Aktivieren Sie auf der Seite Topologieauswahl die Option Nabe und Speiche, falls Sie mindestens
drei Mitglieder haben. Bei nur zwei Mitgliedern wählen Sie Vollständig vermaschtes Netz. Klicken
Sie auf Weiter. Falls Sie die vollständig vermaschte Netztopologie verwenden, fahren Sie mit
Schritt 10 fort.
8. Wählen Sie auf der Seite Nabenmitglieder den Masterserver aus der Liste Speichenmitglieder aus
und klicken Sie auf Hinzufügen, um ihn in die Liste Nabenmitglieder zu überführen. Klicken Sie
auf Weiter.
9. Akzeptieren Sie die Standardwerte auf der Seite Nabe-zu-Speiche-Verbindungen und klicken Sie
auf Weiter.
10. Auf der Seite Replikationsgruppenzeitplan und Bandbreite können Sie die Standardbandbreite
(Vollständig) akzeptieren, aber auch die Bandbreitennutzung für die Replikation konfigurieren.
Denken Sie daran, dass es sich bei DFS-R um einen hochgradig effizienten Replikationsmechanismus handelt, sodass es selbst bei der vollständigen Bandbreitennutzung unwahrscheinlich ist, dass
bei der Replikation die gesamte Bandbreite verbraucht wird. Klicken Sie auf Weiter.
11. Wählen Sie auf der Seite Primäres Mitglied den Masterserver aus und klicken Sie auf Weiter.
12. Klicken Sie auf der Seite Zu replizierende Ordner auf Hinzufügen und geben Sie den Pfad zu dem
Ordner ein, den Sie replizieren möchten. Alle Unterordner werden in die Replikation einbezogen.
Optional können Sie dem Ordner einen benutzerdefinierten Namen geben. Klicken Sie auf OK.
Wiederholen Sie diesen Schritt für jeden Ordner, den Sie replizieren möchten. Klicken Sie auf
Weiter.
13. Wählen Sie auf der Seite Lokaler Pfad von <zu replizierender Ordner> auf anderen Mitgliedern
den Spiegelserver aus, klicken Sie auf Bearbeiten und wählen Sie Aktiviert. Geben Sie den Pfad zu
dem Ordner auf diesem Server ein und klicken Sie auf OK. Wiederholen Sie diesen Schritt für jeden
Spiegelserver. Klicken Sie auf Weiter.
14. Überprüfen Sie die Einstellungen, die Sie vorgenommen haben.
15. Klicken Sie auf Erstellen.
16. Stellen Sie sicher, dass die Aufgaben erfolgreich fertig gestellt werden.
17. Klicken Sie auf Schließen, um den Assistenten für neue Replikationsgruppen zu schließen.
Weisen Sie auf dem Master die Freigabeberechtigung Vollzugriff für alle Benutzer zu, die Zugriff auf
diesen Ordner benötigen könnten. Auf den Spiegelservern sollten Benutzern, die Zugriff auf die Spiegel brauchen, nur die Leseberechtigung für die Freigabe bekommen. Im Gegensatz zu Robocopy, das
ein Konto zum Kopieren der Dateien zwischen den freigegebenen Ordnern verwendet, ist DFS-R ein
Dienst, weshalb keine anderen Änderungen an den Freigabeberechtigungen erforderlich sind.
Wichtig Der zuvor beschriebene Vorgang ist die empfohlene Methode, um eine Einweg-Replikation vom
Master zum Mirror einzurichten. Auf vielen Websites können Sie lesen, dass Sie die Replikationsverbindungen
löschen sollten. Dies wird jedoch nicht empfohlen, da dies unbeabsichtigte Nebenwirkungen auf die DFS-Replikation haben kann. Microsoft rät vom Löschen von Replikationsverbindungen ab.
2.16 Speicherplatzverwaltung mit Kontingenten 153
Zusammenfassung
Mit einer geplanten Aufgabe, die Robocopy ausführt, oder mithilfe der DFS-Replikation können Sie
Dateien von einem Master auf die Spiegelversionen eines freigegebenen Ordners replizieren. Um
sicherzustellen, dass direkt an den Spiegeln keine Änderungen vorgenommen werden können, verwenden Sie Freigabeberechtigungen für die gespiegelten Kopien, die nur den Lesezugriff erlauben.
die NFTS-Berechtigungen sollten auf den Spiegeln nicht geändert werden, da die NTFS-Berechtigungen des Masters an die Spiegel repliziert werden und daher jegliche Änderungen überschreiben, die
Sie vorgenommen haben. Das Löschen von DFS-Replikationsverbindungen wird ebenfalls nicht
empfohlen.
2.16 Speicherplatzverwaltung mit Kontingenten
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Kontingente
Zusammenfassung
Änderungen bei den Möglichkeiten der Kontingentverwaltung in
Windows Server 2008
Einführung
Die Kontingentverwaltung auf Windows Server-Systemen wurde in Windows Server 2003 R2 überholt.
Wie die Vorgängerversion bietet auch Windows Server 2008 leistungsfähige, flexible und wirkungsvolle Funktionen zur Überwachung und Durchsetzung der Speichernutzung. Diese Lösung bietet einen
Überblick über die Windows-Kontingentverwaltung und hebt einige Schlüsselkonzepte und Tricks hervor. Im Hilfe- und Supportcenter finden Sie ausführliche Dokumentation zur Kontingentverwaltung.
Neue Merkmale der Kontingentverwaltung
In den folgenden Abschnitten gehe ich auf Änderungen bei der Kontingentverwaltung gegenüber Windows Server 2003 und Windows 2000 ein. Seit Windows Server 2003 R2 wurden keine weiteren Änderungen an dieser Funktion vorgenommen.
Die wahrscheinlich hervorstechendste Änderung besteht darin, dass Kontingente jetzt auch für einzelne
Ordner und nicht nur Volumes eingerichtet werden können. Wenn ein Ordnerkontingent festgelegt ist,
sind alle Benutzer daran gebunden. Falls Sie also das Kontingent für den Ordner Marketing auf 100 MB
festlegen, ist das der maximale Speicherplatz, den dieser Ordner einnehmen darf, unabhängig davon,
welcher Benutzer Dateien darin erstellt. Sobald sich in dem Ordner 100 MB an Daten befinden, wird
dem nächsten Benutzer, der versucht, eine neue Datei darin anzulegen, der Zugriff verweigert.
Das Kontingent beruht jetzt auch auf der physischen und nicht auf der logischen Festplattennutzung. Wird
eine Datei also mit der NTFS-Komprimierung verkleinert, wird die resultierende (also die komprimierte)
Größe mit dem Kontingent verrechnet.
Das Verhalten der Kontingente ist sehr flexibel. Sie können harte Kontingente einrichten, die alle Benutzer daran hindern, Daten hinzuzufügen, nachdem der Grenzwert erreicht ist, aber auch weiche Kontingente, bei denen nach dem Limit immer noch Daten hinzugefügt werden können, bei denen aber die
Speichernutzung überwacht wird. Jedes Kontingent kann verschiedene Benachrichtigungsschwellen
154 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
aufweisen, die festlegen, was geschieht, sobald ein bestimmter Prozentsatz des Kontingents erreicht ist.
Bei jedem Schwellenwert können eine oder mehrere der folgenden Aktionen ausgelöst werden:
E-Mail-Nachricht Eine E-Mail kann an einen oder mehrere Administratoren und/oder an den Benutzer gesendet werden, dessen Änderungen zum Überschreiben des Schwellenwertes geführt haben.
Die Nachricht an den Benutzer ist frei wählbar und kann verschiedene Variablen enthalten.
Ereignisprotokoll Im Ereignisprotokoll kann eine Warnung eingetragen werden. Wie bei der E-MailNachricht können Sie einen beliebigen Text dafür wählen und verschiedene Variablen einfügen, um
einen ausführlichen und verständlichen Protokolleintrag zu gestalten.
Befehl Sie können festlegen, dass beim Erreichen eines Schwellenwertes ein beliebiger Befehl ausgeführt wird. Dadurch werden die möglichen Aktionen auf unendlich viele Möglichkeiten erweitert.
Bericht Berichte über die Speichernutzung können generiert und per E-Mail an Administratoren und/
oder den Benutzer gesendet werden, der den Schwellenwert überschritten hat. Die Berichte werden
außerdem im Ordner %systemdrive%\StorageReports\Incident auf dem Server gespeichert.
Kontingentvorlagen
Die Kontingentverwaltung von Windows bietet zwar unzählige Konfigurationsmöglichkeiten, doch sehr
wahrscheinlich gibt es nur eine sehr kleine Anzahl möglicher Konfigurationen, die sich für die Kontingentverwaltung in Ihrem Unternehmen eignen. Sie können sich z.B. dafür entscheiden, dass dem Ordner
einer Abteilung ein bestimmtes Kontingent zugewiesen wird und dass die Benutzer beim Erreichen von
85% dieses Kontingents E-Mail-Nachrichten erhalten, in denen sie gebeten werden, veraltete Dateien zu
entfernen. Außerdem sollen die Administratoren darüber informiert werden, dass die Kapazitätsgrenze
des Ordners bald erreicht ist. Bei 100% des Kontingents sollten Sie das Hinzufügen weiterer Dateien
untersagen. Sie können auch andere Konfigurationen für eine Hand voll verschiedener Situationen in
Ihrer Organisation definieren.
Um diese Entscheidungen umzusetzen, sollten Sie Kontingentvorlagen einsetzen. Einige standardmäßige Kontingentvorlagen sind von Anfang an verfügbar. Im Snap-In Ressourcen-Manager für Dateiserver können Sie neue Vorlagen erstellen. Erweitern Sie Kontingentverwaltung, markieren Sie
Kontingentvorlagen und rechtsklicken Sie darauf und wählen Sie Kontingentvorlage erstellen. Als
Ausgangspunkt für die neue Vorlage können Sie eine Kopie einer vorhandenen Vorlage verwenden, Sie
können aber auch alle Eigenschaften von Grund auf neu zusammenstellen. Benennen Sie die Vorlage
und geben Sie die Maximalgröße des Kontingents an. Richten Sie das Kontingent als hart oder weich
ein und fügen Sie Benachrichtigungsschwellenwerte hinzu. Geben Sie für jeden Schwellenwert die auszulösenden E-Mail-Nachrichten, Protokolleinträge, Befehle oder Berichte an.
Nachdem Sie eine Kontingentvorlage definiert haben, können Sie sie auf Ordner anwenden. Wahrscheinlich wollen Sie ähnliche Kontingentvorlagen auf verschiedenen Servern verwenden. Zur Übertragung der Vorlagen auf andere Systeme verwenden Sie den Befehl dirquota.exe mit den Optionen /
export und /import.
Anwenden eines Kontingents auf einen Ordner
Nachdem Sie die geeigneten Kontingentvorlagen erstellt haben, können Sie Kontingente für einzelne
Pfade anlegen. Markieren Sie im Snap-In Ressourcen-Manager für Dateiserver den Knoten Kontingente im Zweig Kontingentverwaltung und rechtsklicken Sie darauf. Wählen Sie Kontingent erstellen.
2.16 Speicherplatzverwaltung mit Kontingenten 155
Geben Sie den Pfad ein, auf den Sie das Kontingent anwenden möchten. Es kann sich dabei um einen
Ordner oder um ein gesamtes Volume handeln. Wählen Sie anschließend aus der Dropdownliste in der
Mitte des Dialogfelds Kontingent erstellen Ihre Vorlage aus, wie Sie in Abb. 2.13 sehen.
Abbildung 2.13 Das Dialogfeld Kontingent erstellen
Sie können im Dialogfeld Kontingent erstellen zwar auch ein maßgeschneidertes Kontingent anlegen,
doch lassen sich Kontingente mit Vorlagen wirkungsvoller verwalten als mit dieser Einweg-Methode.
Kontingentvorlagen vereinfachen nicht nur die Anwendung von Kontingenteigenschaften, sondern
geben Ihnen auch langfristig mehr Flexibilität. Wenn Sie die Eigenschaften einer Kontingentvorlage
ändern, werden alle Ordner, auf die diese Vorlage angewandt wurde, unmittelbar aktualisiert, um diese
Änderungen widerzuspiegeln.
Im Dialogfeld Kontingent erstellen finden Sie auch die Option Vorlage automatisch anwenden. Sie ist vor
allem dann nützlich, wenn Sie einen Ordner der obersten Ebene (gewöhnlich ohne Kontingent) haben und
wünschen, dass Unterordnern bei ihrer Erstellung automatisch ein bestimmtes Kontingent zugewiesen
wird. Stellen Sie sich einen Ordner für eine Abteilung vor, der Unterordner für einzelne Funktionen oder
Teams innerhalb der Abteilung enthält. Für jeden Unterordner soll ein bestimmtes Kontingent gelten. Mit
der Option Vorlage automatisch anwenden können Sie dieses Ziel erreichen. Ein weiteres häufiges Einsatzgebiet für diese Option sind Benutzerdatenordner: Oberhalb der Ordner für die einzelnen Benutzer
gibt es einen Stammordner. Wenn Benutzerdatenordner erstellt werden, soll ihnen ein bestimmtes Kontingent zugewiesen werden. In Lösungsgruppe 3, »Verwalten von Benutzerdaten und -einstellungen«,
wird die Option Vorlage automatisch anwenden ausführlich besprochen.
156 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Zusammenfassung
In Windows Server 2003 R2 wurde die Kontingentverwaltung der Windows Server-Produktlinie völlig
neu gestaltet. Sie können jetzt eine Speicherzuteilung mithilfe von Kontingenten einrichten, die es ermöglicht, beim Erreichen von Schwellenwerten E-Mail-Benachrichtigungen zu senden, Einträge im Ereignisprotokoll vorzunehmen, Berichte zu generieren und Befehle auszuführen. Die Kontingente werden auf
einzelne Ordner statt auf Benutzer angewendet. Kontingentvorlagen bilden einen zentralen Verwaltungspunkt zum Definieren und Ändern von Kontingenteigenschaften.
2.17 Weniger Helpdesk-Anrufe zum Wiederherstellen
gelöschter oder überschriebener Dateien
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Schattenkopien für freigegebene Ordner
Zusammenfassung
Sie aktivieren Schattenkopien und geben den Benutzern Methoden an die Hand, um vorherige Versionen von Dateien in freigegebenen Ordnern wiederherzustellen.
Einführung
Wenn ein Benutzer eine Datei versehentlich löscht oder überschreibt, können die erforderlichen Maßnahmen zur Wiederherstellung sehr aufwändig sein: Sie müssen eine Sicherung finden, die Sicherung
bereitstellen und die Datei abrufen. Mit Windows Server 2003 wurde die Funktion der Schattenkopien
für freigegebene Ordner eingeführt, die zeitpunktgenaue Snapshots von Festplattenvolumes ermöglicht.
Außerdem wurde der Client für vorherige Versionen vorgestellt, der den Benutzern erlaubt, Dateien ohne
Eingriff des Administrators aus diesen Snapshots wiederherzustellen.
Es ist sehr wichtig, die zugrunde liegende Technik der Schattenkopien genau zu verstehen, weshalb ich
Ihnen empfehle, die folgende Microsoft-Dokumentation zu lesen:
„ Dokumentation der Funktion: http://technet2.microsoft.com/windowsserver/en/library/77a571cca360-468a-ad99-6c80049530db1033.mspx?mfr=true
„ Technische Referenz: http://technet2.microsoft.com/windowsserver/en/library/2b0d2457-b7d842c3-b6c9-59c145b7765f1033.mspx?mfr=true
„ Whitepaper: http://www.microsoft.com/windowsserver2003/techinfo/overview/scr.mspx
Diese Lösung bietet eine Anleitung für bestimmte Bereiche, um Ihnen zu helfen, diese Funktion mit
Ihren Geschäftserfordernissen in Einklang zu bringen.
2.17 Weniger Helpdesk-Anrufe zum Wiederherstellen gelöschter oder überschriebener Dateien 157
Aktivieren von Schattenkopien
Schattenkopien müssen auf Windows Server-Computern aktiviert werden, da sie standardmäßig deaktiviert sind. Die Funktion wird für Volumes aktiviert, nicht für einzelne Ordner oder Freigaben. Klicken
Sie auf der Registerkarte Schattenkopien im Eigenschaftendialogfeld eines Volumes auf Einstellungen
(siehe Abb. 2.14).
Abbildung 2.14 Die Registerkarte Schattenkopien im Eigenschaftendialogfeld eines Volumes
Empfohlene Vorgehensweisen Klicken Sie nicht auf die Schaltfläche Aktivieren.
Die Schaltfläche Aktivieren ist das Schnellverfahren. Damit werden Schattenkopien mit den Standardeinstellungen eingerichtet, die sich aber nicht für jede Situation eignen. Klicken Sie stattdessen lieber
auf Einstellungen. Daraufhin erscheint das Dialogfeld Einstellungen, das Sie in Abb. 2.15 sehen. Nachdem Sie dort die Einstellungen eingerichtet und auf OK geklickt haben, können Sie die Schattenkopien
aktivieren und dabei Ihre besonderen Einstellungen durchsetzen.
Schattenkopien benötigen Speicherplatz, der sich jedoch nicht auf demselben Volume befinden muss.
Tatsächlich ist es am besten, den Speicherbereich für Schattenkopien auf einem anderen Volume einzurichten, von dem selbst keine Schattenkopien erstellt werden.
158 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Abbildung 2.15 Das Dialogfeld Einstellungen für Schattenkopien
Klicken Sie im Dialogfeld Einstellungen auf die Schaltfläche Zeitplan, um den Zeitplan für die Schattenkopien oder Snapshots zu ändern. Auf der Registerkarte Zeitplan, die Sie in Abb. 2.16 sehen, können
Sie mehrere Zeitpläne einrichten. So können Sie z.B. einen Snapshot an jedem Abend und zusätzlich an
Werktagen einen weiteren zur Mittagszeit erstellen lassen.
Abbildung 2.16 Das Dialogfeld Zeitplan für Schattenkopien
2.17 Weniger Helpdesk-Anrufe zum Wiederherstellen gelöschter oder überschriebener Dateien 159
Grundlagen und Konfiguration von Schattenkopien
Kunst und Wissenschaft der Konfiguration von Schattenkopien werden in den zuvor aufgeführten Microsoft-Dokumentationen ausführlich dargestellt. Im Grunde geht es darum, einen Kompromiss zwischen
der gewünschten Funktionalität – der Fähigkeit eines Benutzers, eine Datei wiederherzustellen – und der
Leistung und dem Speicherplatzbedarf zu finden. Wie ein Benutzer eine vorherige Version wiederherstellt, erklären wir weiter hinten in dieser Lösung. Kurz gesagt, kann ein Benutzer Versionen wiederherstellen, die zum jeweiligen Zeitpunkt eines Snapshots bestanden haben. Nicht jede Version lässt sich
wiederherstellen – es stehen nur diejenigen zur Verfügung, die bei der Snapshoterstellung erfasst wurden.
Vielleicht denken Sie jetzt: »Dann richte ich möglichst häufige Snapshots ein!« Gemach, gemach! Sie
müssen auch die Leistung und den Speicherbedarf bedenken. Zuerst die gute Nachricht: Wenn ein
Snapshot erstellt wird, kopiert Windows nicht das gesamte Volume. Die einzelnen Schattenkopien
nehmen nicht so viel Speicherplatz ein wie die Volumes. Bei einem Snapshot wird in Wirklichkeit der
aktuelle Zustand des Volumes eingefroren und (im Speicherbereich des Snapshots) ein Cache erstellt.
Wenn jetzt Änderungen auf die Festplatte geschrieben werden sollen, werden sie zunächst vom Volumeschattenkopie-Dienst (Volume Shadow Copy Service, VSS) abgefangen, der als Erstes die Informationen, die sich zurzeit auf der Festplatte befinden, in den Cache des jüngsten Snapshots verschiebt,
und erst danach die neuen Informationen auf die Festplatte schreibt. Wenn also Snapshots für 7.00 Uhr
und 12.00 Uhr vorgesehen sind, werden alle Änderungen zwischen diesen beiden Zeitpunkten abgefangen, die vorhandenen Daten (also die von 7.00 Uhr) in den Speicherbereich für den 7.00-UhrSnapshot verschoben, und erst danach die Änderungen durchgeführt. Die Änderungen werden blockweise erfasst, was je nach der Anwendung, die die Änderungen auf der Festplatte vornimmt, sehr effizient sein kann. Die Größe eines Snapshots hängt also von der Festplattenaktivität zwischen ihm und
dem nächsten Snapshot fest.
Und nun die schlechte Nachricht: Sie können maximal 64 Snapshots unterhalten. Wenn Sie einen
Snapshot pro Tag anlegen, können Sie also Snapshots von bis zu 64 Tagen aufbewahren. Am 65. Tag
wird der erste (älteste) Snapshot gelöscht, um Platz für den nächsten zu machen. Bei einem Snapshot
alle drei Stunden kommen Sie auf acht Snapshots pro Tag, sodass Sie Snapshots von bis zu acht Tagen
zur Verfügung haben können. Ich sage »bis zu«, denn bei starker Festplattenaktivität kann es sein, dass
der Speicherbereich schon gefüllt ist, bevor der 64. Snapshot erstellt wird. Ist der Speicher aber voll,
wird der älteste Snapshot gelöscht. Sie sehen jetzt wahrscheinlich, dass es wirklich eine Kunst und
Wissenschaft ist, den Zeitplan für die Snapshots einzurichten.
Es gibt jedoch einige weitere Richtlinien, die ich vorstellen möchte:
„ Wählen Sie als Speicherbereich für die Schattenkopien nach Möglichkeit ein Volume aus, von dem
selbst keine Schattenkopien gezogen werden. Dies gilt vor allem auf stark belasteten Dateiservern.
„ Bereitstellungspunkte und symbolische Verknüpfungen (Ordner, die Daten von anderen Speicherorten bereitstellen) werden nicht in Schattenkopien aufgenommen. Sie müssen die Funktion der
Schattenkopien auf den Volumes mit den Daten aktivieren, die bereitgestellt werden oder zu denen
die Verknüpfung besteht, wenn Sie Schattenkopien von diesen Daten benötigen.
„ Planen Sie Kopien nicht häufiger als einmal pro Stunde ein, da sonst die Leistung beeinträchtigt
wird.
„ Wenn für ein Volume der Schattenkopie-Dienst eingesetzt wird, formatieren Sie es mit Zuordnungseinheiten von 16 KB oder größer. Der Schattenkopie-Dienst speichert Daten in Blöcken von 16 KB.
160 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Kleinere Zuordnungseinheiten führen zu einer weniger effizienten Speicherung. Dies ist vor allem
dann wichtig, wenn Sie das Volume regelmäßig defragmentieren. Leider bedeutet diese empfohlene
Größe von 16 KB für die Zuordnungseinheiten, dass Sie auf dem Volume keine NTFS-Komprimierung verwenden können, denn diese Art der Komprimierung funktioniert nicht bei Zuordnungseinheiten größer als 4 KB. Kurz gesagt, formatieren Sie Ihre Volumes mit Zuordnungseinheiten von
16 KB und werfen Sie die NTFS-Komprimierung über Bord. Tut mir Leid, aber das ist so.
Wichtig Schattenkopien für freigegebene Ordner (vorherige Versionen oder Snapshots) sind keine Alternative für umfassende Sicherungs- und Wiederherstellungsmaßnahmen.
Da Schattenkopien nicht unendlich aufbewahrt werden, sollten Sie sie nur für folgende Zwecke verwenden:
„ Wiederherstellen von versehentlich gelöschten Dateien
„ Wiederherstellen von überschriebenen Dateien
„ Vergleichen einer Dateiversion mit einer vorherigen Version aus einem Snapshot
Sie müssen auf jeden Fall Sicherungs- und Wiederherstellungsverfahren für Ihren Server entworfen, eingerichtet und (was am wichtigsten ist) getestet haben.
Zugriff auf vorherige Versionen
Um für die zuvor aufgeführten Zwecke auf frühere Versionen einer Datei zugreifen zu können, müssen
Sie den Client für vorherige Versionen oder Schattenkopie-Client verwenden. In Windows XP SP2
und höher ist er integriert, für Windows 2000 und Windows XP können Sie ihn sich von der MicrosoftWebsite herunterladen. In Windows Server 2003 und Windows Server 2008 finden Sie ihn im Ordner
%systemroot%\System32\Clients\Twclient.
Der Clients funktioniert bei den verschiedenen Windows-Versionen jeweils unterschiedlich. Bei Windows Vista und Windows Server 2008 können Sie sich die Eigenschaften einer Datei ansehen und auf
die Registerkarte Vorgängerversionen klicken, die Sie in Abb. 2.17 sehen.
Wenn es eine vorherige Version gibt, wird sie aufgelistet. Sie können dann auf Öffnen klicken, um die Datei in ihrer standardmäßigen Anwendung zu öffnen, oder auf die Datei rechtsklicken und die Anwendung
auswählen, mit der Sie sie öffnen möchten. Dadurch können Sie die Datei anzeigen, und natürlich können
Sie die Anwendung auch verwenden, um eine Kopie der Datei an einem anderen Ort zu speichern. Sie
können dazu aber auch auf der Registerkarte Vorgängerversionen auf Kopieren klicken. Wenn Sie auf
Wiederherstellen klicken, stellen Sie die Version am ursprünglichen Speicherort wieder her. Damit können Sie eine gelöschte Datei retten oder die aktuelle Version überschreiben.
In Windows 2000, Windows XP und Windows Server 2003 ist der Zugriff auf vorherige Versionen nur
über einen freigegebenen Ordner möglich. Wenn Sie den Ordner über einen UNC-Pfad geöffnet haben –
also \\<server>\<freigabe>\<pfad> –, können Sie auf die Eigenschaften zugreifen und sehen Vorgängerversionen. Anschließend können Sie die zuvor beschriebenen Aktionen durchführen. In Windows 2000,
Windows XP und Windows Server 2003 können Sie über die Eigenschaften einer lokalen Datei nicht auf
Vorgängerversionen zugreifen.
2.17 Weniger Helpdesk-Anrufe zum Wiederherstellen gelöschter oder überschriebener Dateien 161
Abbildung 2.17 Die Registerkarte Vorgängerversionen im Eigenschaftendialogfeld einer Datei
Beachten Sie folgende Hinweise zu Vorgängerversionen:
„ Falls sich eine Datei seit dem letzten Snapshot nicht geändert hat, wird keine vorherige Version aufgelistet. Denken Sie daran, dass der Mechanismus der Schattenkopien greift, wenn Änderungen nach
dem Snapshot durchgeführt wurden. Es werden also nur Vorgängerversionen von Dateien aufgeführt, die seit dem ersten Snapshot mindestens einmal geändert wurden.
„ Wenn Sie eine Datei umbenennen, werden ihre vorherigen Versionen nicht mehr angezeigt.
„ Wenn Sie eine Datei wiederherstellen, umfasst dies nicht ihre Berechtigungen. Eine zuvor gelöschte
Datei erbt bei der Wiederherstellung die Zugriffssteuerungsliste von ihrem übergeordneten Ordner.
Überschreiben Sie durch das Wiederherstellen die aktuelle Version, so erbt die Datei deren Zugriffssteuerungsliste.
Zusammenfassung
Trotz der möglichen Einschränkungen sind Schattenkopien von freigegebenen Ordnern eine fantastische Lösung für unser Ziel, Helpdesk-Anrufe wegen gelöschter oder überschriebener Dateien zu reduzieren. Investieren Sie Zeit in die Lektüre der Microsoft-Dokumentation, damit Sie Schattenkopien auf
Ihren Servern sinnvoll einrichten, den Client für vorherige Versionen an Computer mit Windows XP
SP1 oder früher verteilen und die Benutzer darin schulen können, wie sie Vorgängerversionen wiederherstellen.
162 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
2.18 Erstellen eines effektiven delegierten DFS-Namespace
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
DFS-Namespaces
Zusammenfassung
Sie lösen die geschäftlichen und technischen Verwicklungen
des DFS-Namespacedesigns.
Einführung
Wenn Sie mit der Funktion DFS-Namespaces vertraut sind, können Sie diesen Überblick überspringen.
Anderenfalls finden Sie hier eine Einführung in die Komponente DFS-Namespaces, die ich gern »Der
Rollendienst, der früher als Distributed File System (DFS) und davor als Distributed File System (Dfs)
bekannt war« nenne.
Sie werden feststellen, dass sich die Funktion DFS-Namespaces fast von selbst erledigt. DFS-Namespaces – und davor DFS und Dfs – bietet seit Windows NT 4.0 die Möglichkeit, den physischen Speicherort von Dateien und Ordnern durch Zeiger auf diese Ressourcen zu verschleiern.
Die grundlegende Herausforderung besteht darin, dass ein Zeiger – z.B. eine Verknüpfung, ein zugeordnetes Laufwerk oder ein UNC-Pfad zu einer Freigabe, einem Ordner oder einer Datei – die Form \\<server>\<freigabe>\[<pfad>]\[<ordner>]\[<datei>] annimmt. Wenn Sie den physischen Speicher der
Datei in irgendeiner Weise umstrukturieren, indem Sie z.B. den Freigabenamen ändern oder die Ordnerstruktur zu einer anderen Freigabe oder einem anderen Server verschieben, müssen Sie die Verknüpfung,
das zugeordnete Laufwerk oder den UNC-Zeiger ändern. Bei mehreren Zeigern steigt der Verwaltungsaufwand exponentiell an. Wenn Daten in einem Unternehmen beliebiger Größe von einem Server auf
den anderen verschoben werden, wird es zur Mammutaufgabe, jegliche Verweise auf Dateien, Ordner
und Freigaben zu ändern.
DFS-Namespaces löst dieses Problem, indem ein eigenständiger Namespace aufgebaut wird – eine
Ordnerhierarchie, in der Unternehmensressourcen in einer logischen statt in einer physischen Struktur
dargestellt werden können. Sie können z.B. den Pfad zur Freigabe der Marketingabteilung als \\contoso.com\departments\marketing angeben. Jeder Ordner im DFS-Namespace ist eine virtuelle Entität,
die auf den physischen Speicherort des Ordners zeigt oder verweist. Der Ordner \\contoso.com\departments\marketing im DFS-Namespace verweist auf den aktuellen Speicherort \\server01\data$\marketing. Alle anderen Verweise auf den Marketingordner – zugeordnete Laufwerke, Verknüpfungen,
Verknüpfungen zwischen Dateien usw. verwenden den DFS-Namespace. Wenn ein Windows-Client
\\contoso.com\departments\marketing anfordert, wendet sich der DFS-Client (der in alle jüngeren Versionen von Windows integriert ist) an den DFS-Namespaceserver, der ihn an den aktuellen Speicherort
des Ordners verweist. Daraufhin stellt der Client eine Verbindung zu dem betreffenden Server her. All
dies geschieht für den Benutzer unsichtbar.
Wenn der Ordner marketing auf server02 verschoben wird, muss als einzige Änderung nur der Verweis
im DFS-Namespaceordner korrigiert werden, damit er auf \\server02\data$\marketing zeigt. Die Clients
fordern nach wie vor \\contoso.com\departments\marketing an, aber jetzt werden sie auf den neuen Speicherort verwiesen.
Da der physische Speicherort der Ressourcen verborgen wird, lassen sie sich deutlich einfacher
verwalten. Außerdem ist es für die Benutzer einfacher, die Daten zu finden, die sie benötigen, da
2.18 Erstellen eines effektiven delegierten DFS-Namespace 163
diese in einem logischen Format dargestellt werden. Der Benutzer kann leichter nachvollziehen, dass
sich ein Marketingordner in einem Abteilungsordner befindet, als herauszufinden, dass die Datei auf
server02 gespeichert ist.
Darüber hinaus können DFS-Namespaceordner auf mehr als ein Ziel verweisen. Mit anderen Worten, der
Marketingordner in DFS kann auf mehrere Kopien sowohl auf server01 als auch auf server02 zeigen. Die
Ordner lassen sich mit der eng damit verwandten Funktion der DFS-Replikation replizieren. Ein Ordner,
der auf mehr als ein Ziel zeigt, bietet eine Art von Lastverteilung an, da die Clients abwechselnd unterschiedliche Verweise auf die beiden Sever erhalten. Wenn sich die Server in verschiedenen Active Directory-Standorten befinden, erhält der Client jeweils den Verweis auf den Server, der ihm, was die Standortverknüpfungskosten angeht, am nächsten steht. Als sei das noch nicht genug, werden Clients außerdem
auf den zweiten Server verwiesen, wenn der erste ausfällt – eine Form von Fehlertoleranz, die ich als
»Cluster für Arme« bezeichne.
Erstellen von DFS-Namespaces
Microsoft hat DFS-Namespaces ausführlich dokumentiert, und ich empfehle Ihnen, sich die folgenden
Quellen anzusehen:
„ Dokumentation der Funktion: http://technet2.microsoft.com/windowsserver/en/library/77a571cca360-468a-ad99-6c80049530db1033.mspx?mfr=true
„ Technische Referenz: http://technet2.microsoft.com/windowsserver/en/library/77a571cca360468a-ad99-6c80049530db1033.mspx?mfr=true
Sie sollten diese Dokumente unbedingt lesen, bevor Sie DFS-Namespaces einrichten, aber wie auch bei
den anderen Lösungen in dieser technischen Referenz gebe ich Ihnen eine Anleitung für einige besondere Bereiche, bei denen nach meiner Erfahrung selbst erfahrene Administratoren ins Straucheln geraten.
Das Erstellen eines DFS-Namespace wird in der Dokumentation ausführlich erklärt. Kurz gesagt, müssen
Sie die DFS-Verwaltungskonsole öffnen, auf den Knoten Namespaces rechtsklicken und Neuer Namespace auswählen. Ein Assistent führt Sie durch die erforderlichen Aufgaben, um einen Namespace anzulegen. Für das Beispiel in den folgenden Abschnitten nehmen wir an, dass Sie einen Namespace namens
Human Resources erstellt haben.
Delegieren von DFS-Namespaces
Die Enterprise Edition und die Datacenter Edition von Windows Server 2003 R2 und Windows Server
2008 können mehrere DFS-Namespaces beherbergen, bei der Standard Edition und der Web Edition
sind Sie dagegen auf einen einzigen beschränkt. Haben Sie mehrere Namespaces, möchten Sie deren
Verwaltung wahrscheinlich delegieren.
An dieser Stelle machen viele Organisationen den ersten Fehler – indem sie die Verwaltung der DFSNamespaces eben nicht delegieren. Das typische Argument, das ich in solchen Situation höre, lautet: »Die
Geschäftsführung möchte die Kontrolle über den Namespace behalten, um eine logische Hierarchie der
Ordner zu gewährleisten.« Das ist meiner Meinung nach, vorsichtig ausgedrückt, kurzsichtig (es sei denn,
Sie arbeiten mit der Standard oder der Web Edition und haben daher nur einen DFS-Namespace).
Ein DFS-Namespace ist einfach nur ein Namespace – einfach ausgedrückt, eine Hierarchie oder eine Ordnerstruktur. Hat die Geschäftsleitung die Kontrolle darüber, welche Ordner sich auf einem Dateiserver
befinden? Müssen Sie den Prokuristen anrufen, bevor Sie in einer Freigabe einen Unterordner anlegen?
Wahrscheinlich nicht. Die Gliederung der Daten sollte im Allgemeinen von denen vorgenommen werden,
die sie »besitzen« und die am besten einschätzen können, wie sie dargestellt werden sollen.
164 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Ich will damit nicht sagen, dass das Argument der Geschäftsführung unwichtig wäre. Ein zentral gesteuerter Namespace, der über einen langen Zeitraum hinweg konsistent bleibt, ist von großem Nutzen.
Darum kümmern wir uns im nächsten Abschnitt, »Verknüpfen von DFS-Namespaces«. Die Geschäftsleitung bekommt ihren Willen also außerdem noch. Ich behaupte aber, dass diejenigen, die die Daten
und die Server kennen und die, was am wichtigsten ist, wissen, wie und warum auf die Daten zugegriffen wird, am besten dazu geeignet sind, die Daten in einem logischen Namespace zu gliedern.
Nehmen wir an, dass Sie eine erhebliche Anzahl von Ressourcen haben, die mit dem Personalwesen
(Human Resources) verbunden sind, z.B. Unternehmensrichtlinien, Hinweise zu Sonderzahlungen usw.
Eine oder mehr Einzelpersonen sind damit beauftragt, herauszufinden, wie diese Daten verwendet werden, und diese Personen erstellen eine logische Hierarchie der Ordner wie die folgende:
HR
Benefits
Vacation
Medical
Retirement
Corporate Discounts
Policies
Diversity Statement
Information Technology Usage
Sexual Harassment Policy
Compensation
Payroll Calendar
Direct Deposit Forms
Ich empfehle Ihnen, der betreffenden Person oder dem Team zu ermöglichen, den Namespace zu verwalten, sodass diese Mitarbeiter neue Ressourcen zum Namespace hinzufügen können, wenn dies notwendig wird. Um die Verwaltung eines Namespace zu delegieren, rechtsklicken Sie in der DFS-Verwaltungskonsole darauf und wählen Verwaltungsberechtigungen delegieren. Geben Sie den Namen des
Benutzers oder besser der Gruppe ein, die die Berechtigungen zur Verwaltung des Namespace bekommen soll. Mehr ist nicht zu tun! In früheren Versionen von DFS musste ein Benutzer oder eine Gruppe
Mitglied der lokalen Administratorengruppe auf dem Namespaceserver sein, um die Verwaltungsberechtigungen erhalten zu können. Das ist jetzt nicht mehr der Fall. Das Team kann nun den Namespace
verwalten.
Änderungen am DFS-Namespace sollten Sie nur sehr behutsam vornehmen. Der Sinn und Zweck eines
solchen Namespace besteht darin, eine stabile, logische Sicht der Unternehmensressourcen zu bieten.
Jegliche Änderungen am DFS-Namespace machen Änderungen an den Verweisen (zugeordnete Laufwerke, Verknüpfungen usw.) notwendig. Mit guter Planung sollen Sie eine Struktur aufbauen können,
die nicht regelmäßig oder am besten gar nicht geändert werden muss. Es ist jedoch sehr wahrscheinlich,
dass neue Ressourcen im Unternehmen hinzugefügt werden müssen. Sofern die vorhandene Struktur
(Ordner) stabil bleibt, können diese Ressourcen dem Namespace natürlich hinzugefügt werden.
2.18 Erstellen eines effektiven delegierten DFS-Namespace 165
Verknüpfen von DFS-Namespaces
Jetzt kümmern wir uns um die Bedenken der Geschäftsleitung, die die Kontrolle über den Namespace
behalten möchte. Diese Forderung entspringt gewöhnlich dem Wunsch, einen sehr stabilen Namespace zu
unterhalten, der eine Einteilungssystematik bietet – eine Möglichkeit, um die Unternehmensressourcen zu
gliedern. In diesem Abschnitt lernen Sie einen Trick kennen, um diese und andere Geschäftsanforderungen zu erfüllen.
Weiter vorn habe ich Ihnen ein Szenario vorgestellt, in dem die Personalabteilung einen DFS-Namespace unterhält. Nehmen wir an, dass auch andere Abteilungen einen eigenen, delegierten DFS-Namespace haben, auch die IT-Abteilung.
Es ist sehr sinnvoll, die Software-Bereitstellungspunkte in Ihrem Untenrehmen innerhalb eines DFSNamespace darzustellen. Der Pfad, von dem Microsoft Office installiert wird, kann z.B. ein UNC-Pfad
über einen DFS-Namespace namens Software sein, z.B. \\contoso.com\softwre\microsoft\office\2007.
Dabei kann der DFS-Namespaceordner auf verschiedene Kopien der Software im Unternehmen verweisen, z.B. \\denverserver\software$\office2007. Die Verwendung von DFS-Ordnern für die UNC-Pfade
zur Softwareverteilung macht die Softwareverteilung (Installation, Reparatur und Entfernen) sehr viel
effizienter. In Lösungsgruppe 9, »Verbessern der Bereitstellung und Verwaltung von Anwendungen und
Konfiguration«, besprechen wir dies noch genauer.
Sie könnten die Verwaltung des Namespace Software zwar an eine begrenzte Anzahl von Administratoren delegieren, die sich um die Softwareinstallation kümmern, doch da Softwareordner häufig als ITRessourcen angesehen werden, möchten Sie in der Lage sein, über den IT-Namespace auf die Software
zuzugreifen.
Hier kommt ein Trick ins Spiel. Erstellen Sie einen DFS-Namespaceordner im Namespace IT, z.B.
\\contoso.com\it\software. Das Ziel dieses Ordners ist ein weiterer DFS-Namespace, in diesem Fall
\\contoso.com\software. Wenn ein Client in den Namespace IT wechselt, sieht er darin Software. Wechselt er zu diesem Ordner, befindet er sich in Wirklichkeit (aber für ihn unbemerkt) in einem völlig anderen DFS-Namespace!
Abb. 2.18 zeigt ein Beispiel des resultierenden Namespace aus der Perspektive des Clients.
Abbildung 2.18 Der Namespace IT mit dem Ordner Software, der zu einem anderen DFS-Namespace führt
166 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Mit diesem Trick im Hintergrund können Sie sich eine Lösung für den Wunsch der Geschäftsführung
ausdenken. Die Geschäftsleitung kann einen Namespace auf oberer Ebene erstellen, den sie selbst
unterhält, z.B. wie folgt:
\\Contoso.com\Corporate
Departments
HR
IT
Finance
Marketing
...
Die Ordner im Namespace Corporate verweisen auf die Abteilungsnamespaces, die wiederum an die
Personen delegiert, die sie am besten verwalten können.
Dieses Prinzip löst auch ein Dilemma, dem sich Organisationen oft gegenüber sehen: Sollen die Namespaces nach Abteilungen oder nach geografischen Regionen aufgeteilt werden? Warum nicht nach beiden
Prinzipien? Es hindert sie nichts daran, einen DFS-Namespace mit mehreren Pfaden zu einer Ressource
aufzubauen. Das Ziel besteht darin, dass die Ressourcen leicht zu verwalten und für die Benutzer leicht
aufzufinden sind. Ein Problem kann dabei jedoch auftreten: Wenn Sie zu einer Ressource mehrere Pfade
bereitstellen, müssen Sie die Benutzer darüber unterrichten, dass es sich nur um eine einzige Datei handelt, auch wenn sie sie in zwei verschiedenen Pfaden sehen. Ansonsten könnten die Benutzer versucht
sein, diese Datei zu löschen, da sie glauben, es handele sich um eine Kopie.
Anzeigen von DFS-Namespaces für die Benutzer
Da DFS-Namespaces eine logische Sicht der Unternehmensressourcen erstellen, ist es sinnvoll, den
Benutzern Navigationsmöglichkeiten an die Hand zu geben, mit denen sie sich geschickter als durch
einfaches Durchsuchen durch den Namespace bewegen können. Es gibt mehrere Möglichkeiten, um
DFS-Namespaces in die Client-Benutzeroberfläche aufzunehmen:
Verknüpfungen Verknüpfungen, bei denen die Angabe des Speicherorts auf einen DFS-Namespaceordner zeigt, können überall in der Benutzeroberfläche platziert werden; auf dem Desktop, im Ordner Dokumenteim Startmenü usw. Sie eignen sich für alle Benutzer, die eine der jüngeren Versionen
von Windows verwenden.
Zugeordnete Laufwerke Auch Netzlaufwerke, die einem DFS-Namespaceordner zugeordnet sind,
können von Benutzern mit einer der jüngeren Versionen von Windows verwendet werden. Der
Vorteil zugeordneter Laufwerke gegenüber von Verknüpfungen besteht darin, dass sie in der Ordnerstruktur von Windows Explorer einen erweiterbaren Knoten hinzufügen. Außerdem lässt sich
z.B. sehr leicht auf ein Laufwerk namens S:\ verweisen, in dem die Benutzer Software finden. Die
Anzahl zugeordneter Laufwerke ist allerdings auf die Anzahl verfügbarer Buchstaben beschränkt
und in vielerlei Hinsicht eine überholte Form der Verbindung zu Netzwerkressourcen.
Netzwerkressourcen Netzwerkressourcen vereinen die Vorteile beider Methoden. In Windows XP
erstellen Sie Netzwerkressourcen im Ordner Netzwerkumgebung, bei Windows Vista jedoch im
Ordner Computer, nicht im Netzwerk- und Freigabecenter. Nachdem Sie eine Netzwerkressource
erstellt haben, können Sie sie wie eine Verknüpfung an einen anderen Platz verschieben. Netzwerkressourcen können auch wie Verknüpfungen beliebige Namen tragen. Wie ein zugeordnetes Laufwerk kann eine Netzwerkressource in der Ordnerstruktur von Windows Explorer erweitert werden,
2.18 Erstellen eines effektiven delegierten DFS-Namespace 167
um so die Hierarchie des DFS-Namespace sichtbar zu machen, auf den sie zeigt. Ich empfehle
Ihnen, die von Ihren Benutzern am häufigsten verwendeten Netzwerkressourcen auf deren Desktops
zu verschieben und die Links zu den weniger häufig besuchten Zielen in den Ordnern Netzwerkumgebung bzw. Computer zu belassen, wo sie erstellt wurden. Auf der Begleitwebsite www.intelliem.com/resourcekit finden Sie Skripts, um automatisch Netzwerkressourcen zu erstellen.
Symbolische Verknüpfungen Symbolische Verknüpfungen sind eine neue Einrichtung in Windows
Vista und bieten eine weitere Möglichkeit. Sie können eine symbolische Verknüpfung zu einem
DFS-Namespace herstellen, und zwar in jedem beliebigen Ordner – z.B. Desktop oder Dokumente
– oder im Benutzerprofil. Die Verknüpfung kann auch einen beliebigen Namen tragen. In der Ordnerstruktur von Windows Explorer kann die symbolische Verknüpfung erweitert werden, um die
DFS-Hierarchie zu zeigen. Um eine symbolische Verknüpfung zu erstellen, verwenden Sie den
Befehl mklink.exe. Wenn Sie eine Verzeichnisverknüpfung anlegen möchten, was für den Verweis
auf einen DFS-Namespace erforderlich ist, müssen Sie ein Administrator sein. Sie können z.B. mit
folgender Syntax eine symbolische Verknüpfung namens Corporate für den Benutzer James Fine
erstellen, die auf den DFS-Namespace Corporate zeigt:
mklink.exe /d "c:\users\jfine\Corporate" \\contoso.com\corporate
Ein Beispiel des DFS-Namespace Corporate, wie er im Benutzerprofil von James Fine erscheint, sehen
Sie in Abb. 2.19.
Abbildung 2.19 Ein DFS-Namespace wird durch eine symbolische Verknüpfung innerhalb eines
Benutzerprofils angezeigt
168 Lösungsgruppe 2: Verwalten von Dateien, Ordnern und Freigaben
Sowohl Netzwerkressourcen als auch symbolische Verknüpfungen erscheinen in der Explorer-Shell als
erweiterbare Knoten. Bei symbolischen Verknüpfungen haben Sie zusätzlich die Möglichkeit, innerhalb
des lokalen Pfads auf den DFS-Namespace zu verweisen. Damit können Sie auf einen Ordner im DFSNamespace Corporate als C:\Ussers\jfine\Corporate\<Unterordner> verweisen. Symbolische Verknüpfungen sind eine neue Einrichtung in Windows Vista, weshalb ihre Verwendung und ihre Vorteile noch
Neuland sind. Meiner Ansicht nach sind sie einen Versuch wert! Ich möchte gern Ihre Erfahrungen mit
symbolischen Verknüpfungen zur Darstellung von DFS-Namespaces kennen lernen. Diskutieren Sie
diese und andere Lösungen daher bitte auf der Begleitwebsite www.intelliem.com/resourcekit.
Zusammenfassung
DFS-Namespaces ist eine unglaublich nützliche Funktion von Windows-Serversystemen, mit der Sie
die Verwaltung und den Zugriff der Benutzer auf Ressourcen vereinfachen und die Leistung über
Server und Standorte hinweg verbessern können. Wenn Sie sich bisher noch nicht darum gekümmert
haben, tun Sie es jetzt. Meiner Ansicht nach funktioniert es wie von selbst. Schauen Sie sich die zuvor
in diesem Abschnitt aufgeführte Dokumentation von Microsoft an, um mehr über diese Technologie
zu lernen. Wenn Sie die Enterpise Edition von Windows Server verwenden, können Sie mehrere DFSNamespaces einrichten und zur Verwaltung an Administratoren delegieren, die die Daten, ihre Verwendung und ihre Speicherorte am besten kennen. Um zentrale oder hierarchische Namespaces zu
erstellen, können Sie einen DFS-Namespace oberster Ebene mit Ordnern anlegen, die auf andere
Namespaces zielen.
Nachdem Sie die ideale DFS-Namespacestruktur für Ihr Unternehmen eingerichtet haben, können Sie
den Benutzern anzeigen die Namespaces (oder Teile davon). Einrichtungen wie Verknüpfungen, zugeordnete Laufwerke, Netzwerkressourcen und symbolische Verknüpfungen (Windows Vista) ermöglichen den Benutzern, in dem von Ihnen entworfenen logischen Namespace effizient nach Ressourcen
zu suchen.
169
L Ö S U N G S G R U P P E
3
Verwalten von Benutzerdaten und
-einstellungen
In diesem Kapitel:
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.1 Definieren der Anforderungen an ein Framework für Benutzerdaten und -einstellungen . . . . . .
3.2 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (I) . .
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern . . . . . . . . . . . . .
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher . . . . . . . . . . . . . . . . . . .
3.5 Entwerfen und Ausführen der Ordnerumleitung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.6 Konfigurieren von Offlinedateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.7 Entwerfen und Einrichten von servergespeicherten Profilen . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.8 Verwalten lokal gespeicherter Benutzerdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.9 Verwalten von nur lokal zugänglichen Benutzerdaten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit,
Mobilität und Ausfallsicherheit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.11 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (II) . .
170
172
181
188
205
217
237
248
259
265
270
283
In der Lösungsgruppe 2, »Verwalten von Dateien, Ordnern und Freigaben«, haben wir uns die empfohlenen Vorgehensweisen zum Anlegen, Sichern und Verwalten von Ordnern mit freigegebenen Unternehmensdaten angesehen. Allerdings werden nicht unbedingt alle Unternehmensdaten freigegeben –
normalerweise gibt es eine große Menge von Daten, die von einem Benutzer allein erstellt werden und
nur diesem zugänglich sind. Benutzerdaten – beispielweise Dateien und Ordner, die im Ordner Dokumente (bzw. Eigene Dokumente), auf dem Desktop oder in einem Basisverzeichnis abgelegt werden –
sind üblicherweise wesentlich für die Funktion, die der Benutzer in der Organisation ausübt. In den
meisten Geschäftssituationen ist es erforderlich, dass die Benutzer von ihrem stationären oder mobilen
Hauptrechner, einem allgemein zugänglichen Computer wie einem Konferenzraumsystem, einem stationären Rechner außerhalb des Standorts (Terminaldienste) oder von zu Hause oder unterwegs ohne
Verbindung zum Firmennetzwerk auf ihre Daten zugreifen können. Außerdem müssen diese Daten
gegen Beschädigung oder Verlust durch Hardwareausfall, versehentliches oder absichtliches Löschen
geschützt sein. Darüber hinaus sollten sie griffbereit abgelegt sein, damit sie sofort zur Verfügung stehen, wenn der Benutzer ein neues oder ein Ersatzsystem bekommt.
170 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Nicht nur die geschäftlichen Dateien und Ordner sind von Bedeutung dafür, dass der Benutzer wirkungsvoll und produktiv arbeitet. Einstellungen wie die individuelle Anpassung, Vorlagen, Favoriten und Voreinstellungen sollten ebenfalls auf jedem Rechner zur Verfügung stehen, auf den er aus geschäftlichen
Gründen zugreifen muss, und geschützt und griffbereit sein. Das Verwalten von Benutzerdaten und -einstellungen (User Data and Settings, UDS) ist ein kompliziertes Vorhaben, das mehr erfordert als nur ein
oder zwei Funktionen, nämlich Technologien, Menschen und Prozesse. Ich betrachte jede Infrastruktur,
die auf diesen Voraussetzungen beruht, als Framework – eine Zusammenstellung von Komponenten, die
für sich selbst entworfen, implementiert und unterstützt werden, aber außerdem in definierter, verwaltungs- und unterstützungsfähiger Weise zusammenwirken müssen.
Hinweis Als Framework bezeichne ich die Gesamtheit der Personen, Prozesse und Technologien zum
Erreichen eines geschäftlichen Ziels – in diesem Fall der Verwaltung von Benutzerdaten und -einstellungen
(UDS).
Bei dieser Lösung geht es um die geschäftlichen und technischen Herausforderungen, auf die Sie wahrscheinlich bei der Implementierung eines Frameworks für Benutzerdaten und -einstellungen stoßen.
Szenarien, Probleme und Lösungen
Die folgenden häufigen Szenarien sind symptomatisch dafür, dass in einer Organisation ein UDS-Framework ganz fehlt oder unvollständig ist:
„ Die Benutzer bei Contoso Ltd. bereiten auf ihren stationären Computern regelmäßig Managementberichte und -präsentationen vor und übertragen die Ergebnisse in den Konferenzraum. Wenn sie
sich jedoch auf den dortigen Rechnern anmelden, können sie nicht auf die Daten auf ihren Arbeitsplatzcomputern zugreifen. Deshalb müssen sie die Dateien, die sie brauchen, ständig auf USBFlashmedien kopieren, um sie in den Konferenzraum zu tragen.
„ Die Benutzer bei Blue Yonder Airlines sind regelmäßig geschäftlich unterwegs und benötigen
Daten aus dem Firmennetzwerk auf ihrer lokalen Festplatte, um ohne Verbindung zum Netzwerk
arbeiten zu können. Ein Mitarbeiter in der Personalabteilung kopierte einige Dateien in einen Ordner im Stammverzeichnis seines Laptops. Einige Wochen danach meldete sich ein Angehöriger der
Personalabteilung bei dem Laptop an, um eine Anwendung zu installieren, und bekam ohne Weiteres Zugriff auf sensible Daten in diesem Ordner, denn Ordner im Stammverzeichnis eines Mitgliedsrechners können standardmäßig von allen Benutzern gelesen werden, die sich beim System
anmelden können, also standardmäßig von allen Benutzern innerhalb der Domäne.
„ Die Administratoren bei Adventure Works wollen die Speicherkapazität durch Kontingente steuern,
die festlegen, welche Datenmenge die Benutzer im Netzwerk ablegen können. Dummerweise teilt
die Funktion für die automatische Kontingentzuweisung jedem Ordner für Benutzerdaten eine
eigene Quote zu, darunter den Ordnern Desktop, Dokumente, Favoriten, Bilder, Videos und Musik.
Sie möchten lieber eine Gesamtquote einrichten, die diese Datenordner zu einer Einheit zusammenfasst.
„ Wechselt ein Benutzer bei Adventure Works an einen anderen Standort, verschieben die Administratoren seine Daten auf dortige lokale Server. Anschließend müssen sie alle Verweise auf die Benutzerdaten anpassen, darunter den Pfad des servergespeicherten Profils, die Ziele für Ordnerumleitung und zugeordnete Laufwerke, Verknüpfungen und Links zwischen Dokumenten.
Szenarien, Probleme und Lösungen 171
Northwind Traders stellt gerade auf Windows Vista um. Die IT-Abteilung hat festgestellt, dass die
Unterstützung von Benutzerdaten und -einstellungen schwierig ist, wenn sowohl XP- als auch
Vista-Clients vorhanden sind, und sucht nach einer Möglichkeit, die Verwaltung von Benutzerprofilen und umgeleiteten Ordnern in dieser heterogenen Desktopumgebung zu vereinheitlichen.
„ Bei Trey Research hat eine unglückliche Reihe von Festplattenausfällen vor kurzem dazu geführt,
dass einigen wichtigen Mitgliedern des Forschungsteams der Ordner Favoriten verloren gegangen
ist, sodass sie nun im Internet die Quellen zusammensuchen müssen, die sie sich für ihre Forschung
gespeichert hatten. Das IT-Team erhielt den Auftrag, eine Methode zum Schutz der Produktivität
des Forschungsteams zu suchen, bei der der Ordner Favoriten sowohl unter Windows Vista als auch
unter Windows XP umgeleitet wird.
„ Bei Wide World Importers wurde vor einigen Jahren versucht, den Benutzern Offlinedateien zur
Verfügung zu stellen. Die Benutzer klagten jedoch über die extrem lange Synchronisierungsdauer
beim An- und Abmelden, mäßige Leistung bei Remoteverbindungen zum Netzwerk über das virtuelle private Netzwerk der Firma und unzählige eingeblendete Meldungen, sodass der Versuch eingestellt wurde.
„ Die Produzenten und Redakteure bei Sothridge Video bearbeiten und verschlüsseln Videos, die aus
Leistungsgründen nicht auf einem Netzwerkserver, sondern auf dem lokalen Festplattensystem
gespeichert werden. Die Firmenleitung macht sich Gedanken um mögliche Datenverluste bei einem
Festplattenausfall und hat die IT-Abteilung gebeten, alle ein bis zwei Wochen eine Sicherungskopie
der Videos auf einem Server anzulegen. Wegen der Größe der Dateien eignen sich dazu weder die
regelmäßige und häufige Synchronisierung der Offlinedateien noch die Synchronisierung servergespeicherter Profile – es muss eine Alternative gefunden oder entwickelt werden.
„ Die Aktualisierung der Computer bei Fabrikam Inc. war für die Benutzer immer problematisch. Sie
beschwerten sich häufig darüber, dass auf der Ersatzhardware nicht alle ihre Daten und Einstellungen vorhanden sind, was zu Produktivitätsverlust und gelegentlich zum Verlust unternehmenskritischer Dateien führte.
In dieser Lösungsgruppe untersuchen wir Technologien und Funktionen, mit deren Kombination sich
diese Probleme beheben lassen. Dazu nutzen wir u.a. Ordnerumleitung, Benutzerprofile, Offlinedateien, Kontingente, Gruppenrichtlinien, Skripts, Robocopy, Verschlüsselung, DFS-Namespaces und
DFS-Replikation – mit dem Ziel, ein effizientes Framework für die Verwaltung von Benutzerdaten und
-einstellungen zu schaffen. Wahrscheinlich haben Sie sich bereits eine oder mehrere dieser Techniken
und Merkmale angesehen oder gar umgesetzt. Wenn Ihre Erfahrung derjenigen entspricht, die meine
Kunden gemacht haben, sind Ihre Ergebnisse gemischt. Dafür gibt es einen einfachen Grund: Es gibt
eine Vielzahl beweglicher Teile. Jede einzelne Technologie lässt sich einfach verstehen, entwerfen,
umsetzen und unterstützen. Aber die Einzelteile genau so zusammenzufügen, dass sie Ihre geschäftlichen Anforderungen unterstützen, ist alles andere als simpel. Lassen Sie mich schon jetzt eine Warnung
aussprechen: Versuchen Sie nicht, nur einen Teil des in dieser Lösungsgruppe aufgezeigten Frameworks zu implementieren! Achten Sie darauf, dass Sie sämtliche Aspekte des UDS-Frameworks
berücksichtigen, denn wenn auch nur ein Teil fehlt, führt das zu Problemen und lässt die gesamte Arbeit
sinnlos erscheinen.
„
172 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
3.1 Definieren der Anforderungen an ein Framework
für Benutzerdaten und -einstellungen
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
–
Zusammenfassung
Ermitteln der Unternehmensanforderungen an Verfügbarkeit,
Mobilität, Stabilität und Sicherheit von Benutzerdaten und -einstellungen
Vorteile
Klare Anforderungen und Konsens darüber stellen eine wesentliche Vorbedingung für den Entwurf eines komplexen Frameworks
dar.
Einführung
Der erste Schritt beim Entwerfen eines UDS-Frameworks besteht darin, die Unternehmensanforderungen zu ermitteln. Bei dieser Lösung stelle ich Ihnen gängige Anforderungen an die UDS-Verwaltung
vor, für die wir später Lösungen entwickeln.
Insofern handelt es sich bei dieser Lösungsgruppe nicht um eine technische, sondern um eine geschäftliche Übung. Berater wie ich verwenden viel Zeit darauf, Unternehmen durch die Phase der Definition
von Anforderungen zu leiten, die die unverzichtbare Grundlage für den Erfolg der Arbeit darstellt. Sie
sollten ihre Bedeutung nicht unterschätzen.
Der Grund für die Definition der Geschäftsanforderungen
Das Ziel dieser Übung – die Definition der Unternehmensanforderungen an ein UDS-Framework –
besteht in der Festlegung der gewünschten Ergebnisse. Sie können sie »Resultat«, »Anforderungen«,
»Endzustand«, »Vision« oder »Ideal« nennen. Wofür Sie sich auch immer entscheiden, das Ergebnis
der Übung sollte als Maßstab für alle Entwürfe und Lösungen dienen, anhand dessen ermittelt wird, ob
sie die Anforderungen erfüllen. Ich finde es hilfreich, den gewünschten Endzustand durch Brainstorming mit einem Team von Beteiligten festzulegen, in dem technische Sachverständige, die Firmenleitung, die Finanzverantwortlichen und auch Repräsentanten der Kunden (Endbenutzer) vertreten sind.
Dadurch erreichen Sie zwei Dinge: Zum einen erhalten Sie ein umfassenderes Bild oder eine realistischere Sicht der Anforderungen, zum anderen stellen Sie durch Einbeziehen aller Beteiligten in dieser
Phase mit höherer Wahrscheinlichkeit sicher, dass diese die Strategie und Taktik zur Erfüllung der
Anforderungen und damit das entstehende UDS-Framework selbst verstehen und stützen.
Anleitung Stellen Sie die Unternehmensanforderungen durch Brainstorming mit einer breit gefächerten
Gruppe von Auftraggebern auf, die Einfluss auf das UDS-Framework haben oder davon betroffen sind.
Ich rate Ihnen dringend, sich auf das Ziel der Übung zu konzentrieren und sich nach Möglichkeit nicht
an einer bestimmten Methode für die Definition der Anforderungen festzubeißen. Ich habe gesehen,
dass Kunden viel Zeit damit vergeudet haben, Six Sigma oder eine andere Methode der Prozessverbesserung so genau zu befolgen, dass sie aus den Augen verloren haben, was sie eigentlich versuchten.
3.1 Definieren der Anforderungen an ein Framework für Benutzerdaten und -einstellungen 173
Kommen Sie zum Abschluss. Definieren Sie den Endzustand. Es ist unwahrscheinlich, dass jeder der
Beteiligten über die geeignete Ausrüstung verfügt, um sich auf eine einzige Methode (wie Six Sigma)
beschränken zu können. Wahrscheinlicher ist, dass jeder mehr zum Ganzen beiträgt, indem er sich auf
seine eigene Art und Weise an der Definition der Vision beteiligt.
Anleitung Verfangen Sie sich nicht in der Frage, wie Sie die Anforderungen definieren (also in der Nutzung
einer bestimmten Methode wie Six Sigma), sondern konzentrieren Sie sich darauf, die Unternehmensanforderungen herauszufinden.
Außerdem rate ich Ihnen, sich nicht an der Formulierung oder dem »Klang« von Anforderungen festzubeißen. Manchmal ist es leicht, eine Anforderung einfach zu gestalten: »Die Benutzer sollen in der
Lage sein, sich an jedem Rechner anzumelden und von dort auf ihre Geschäftsdaten zuzugreifen.«
Gelegentlich ist es jedoch leichter, ein Szenario zu beschreiben, das unterstützt werden soll. Solange
alle Beteiligten verstehen, was Sie zu erreichen versuchen, ist alles in Ordnung.
Anleitung Unternehmensanforderungen lassen sich als Anforderungen, in Form von zu unterstützenden
Szenarien oder in anderer Art definieren, die schließlich zu einer klaren Vorstellung davon führt, was Sie
erreichen wollen.
Als Ausgangspunkt für Sie schlage ich eine Reihe von Anforderungen vor, die Sie im Kontext Ihres
Unternehmens und Ihrer IT-Umgebung untersuchen sollten. Ich nehme an, Sie sind mit den meisten
oder sogar allen einverstanden. Wo Ihre Anforderungen jedoch abweichen, müssen Sie die Lösungen
ändern, um sicherzustellen, dass sie zu Ihren Erfordernissen passen.
Anleitung Nutzen Sie die in dieser Lösung vorgestellten Anforderungen als Grundlage, aber achten Sie
darauf, dass Sie die für Ihr Unternehmen und Ihre IT-Umgebung gültigen Anforderungen erstellen.
Zu den wichtigsten Ergebnissen beim Aufstellen der Anforderungen zählt neben der Festlegung der
Regeln die Definition der Ausnahmen. Wir wissen alle, dass es höchst selten einen Königsweg gibt, der
sämtliche Probleme in allen Szenarien löst. Können Sie Ausnahmen definieren und damit umgehen,
kommen Sie zu einem Framework, das alle Benutzer in allen Szenarien verwalten kann und mit höherer
Wahrscheinlichkeit unerwartete Änderungen im Lauf der Zeit verkraftet – also zu einer flexiblen Umgebung.
Anleitung Definieren Sie nicht nur Anforderungen für die Mehrheit – also für die Regeln –, sondern auch für
die Minderheit – also für die Ausnahmen von den Regeln. Mit einer Verwaltungsinfrastruktur, die alle Szenarien abdeckt, leistet das entstehende Framework Ihnen die besten Dienste.
Ein weiteres wichtiges Ergebnis der Anforderungsdefinition besteht darin, einen Konsens über die
Anforderungen herzustellen. Wenn Sie im Team arbeiten, sollten Sie dafür sorgen, dass alle Mitglieder
die Anforderungen verstehen. Außerdem sollten Sie darauf achten, dass die übrigen weiter oben
erwähnten Beteiligten hinter den Anforderungen stehen, die den gewünschten Endzustand definieren.
Anleitung Sorgen Sie für Konsens über die Anforderungen.
Bei der Einigung über die Anforderungen sollten Sie alles tun, um die Diskussion nicht in eine Erörterung von Techniken, Funktionen und Entwürfen abgleiten zu lassen. Am häufigsten kommt es zum Niedergang des Frameworkentwurfs, wenn Sie mit dem Entwerfen beginnen, bevor die Anforderungen
174 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
klar sind. Eine Diskussion über Entwurf und Implementierung eines Merkmals, beispielsweise servergespeicherter Profile, und über die Stärken und Schwächen einer Technologie nimmt die Beteiligten
leicht so gefangen, dass sie den eigentlichen Faden verlieren: Ein Framework besteht nicht nur aus einer
oder mehreren Technologien, sondern umfasst auch Personen und Prozesse, die alle zusammen einen
gewünschten Endzustand anstreben. Ohne Strategie, Vision, Definition des Endzustands, Anforderungen – wie auch immer Sie es nennen – können Sie nicht daran gehen, eine wirksame Lösung zu entwerfen. Konzentrieren Sie sich also darauf, was Sie erreichen wollen, nicht darauf, wie Sie es erreichen.
Anleitung Konzentrieren Sie sich während der Definition der Anforderungen auf Ergebnisse und Szenarien, die den gewünschten Endzustand definieren. Vermeiden Sie es, sich im Entwurf zu verstricken – darin,
wie Sie diesen Zustand erreichen.
Schließlich ermutige ich Sie, eine Idealvorstellung ohne Einschränkungen zu definieren. Beginnen Sie
mit dieser Vision. Nachdem alle der Vision und den Anforderungen zugestimmt haben, können Sie
anfangen, die Komponenten des Frameworks zu entwerfen, die dorthin führen. Erst in dieser Phase führen Sie Einschränkungen wie Budget, Zeit, Netzwerkanbindung, Bandbreite usw. ein.
Diesen von Einschränkungen freien Ansatz für die Unternehmensanforderungen schlage ich vor, weil
ich festgestellt habe, dass sich die Anforderungen in fast allen Situationen erfüllen lassen. Es gibt kaum
Einschränkungen, die sich als unüberwindbar erweisen. Wie meine Erfahrung zeigt, ergeben sich aus
dem Umstand, dass ein UDS-Framework aus zahlreichen beweglichen Teilen besteht, auch zahlreiche
Möglichkeiten, sie zusammenzusetzen. Deshalb finden Sie höchstwahrscheinlich einen Weg zu Ihrem
Ziel. Bringen Sie also nicht zu früh Einschränkungen ein, weil sie von der wichtigsten Aufgabe ablenken: der Definition des gewünschten Ergebnisses.
Anleitung Versuchen Sie, in dieser Phase des Frameworkentwurfs noch keine Einschränkungen einzuführen. Definieren Sie die gewünschten Ergebnisse als genau dies: gewünschte Ergebnisse. Während Sie die
Komponenten des Frameworks entwerfen, um diese Ergebnisse zu erreichen, können Einschränkungen eingeführt und Ansätze ausgewählt werden, die sie berücksichtigen.
Zu den bedeutendsten Einschränkungen, die Sie schließlich einführen müssen, zählen natürlich die
finanziellen, d.h. das Budget. Ich kann nicht genug betonen, wie destruktiv es sich auf das gesamte Framework auswirkt, die Anforderungen unter Berücksichtigung finanzieller Einschränkungen festzulegen. Anforderungen werden von Geschäftsergebnissen gesteuert – sie sollten vor dem Hintergrund des
Idealfalls aufgestellt werden. Halten Sie Diskussionen über das Budget (und die technische Gestaltung)
heraus. Das ist schwierig, aber sehr wichtig.
Definieren der Geschäftsanforderungen auf hoher Ebene
Ich habe festgestellt, dass sich die Definition von Unternehmensanforderungen an ein UDS-Framework
am besten in zwei Phasen angehen lässt. In der vorliegenden ersten Phase sollten Sie die Anforderungen
auf einer sehr hohen und breiten Ebene festlegen. In den folgenden Abschnitten habe ich übliche Anforderungen zusammengestellt, die Sie als Grundlage für die Erörterung von Anforderungen mit Ihren
Beteiligten verwenden können.
Wichtig Die Unternehmensanforderungen hoher Ebene an ein UDS-Framework lassen sich i.A. in folgende
Kategorien unterteilen: Verfügbarkeit und Mobilität (für mobile Benutzer), Widerstandsfähigkeit (gegen Ausfall der lokalen Festplatte) und Schutz (gegen Aufdeckung von Daten).
3.1 Definieren der Anforderungen an ein Framework für Benutzerdaten und -einstellungen 175
Verfügbarkeit und Mobilität
Verfügbarkeit und Mobilität: Die Benutzer können von jedem Computer auf ihre Daten und Einstellungen zugreifen. Diese Anforderung bezieht sich auf ein in »Szenarien, Probleme und Lösungen« auf Seite 170 erwähntes Szenario. Die Benutzer sollen in der Lage sein, sich bei jedem beliebigen
Computer anzumelden, zum Beispiel in einem Konferenzraum, und auf dieselben Daten und Einstellungen zugreifen können wie auf ihrem Hauptclient (stationär oder mobil). Diese Anforderung haben
alle UDS-Projekte gemeinsam, mit denen ich zu tun hatte. Sie bildet den Goldstandard der Unternehmensanforderungen.
Dies ist jedoch nur eine Regel, von der es mit Sicherheit Ausnahmen gibt. Es gibt mit einiger Wahrscheinlichkeit Computer, die nicht einbezogen werden sollten, beispielsweise öffentliche Kioskcomputer, Rechner mit Internetzugang im Foyer eines Gebäudes oder solche, die nicht regelmäßig (oder mit
ausreichender Bandbreite) Verbindung zum Firmennetzwerk haben. Wir müssen also ein UDS-Framework entwerfen, das mit diesen und anderen Einschränkungen zurechtkommt.
Ich möchte noch darauf hinweisen, dass dieses Framework zwar die Verfügbarkeit der Daten und Einstellungen eines Benutzers gewährleisten kann, aber nicht die Verfügbarkeit der zum Öffnen der
Dateien oder zum Implementieren der Einstellungen erforderlichen Anwendungen. Die Softwareverteilung ist meiner Meinung nach besser in einem eigenen Framework aufgehoben. Sie wird in diesem
Werk in Lösungsgruppe 9, »Verbessern der Bereitstellung und Verwaltung von Anwendungen und
Konfiguration«, erörtert.
Verfügbarkeit: Wenn ein Benutzer einen neuen Computer bekommt, sollen seine Daten und Einstellungen bei der ersten Anmeldung ohne große Verzögerung vollständig zur Verfügung stehen.
Diese Anforderung ist eigentlich nur eine Variante der vorherigen. Ich habe Organisationen kennen
gelernt, in denen die Benutzer Stunden oder Tage warten mussten, bis ihre Daten auf dem neuen Rechner waren, und selbst dann nur einen Teil dessen bekamen, was sie vorher hatten. Mit einem gut gestalteten UDS-Framework sollte es genauso einfach sein, einen nagelneuen Computer für einen Benutzer
voll funktionsfähig zu machen, wie für den Benutzer, sich an einem anderen Rechner der Umgebung
anzumelden.
Verfügbarkeit: Ein neuer Mitarbeiter soll von Anfang an mit Standardbenutzerdaten und -einstellungen arbeiten können. Beim Anlegen von Benutzerkonten sollen deren Datenspeicher so initialisiert werden, dass der Benutzer sofort an die Arbeit gehen kann. Seine Arbeitsumgebung soll von
Anfang an die Firmenstandards für Anpassung, Voreinstellungen und Richtlinien widerspiegeln.
Ausfallsicherheit
Ausfallsicherheit: Bei einem Hardwareausfall oder -verlust soll innerhalb von x Stunden ein
Ersatz mit sämtlichen Benutzerdaten und -einstellungen zur Verfügung stehen. Diese Anforderung hat als weitere Variante des UDS-Ziels der universellen Verfügbarkeit Auswirkungen auf das
Framework, zu denen eine Angabe gehören kann, wie viele Zusatzsysteme für diesen Fall vorrätig
gehalten werden. Wie viele Stunden Sie bis zum Ersatz vorsehen, hängt davon ab, ob sich der Benutzer
am Firmenstandort oder unterwegs befindet. Eine Reaktion innerhalb weniger Stunden kann sinnvoll
sein, wenn sich der Benutzer im Büro aufhält. Ist er jedoch unterwegs, sind 24 bis 48 Stunden realistischer, weil der Rechner zu ihm transportiert werden muss.
176 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Ausfallsicherheit: Der Datenverlust bei Ausfall einer Clientfestplatte soll sich in Grenzen halten.
Fällt die Festplatte eines Benutzers aus, können einige Daten verloren gehen. Hat er beispielsweise
kürzlich einen Favoriten in sein Profil eingefügt und sich noch nicht abgemeldet, liegt in seinem servergespeicherten Profil auf der Netzwerkfreigabe noch keine Kopie davon, sodass diese Einstellung verloren geht.
Das Ausmaß des Datenverlusts lässt sich natürlich durch das von Ihnen erstellte UDS-Framework einschränken. Viele Organisationen lassen die Benutzer unternehmenskritische Dokumente ausschließlich
auf ihrer Festplatte speichern. Für mich ist das ein nicht akzeptables Geschäftsrisiko, weil Firmenwissen verloren geht, wenn das System des Benutzers ausfällt oder gestohlen wird – Wissen, das sich
problemlos in einem UDS-Framework festhalten lässt. Unsere Entwurfsarbeiten und Lösungen konzentrieren sich auf die Entscheidung, was »begrenzt« für Ihr Unternehmen bedeutet.
Sicherheit
Sicherheit: Von den Benutzern erstellte Geschäftsdaten sollen sicher sein. Sicherheit ist für die
meisten IT-Teams die primäre Aufgabe, wobei die Sicherheit von Benutzerdaten weit vorn auf der Liste
der Anliegen von Unternehmen steht, die nicht in den Schlagzeilen erscheinen wollen, weil der Rechner
eines Benutzers gestohlen wurde und sensible Daten aufgedeckt wurden.
Ein Benutzerprofil umfasst eine Reihe von Ordnern und Dateien, in denen die Daten (Dokumente und
andere Dateien) und Einstellungen des Benutzers (individuelle Anpassungen und Konfiguration) abgelegt sind. Das Profil wird in mehreren Lösungen weiter hinten in dieser Lösungsgruppe detailliert
behandelt. Seine standardmäßige Zugriffssteuerungsliste (Access Control List, ACL) sorgt dafür, dass
nur der Benutzer und die Mitglieder der lokalen Administratorengruppe des Computers Zugriff auf das
Profil haben und andere Benutzer ausgeschlossen werden. Zugriffssteuerungslisten nützen jedoch
nichts, wenn eine Festplatte physisch zugänglich gemacht wird – zum Beispiel, wenn ein Laptop
gestohlen wird. Sobald die lokale Administratorengruppe des Rechners geknackt ist, kann jedes Mitglied dieser Gruppe auf alle Daten der Festplatte zugreifen. Dazu braucht nur eine zweite WindowsInstanz installiert zu werden. Als deren Administrator können Sie auf sämtliche Daten zugreifen, selbst
auf diejenigen, die zur ersten Instanz gehören. Der einzige Schutz für Daten auf einer Festplatte gegen
lokalen physischen Zugriff liegt in der Verschlüsselung, die ebenfalls in späteren Lösungen zur Sprache
kommt.
Erlauben Sie mir, nach diesen Hintergrundinformationen einige selbst erlebte Szenarien zu beschreiben, die unnötigerweise zur Aufdeckung von Geschäftsdaten führen können. Sie können als Unternehmensanforderungen an ein UDS-Framework dienen – es muss folgende Probleme lösen, falls sie in
Ihrem Unternehmen bestehen:
Außerhalb des Benutzerprofils angelegte Datenordner Benutzer schützen ihre eigenen Daten häufig nicht besonders gut. Legt ein Benutzer irgendwo außerhalb seines Profils eine Datendatei an,
besteht ein hohes Risiko, dass die Daten aufgedeckt werden. Ein gängiges Beispiel dafür sind Ordner im Stammverzeichnis des Laufwerks C:\. Manche Anwendungen fördern diese gefährliche Vorgehensweise sogar. Alle Benutzer, die sich lokal am System anmelden, haben Zugriff auf den betreffenden Ordner. Da alle Benutzer innerhalb der Domäne standardmäßig das Recht haben, sich lokal
an allen Mitgliedsservern und Arbeitsstationen anzumelden, kann sich jeder Benutzer in der Organisation an jedem stationären oder mobilen Computer anmelden und hat anschließend mindestens
Leserechte für alle Ordner im Stammverzeichnis des Laufwerks C:\. Das UDS-Framework sollte
Vorgehensweisen zur Datenverwaltung fördern oder erzwingen, die angemessen sicher sind.
3.1 Definieren der Anforderungen an ein Framework für Benutzerdaten und -einstellungen 177
Benutzer, die lokale Administratoren sind Mitglieder der lokalen Administratorengruppe haben
gültigen uneingeschränkten Zugriff auf alle nicht verschlüsselten Daten eines Systems. Es ist wichtig, Benutzer aus dieser Gruppe zu entfernen, was jedoch Frameworks zur Unterstützung derjenigen
Unternehmensanforderungen nach sich zieht, deretwegen die Benutzer im Augenblick in der Administratorengruppe sind: die Berechtigung, Druckertreiber zu installieren, die Systemzeit und die IPKonfiguration zu ändern sowie Anwendungen zu installieren. Außerdem müssen Sie Anwendungen daraufhin prüfen, ob sie Anmeldeinformationen von lokalen Administratoren voraussetzen, um
korrekt zu funktionieren, und dieses Problem beheben. Diese wichtigen Arbeiten werden größtenteils in anderen Lösungsgruppen dieser technischen Referenz behandelt. Bis sie erledigt und alle
Benutzer aus der lokalen Administratorengruppe entfernt sind, kann der Datenschutz nur durch
Verschlüsselung verbessert werden.
Zugriff auf die physische Festplatte (beispielsweise durch Diebstahl) Wie bereits erwähnt, liegen
die Daten auf einer Festplatte offen, wenn physischer Zugriff darauf möglich ist. Dagegen setzen
wir Verschlüsselung als Schutzmaßnahme ein.
Ableiten wichtiger Entwurfsentscheidungen aus Geschäftsanforderungen hoher Ebene
Nachdem Sie Einigkeit über die Unternehmensanforderungen auf hoher Ebene erreicht haben, müssen
Sie eine Schlussfolgerung daraus ziehen: Benutzerdaten und -einstellungen müssen im Netzwerk abgelegt werden. In gewisser Hinsicht handelt es sich dabei um eine Entwurfsentscheidung, aber aufgrund
dessen, dass die Unternehmensanforderungen sonst nicht erfüllt werden können, auch um eine Anforderung. Ich ermutige Sie, diese Anforderung darzulegen und an dieser Stelle des Vorgangs mit Ihren
Auftraggebern zu erörtern. Verlieren Sie sich nicht in ausführlichen Entwurfsdiskussionen, beispielsweise, welche Daten wo abgelegt werden oder wie der mobile Zugriff erfolgt. Halten Sie die Diskussion
auf einer hohen Ebene mit dem Ziel, Konsens über die einfache Tatsache herzustellen, dass sonst die
weiter vorn aufgeführten Anforderungen hoher Ebene nicht zu erreichen sind.
Benutzerdaten und -einstellungen müssen im Netzwerk gespeichert werden
Nur wenn Sie Benutzerdaten und -einstellungen im Netzwerk speichern, können Sie die Ziele der
Mobilität, Ausfallsicherheit, Sicherheit und Unterstützung verwirklichen. Wie wir bei späteren Lösungen sehen werden, bedeutet dies nicht, dass sämtliche Daten und Einstellungen im Netzwerk abgelegt
werden: Einige liegen außerhalb der Anforderungen hoher Ebene und brauchen deshalb nicht genauso
verwaltet zu werden. Denken Sie an die Elemente in Ihrem TEMP-Ordner – es ist klar, dass sie nicht
denselben Anforderungen unterliegen. Daten, die eine Verwaltung unter Berücksichtigung der Anforderungen hoher Ebene erfordern, müssen jedoch früher oder später im Netzwerk gespeichert werden.
Wir behaupten auch nicht, dass der Server sofort auf alle Benutzerdaten zugreifen muss. Das sind typische Einwände gegen diese grundlegende Entwurfsentscheidung. Es geht dabei jedoch um Einzelheiten
des Entwurfs, sollte also im Augenblick außen vor bleiben. Halten Sie die Diskussion auf einer hohen
Ebene. Besteht Einigkeit darüber, wichtige Daten auf einem Server unterzubringen (wenigstens in
Form einer Sicherungskopie), um sie gegen den Verlust einer lokalen Benutzerfestplatte zu schützen?
Ja. Also weiter.
Wenn Ihre Organisation zu denen gehört, die keine oder nur wenige Benutzerdaten in ihrem Netzwerk
ablegen, müssen Sie nun möglicherweise den Verkäufer spielen. Das Speichern im Netzwerk hat kulturelle, politische und finanzielle Folgen, auf die wir demnächst als Anforderungen eingehen, die sich aus
178 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
dieser Architekturentscheidung ableiten. Wenn Sie es geschafft haben, Konsens über die weiter vorn
erörterten Unternehmensanforderungen hoher Ebene herzustellen, ist die Anerkennung dieser Folgen
ein Kinderspiel. Auch das ist ein Grund, aus dem Sie sich meiner Meinung nach intensiv bemühen sollten, sich auf die Unternehmensanforderungen zu konzentrieren, bevor es um Konsequenzen des Entwurfs geht – wie dieses Beispiel zeigt, können sie gelegentlich von erheblicher Bedeutung und kompliziert sein.
Ich empfehle Ihnen, unter den Beteiligten Übereinstimmung darüber herzustellen, dass irgendeine
Form von Speicherung im Netzwerk erforderlich ist, um die Unternehmensanforderungen zu verwirklichen. Ich rate Ihnen, nicht weiter in die Details zu gehen. Äußern Sie sich noch nicht zu servergespeicherten Profilen, umgeleiteten Ordnern, Offlinedateien oder der Sicherung von Kundendaten. Das sind
bestimmte Technologien, die sinnvoller zu einem späteren Zeitpunkt im Zusammenhang mit detaillierteren Anforderungen und Entwurfsherausforderungen erörtert werden sollten. Unter dem Strich spielt
jede davon eine Rolle bei der Unterstützung einer Vielzahl von Szenarien, die wir jedoch noch nicht
definiert haben. Konzentrieren Sie sich daher im Augenblick allein auf das Gesamtbild: Speichern im
Netzwerk ist ein Entwurfselement. Halten Sie es einfach, denn in Kürze stehen wir vor einer Menge
neuer Anforderungen, die sich aus dieser Entscheidung ergeben, und erst dann können wir anfangen,
ein wirkungsvolles UDS-Framework zu entwerfen.
Haben Sie im Augenblick keine Benutzerdaten auf Servern abgelegt, sollten Sie auch vermeiden, sich
in finanzielle Folgen wie zusätzliche Speicherkapazität zu verstricken. Der erste meiner besten Ratschläge für Sie lautet: Lassen Sie die Diskussion nicht in diese Richtung laufen. Halten Sie sie auf einer
hohen Ebene und frei von Einschränkungen. Später ist noch mehr als genug Zeit, über Budgets und ROI
zu sprechen. Jeder weiß, dass das Framework nicht ohne Berücksichtigung der Kosten entworfen und
umgesetzt wird. Wiederum gilt aber, dass wir noch nicht detailliert entwerfen – wir entwickeln Anforderungen. Ja, wir haben die Entscheidung getroffen, dass eine Speicherung im Netzwerk erforderlich
ist, um die Unternehmensanforderungen hoher Ebene zu erfüllen, aber wir haben noch nichts darüber
gesagt, was das heißt. Das verschieben wir auf später.
Der zweite Rat, den ich Ihnen geben kann, besagt, dass sie alles daran setzen sollten, die Beteiligten aus
dem Finanzbereich – die Entscheidungsträger – in die vorstehende Erörterung der Unternehmensanforderungen hoher Ebene einzubeziehen. Schließen sie sich der Ansicht an, dass diese Anforderungen
(Verfügbarkeit, Mobilität, Ausfallsicherheit und Sicherheit) für den Erfolg des Unternehmens unverzichtbar sind – was ich für ein leicht nachvollziehbares Argument halte –, können Sie die Netzwerkspeicherung mühelos als wichtige Rolle in sämtliche Anforderungen aufnehmen. Ohne sie lassen sich
die Unternehmensanforderungen nicht erreichen. Kunst und Wissenschaft des Entwerfens aufgrund
von Anforderungen bei gleichzeitigem Abwägen von Kosten und anderen Einschränkungen werden in
Lösungen behandelt, die später folgen.
Ableiten von Anforderungen aus wichtigen Entwurfsentscheidungen
Weiter vorn habe ich Sie ermutigt, bei den Beteiligten Einigkeit darüber herzustellen, dass Benutzerdaten und -einstellungen im Netzwerk abgelegt werden müssen, um ihre Ausfallsicherheit, Verfügbarkeit,
Sicherheit und Flexibilität zu gewährleisten. Diese wesentliche Entwurfsentscheidung zieht Folgen
nach sich, auf die Sie eingehen sollten, indem Sie die Anforderungen zusammenstellen, die sich daraus
ergeben. Anders ausgedrückt: Welche zusätzlichen Anforderungen bringt diese Entscheidung mit sich?
Auch hier sollten Sie noch nicht auf spezielle Technologien oder Details des Entwurfs eingehen. Bleiben Sie bei den Anforderungen.
3.1 Definieren der Anforderungen an ein Framework für Benutzerdaten und -einstellungen 179
Sicherheit: Das UDS-Framework erfüllt die Informationssicherheits- und IT-Richtlinien
des Unternehmens über die Speicherung von Dateien im Netzwerk
Diese Sicherheitsanforderung spiegelt die Tatsache wider, dass in vielen Unternehmen bestimmte Arten
von Dateien nicht im Netzwerk gespeichert werden sollen. Ihre IT-Richtlinien können zum Beispiel
besagen, dass es nicht erlaubt ist, dort Musik z.B. in Form von MP3-Dateien abzulegen. Außerdem
schreibt das Unternehmen möglicherweise vor, dass – aus Gründen der Sicherheit, der Speicherverwaltung oder der Erfüllung von Vorschriften – auch keine E-Mail-Archive auf Netzwerkservern untergebracht werden dürfen. Vielleicht sollen auch bestimmte Arten von Daten nicht auf bestimmte Server
gelangen.
Was diese Anforderung für Ihr UDS-Framework bedeutet, hängt davon ab, was Ihre konkreten Richtlinien vorgeben. Wir schlagen Entwurfselemente für ein UDS-Framework vor, die die meisten gängigen Datenspeicherungsszenarien unterstützen, darunter auch diejenigen, die das Speichern bestimmter
Dateitypen auf Servern untersagen.
Mobilität: Benutzer können im nicht verbundenen Zustand (z.B. auf einem Laptop) über
denselben Namespace auf ihre Dateien zugreifen wie im Falle einer Verbindung
Wären alle Benutzerdaten auf den Computern der einzelnen Benutzer gespeichert, könnten diese ständig darauf zugreifen, im Büro oder unterwegs. Um die Anforderungen hoher Ebene zu erfüllen, werden
die Daten jedoch teilweise im Netzwerk abgelegt. In diesem Fall können Sie die Konsistenz (und damit
die Sicherheit) verbessern und die Unterstützungskosten reduzieren, indem sie die Benutzerumgebung
rationell gestalten.
Kopieren die Benutzer ständig Dateien aus ihrem Basisverzeichnis auf ihre lokale Festplatte, wenn sie
sich auf den Weg machen, und nach der Reise wieder zurück? Das wäre ein Beispiel für einen unverbundenen Namespace: Der Benutzer greift auf eine Art auf die Datei zu, wenn er mit dem Netzwerk
verbunden ist (über sein dem Basisordner zugeordnetes Laufwerk), jedoch auf eine andere Art, wenn er
ohne Netzwerkverbindung arbeitet (indem er die Ordnerstruktur der lokalen Festplatte durchsucht). Es
wäre sinnvoll, wenn die Benutzer mit und ohne Verbindung zum Netzwerk auf dieselbe Weise arbeiten
könnten, weil dadurch vermutlich auch ihre Produktivität steigt, das Risiko von Fehlern sinkt und die
Unterstützungskosten abnehmen.
Microsoft Outlook ist ein Beispiel für solch eine rationelle Benutzerumgebung. Im Exchange-CacheModus ist für die Benutzer unsichtbar, ob sie mit oder ohne Verbindung arbeiten. Sie können E-Mails
mithilfe desselben Namespace schreiben, lesen und verwalten. Die Arbeit mit Windows Explorer sollte
genauso rationell aussehen. Um dies zu erreichen, verwenden wir Windows-Offlinedateien.
Verfügbarkeit: Die Leistung muss für die Geschäftsanforderungen ausreichen
Diese bewusst vage formulierte Anforderung muss im Kontext Ihres Unternehmens konkretisiert werden. Sie ergibt sich aus der Erkenntnis, dass die Leistung bei Zugriffen über das Netzwerk so hoch sein
muss, dass der Benutzer nicht alle Daten lokal ablegt, um das UDS-Framework zu umgehen.
Die folgenden Anforderungen sollten Sie so genau wie möglich definieren:
Verfügbare Betriebszeit des Frameworks Die verfügbare Betriebszeit ist die Verfügbarkeit der
Benutzerdaten und -einstellungen, nicht zwangsläufig auf die Betriebszeit eines bestimmten Servers,
weil Server in Clustern angeordnet sein oder repliziert werden können. Die Zeit kann in Minuten,
Stunden, Tagen oder als Prozentsatz angegeben werden, zum Beispiel als 99,6%, was 35 Stunden
180 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Nichtverfügbarkeit im Jahr entspricht, und zwar geplant und ungeplant zusammen. Meiner Meinung
nach ist diese Zahl mit einem UDS-Framework erreichbar, das auf Speichersystemen mit nur einem
Server untergebracht ist – sie bietet ausreichend Zeit zum Neustarten des Servers nach Aktualisierungen und für die gelegentliche Behebung von Hardwareproblemen. Der Großteil der Abschaltzeit
sollte so geplant sein, dass sie in Zeitfenster außerhalb von Arbeitsspitzen fällt. Selbstverständlich
besteht aber auch die Möglichkeit ungeplanter Ausfälle.
Redundanz Möglicherweise möchten Sie eine Redundanzanforderung folgender Art aufstellen, die
die Betriebszeitanforderung ergänzt: »Die Benutzerdatenspeicher werden durch den Ausfall einer
Festplatte oder eines Plattenarrays nicht beeinträchtigt.« Verkraftet das UDS-Framework den Ausfall einer Festplatte oder eines Plattenarrays, entsteht ihm keine Ausfallzeit.
Die Leistung des Netzwerkzugriffs von Clients aus soll den Geschäftsanforderungen entsprechen.
Dies betrifft das bereits erörterte Szenario: Der Zugriff auf einen Teil der Daten erfolgt direkt im
Netzwerk. Die Arbeit mit diesen Daten sollte nicht so quälend langsam sein, dass Geschäftsziele
aufs Spiel gesetzt werden oder die Benutzer nach Umgehungsmöglichkeiten suchen. Letzteres
bedeutet i.A., dass die Benutzer Daten auf ihre lokalen Festplatten kopieren und lokal damit arbeiten – was den meisten Anforderungen hoher Ebene des UDS-Frameworks widerspricht.
Der Einfluss des UDS-Frameworks auf das Netzwerk soll optimiert werden. Hier sehen Sie die
dienstbezogene Perspektive derselben Anforderung. Wir wollen das UDS-Framework vor dem
Hintergrund der Netzwerkkapazität optimieren. Beachten Sie, dass wir nicht »minimiert« gesagt
haben, was die Netzwerkinfrastruktur an die Spitze der Liste brächte und anderen Anforderungen
überordnete, sondern »optimiert«, um sie gegenüber anderen Anforderungen abzuwägen.
Das UDS-Framework soll den Umgang mit Ausnahmen erlauben. Um diese Anforderung zu
beschreiben, müssen wir ein Entwurfselement beleuchten: umgeleitete Ordner. Im weiteren Verlauf
dieser Lösungsgruppe gehen wir darauf detaillierter ein. Diese Ordner gehen mit Benutzerdaten
ähnlich um wie Basisverzeichnisse: Die Daten werden auf einem Server abgelegt. In den meisten
Situationen ist dieser Ansatz recht wirkungsvoll. Sie können sich aber sicher vorstellen, dass es
Umstände gibt, unter denen der Benutzer aus dem einen oder anderen Grund nicht sinnvoll mit
einer Datei arbeiten kann, die auf einem Netzwerkserver liegt. Die Einzelheiten hängen dabei von
Ihrem Unternehmen und den benutzten Anwendungen ab. Ein Beispiel: Ältere Versionen von
Microsoft Outlook boten keine Unterstützung für den Zugriff auf PST-Dateien in Netzwerkordnern
– er musste lokal erfolgen. Ein weiteres Beispiel: Bei der Bearbeitung umfangreicher Videodateien
benötigt der Benutzer wahrscheinlich lokalen Zugriff darauf, weil die Geschwindigkeit sonst unerträglich ist. In solchen Situationen sollte das UDS-Framework gewährleisten, dass die Daten, auf
die lokal zugegriffen wird, so verwaltet werden, dass sie den UDS-Anforderungen entsprechen, beispielsweise der Widerstandsfähigkeit gegen einen lokalen Plattenausfall und der Verfügbarkeit auf
anderen Computern. Anstatt die Benutzer zur Suche nach Umgehungsmöglichkeiten zu zwingen,
muss das Framework sämtliche Arbeitsszenarien unterstützen.
Die Speicherorte sollen von den Konfigurationszeigern getrennt werden. Diese Anforderung
schreibt vor, dass Benutzerprofile nicht auf \\<server>\<freigabe>\%username% zeigen sollen,
weil sonst alle Benutzerprofilpfade aktualisiert werden müssen, wenn die Profile auf einen anderen
Server verlagert werden – beispielsweise, um Server zusammenzuführen. Um die Speicherverwaltung zu vereinfachen, ist eine Trennung sinnvoll. Möglicherweise ziehen Sie im Kopf bereits
Schlüsse: Ja, als Konsequenz aus dieser Entwurfsanforderung werden DFS-Namespaces eingesetzt.
3.2 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (I) 181
Der verantwortungsbewusste Umgang mit Netzwerkspeicherplatz soll in angemessener Weise
gefördert, erzwungen oder überwacht werden. Um die Gesamtkosten zu optimieren, sollte das
Netzwerk nicht zum Abladeplatz für alle Daten werden, gute und schlechte, aktuelle und überholte.
Das UDS-Framework sollte Optionen für die Verwaltung der Speichernutzung durch die Benutzer
bieten.
Zusammenfassung
Diese Lösung hat sich auf die Schritte konzentriert, die zur Definition der Anforderungen an ein UDSFramework führen. Da ein solches Framework komplex ist und aus zahlreichen beweglichen Teilen
besteht, die in den folgenden Lösungen detailliert behandelt werden, müssen alle Beteiligten unbedingt
zu einem Konsens über die Anforderungen kommen, bevor sie zur Erörterung des Entwurfs übergehen.
Da ein fundamentaler Aspekt eines UDS-Frameworks – die Speicherung von Benutzerdaten im Netzwerk – jedoch sowohl kulturelle, politische und finanzielle als auch technische Konsequenzen hat, sollten Sie die Diskussion über die Anforderungen so führen, wie ich es hier skizziert habe: Konzentrieren
Sie sich zunächst auf die Unternehmensanforderungen hoher Ebene und die Szenarien, die das Framework unterstützen soll. Stellen Sie einen Konsens über die Anforderungen her. Damit wird die Notwendigkeit der Netzwerkspeicherung als grundlegende Entwurfsentscheidung deutlich. Vor dem Hintergrund eines Frameworks mit Netzwerkspeicherung können Sie anschließend Anforderungen an
Leistung, Redundanz, Sicherheit und Mobilität auflisten.
3.2 Entwerfen von UDS-Komponenten: Vereinbaren
der Anforderungen mit der Technologie (I)
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Servergespeicherte Profile, umgeleitete Ordner, Gruppenrichtlinien, Offlinedateien
Zusammenfassung
Bewährte Vorgehensweise für die Einführung eines Frameworks
für Benutzerdaten und -einstellungen
Vorteile
Der in dieser Lösung beschriebene Entwurf dient als Überblick
und Referenz für eine detaillierte Erörterung der einzelnen Komponenten des UDS-Frameworks. Ihr konkreter Entwurf basiert
auf der Analyse in Lösung 3.11 auf Seite 283.
Einführung
Nachdem Einigkeit über die Anforderungen hergestellt ist, können Sie sich der Technologie zuwenden,
die zu ihrer Unterstützung erforderlich ist. Diese Lösung soll Sie durch den Entwurfsvorgang leiten, in
dem die wesentlichen Bestandteile des UDS-Frameworks ermittelt werden und herausgearbeitet wird,
wie sie so aufeinander abgestimmt werden können, dass sie den aufgezeigten Anforderungen sowie
einer Vielzahl von Arbeitssituationen entsprechen. Sie liegt immer noch auf einer hohen Ebene, da wir
182 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
die Teile als solche und ihr Zusammenspiel betrachten. So gelangen wir schließlich zu einer Vorabversion eines UDS-Frameworks nach empfohlenen Vorgehensweisen, anhand derer Sie sehen können, wie
Sie die einzelnen Teile auf die für die meisten Unternehmen effizienteste Weise kombinieren.
Ich möchte Ihnen den Wald zeigen, bevor wir die schönen und auch die hässlichen Einzelheiten der einzelnen Bäume betrachten. Darum kümmern wir uns, wenn wir uns detailliert mit den einzelnen Komponenten beschäftigen und festlegen, wie sie in den folgenden Lösungen entworfen, umgesetzt, verwaltet und unterstützt werden sollen. Danach kehren wir in Lösung 3.11 zum Zusammenbau der Teile
zurück und werfen einen Blick darauf, warum es so und nicht anders geschieht. Die genannte Lösung
dient also dazu, unsere Erörterung der Framework-Komponenten abzuschließen, und bringt Ihnen hoffentlich zwei Ergebnisse. Zum einen sehen Sie, warum die in der Lösung empfohlene Struktur für die
meisten Organisationen gut funktioniert, zum anderen verstehen Sie die Anforderungen, die Komponenten und ihr Zusammenspiel so gut, dass Sie in der Lage sind, die vorgeschlagene Struktur zu verändern, damit sie exakt zu den Bedürfnissen Ihres Unternehmens passt.
Natürlich dürfen Sie gern zu Lösung 3.11 springen – insbesondere, wenn Sie bereits umfangreiche
Erfahrungen mit den Technologien gesammelt haben, die das UDS-Framework benutzt. Aber ich empfehle Ihnen durchaus, diese Lösungsgruppe der Reihe nach durchzuarbeiten. Betrachten wir nun also
die Komponenten eines UDS-Frameworks von einer hohen Ebene aus.
Grundlagen von UDS-Optionen
Ich bezeichne diesen ersten Schritt gern als Definition von »Optionen«. Sie sind die Werkzeuge, die
Ihnen beim Entwerfen einer Verwaltungsinfrastruktur für Benutzerdaten und -einstellungen zur Verfügung stehen. Konzentrieren Sie sich beim Lesen dieses Abschnitts auf die Konzepte und Definitionen,
denn die einzelnen Optionen werden in den folgenden Lösungen wesentlich detaillierter untersucht.
Daten und Einstellungen
Das UDS-Framework muss sowohl Daten als auch Einstellungen unterstützen:
Daten Damit sind die Dateien gemeint, die der Benutzer anlegt und verwendet: Dokumente, Arbeitsblätter, Präsentationen usw.
Einstellungen Hierbei handelt es sich um die Dateien, die Anwendungen für den Benutzer unsichtbar
erstellen, um sich dessen Anpassungen zu merken, beispielsweise die Favoriten in Internet Explorer,
Cookies, Benutzerwörterbücher usw.
Bei dieser Definition werden wir noch weiter ins Detail gehen und bestimmte Arten oder Klassen von
Daten betrachten – z.B. Dokumente, E-Mail-Archive, Musiksammlungen und Bilder.
Wichtig Im Kontext eines UDS-Frameworks bezeichne ich als »Klassen« von Daten Dinge mit gemeinsamen Anforderungen und Charakteristika, die Sie mithilfe gängiger Werkzeuge und Prozesse verwalten können.
Windows-Speicher für Benutzerdaten und -einstellungen
Windows stellt eine Reihe von Speichern für Benutzerdaten und -einstellungen bereit:
„ Dokumente (Windows Vista) bzw. Eigene Dokumente (Windows XP): Benutzerdokumente
„ Desktop: Dokumente, Verknüpfungen
„ Favoriten: Favoriten in IE
3.2 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (I) 183
AppData (Windows Vista) bzw. Anwendungsdaten (Windows XP): Anwendungseinstellungen und
Konfigurationsdateien
„ Ntuser.dat: Die Registrierungsstruktur des Benutzers mit seinen Einstellungen
An der Befehlszeile von Windows Vista und Windows Server 2008 erfolgt der Zugriff auf diese Ordner
trotz der deutschen Anzeige in der Benutzeroberfläche über die englischen Namen wie Documents,
Favorites usw.
„
Wichtig Benutzerdatenspeicher sind Schnittstellen für eine oder mehrere Datenklassen. Meistens handelt
es sich um Elemente der Windows-Benutzerschnittstelle. Wahrscheinlich legen Sie einen oder mehrere
Benutzerdatenspeicher zusätzlich an. Der Benutzerdatenspeicher ist die Stelle, an der der Benutzer mit den
Daten interagiert.
Netzwerk- und lokale Speicher
Speicher für Benutzerdaten und -einstellungen werden physisch an einem oder beiden folgenden Orten
untergebracht:
UDS-Server Um die Unternehmensanforderungen hoher Ebene zu erfüllen, werden die meisten
Benutzerdaten und -einstellungen im Netzwerk auf Servern gespeichert, die wir als Server für
Benutzerdaten und -einstellungen (UDS-Server) bezeichnen. Beachten Sie, dass ich »gespeichert«
gesagt habe, nicht unbedingt »zugriffsbereit abgelegt«. Dieser feine Unterschied wird in dieser
Lösung geklärt. Die Platzierung der UDS-Server wird von den Leistungsanforderungen bestimmt –
üblicherweise befinden sie sich an verteilten Standorten, um den dortigen Benutzern Datenzugriff
über das lokale Netzwerk (LAN) zu bieten, oder in Rechenzentren mit schneller Anbindung.
Lokale Datenspeicher Um die Anforderungen an die Leistung und für Arbeitssituationen ohne Netzwerkanbindung zu erfüllen, werden zahlreiche Benutzerdaten außerdem lokal auf der Festplatte
des Benutzers gespeichert.
Die Einzelheiten dazu behandeln wir wiederum weiter hinten in dieser und anderen Lösungen.
Wichtig Die physischen Datenspeicher eines UDS-Frameworks sind diejenigen, in denen die Benutzerdaten tatsächlich »live« gespeichert werden. Der Ordner Dokumente ist beispielsweise ein Benutzerdatenspeicher, der auf der lokalen Festplatte oder auf einem Server angesiedelt sein kann. Ein Benutzerdatenspeicher
kann in mehreren physischen Speichern untergebracht sein. Ein serverbasierter (umgeleiteter) Ordner Dokumente kann ebenfalls im lokalen Cache für Offlinedateien liegen.
Primäre Datenspeicher
Der UDS-Entwurf bestimmt, an welchem Ort in den unterschiedlichen Arbeitssituationen auf die verschiedenen Klassen von Daten und Einstellungen zugegriffen wird. Den Speicher, in dem die Benutzer
auf die Dateien zugreifen, bezeichne ich als den primären Datenspeicher für die betreffende Datenklasse. Ein Benutzer, der umfangreiche Videodateien bearbeitet, greift wahrscheinlich aus Geschwindigkeitsgründen lokal darauf zu – der primäre Datenspeicher ist in diesem Fall also ein lokaler Speicher.
Unterliegen diese Videodateien jedoch den in Lösung 3.1 auf Seite 172 erörterten Geschäftsanforderungen, zum Beispiel der Widerstandsfähigkeit gegen den Ausfall des Festplattenlaufwerks eines Benutzers, müssen sie auch im Netzwerk abgelegt sein. Der Netzwerkspeicher erfüllt lediglich die Anforderungen an Verfügbarkeit, Mobilität und Ausfallsicherheit – er ist kein primärer Datenspeicher, in dem
der Zugriff auf die Dateien erfolgt.
184 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Synchronisation von Datenspeichern
Dies führt zu der Frage, wie Dateien aus einem Speicher in den anderen gelangen. Für die Synchronisierung des lokalen Speichers mit dem Netzwerkspeicher gibt es mehrere Ansätze:
Windows-Offlinedateien Mithilfe von Offlinedateien lassen sich Ressourcen in einem Primärspeicher im Netzwerk mit einem lokalen Speicher (dem Cache) im System des Benutzers synchronisieren. Ist der Benutzer mit dem Netzwerk verbunden, greift er dort auf die Dateien zu, hat er keine
Verbindung zum Netzwerk, benutzt er die Dateien im Cache (siehe auch Lösung 3.6 auf Seite 237).
Servergespeicherte Profile Mit servergespeicherten Profilen lassen sich Benutzereinstellungen im
Primärspeicher des Benutzersystems auf einen Netzwerkspeicher übertragen. Der Benutzer greift
auf den Speicher mit dem lokalen Profil zu (siehe auch Lösung 3.7 auf Seite 248).
Robocopy oder andere Mechanismen zum Kopieren von Dateien Mit Robocopy und anderen
Hilfsmitteln können lokale und Netzwerkspeicher synchronisiert werden, und zwar auch zeitgesteuert. Beide Speicher lassen sich abhängig von der Arbeitssituation und der Art der Daten für
den Dateizugriff nutzen (siehe auch Lösung 3.10 auf Seite 270).
Kopieren Sie werden auch Situationen erleben, in denen das Kopieren bei Bedarf sinnvoll ist.
Ausschließen (ohne Kopieren) Schließlich gibt es auch Fälle, in denen schlicht und einfach keine
Synchronisierung erforderlich ist. Ich habe beispielsweise noch keinen Kunden getroffen, der es für
notwendig hielt, die temporären Ordner der Benutzer zu synchronisieren (siehe auch Lösung 3.9
auf Seite 265).
Darstellung (Namespace)
Benutzer oder Anwendungen müssen im richtigen lokalen oder Netzwerkspeicher auf Dateien zugreifen, was für sie idealerweise möglichst unsichtbar erfolgen sollte. Im Namespace der Windows-Shell
sollten sie ein Element der Benutzeroberfläche sehen, das die komplexen Einzelheiten der zugrunde liegenden UDS-Infrastruktur verbirgt. Es stellt die Verbindung zwischen dem Datenspeicher, den der
Benutzer sieht, und dem physischen Datenspeicher (auf der lokalen Festplatte oder im Netzwerk) her, in
dem die Daten liegen. Zum Glück gibt es verschiedene Techniken, die zur effizienten Darstellung der
Benutzerdaten und -einstellungen beitragen:
Umgeleitete Ordner Die Umleitung macht es möglich, dass ein Ordner der Windows-Shell auf einen
beliebigen physischen Datenspeicher zeigt. Die Ordner Desktop und Dokumente (vor Windows
Vista Eigene Dokumente) sind solche umgeleiteten Ordner. Sie werden in der Shell immer gleich
dargestellt, sind jedoch abstrakte Konstrukte – genau genommen gibt es sie nicht, sondern sie sind
Zeiger auf einen bestimmten Ordner im lokalen Festplattensystem oder auf einem Netzwerkserver.
Servergespeicherte Profile Servergespeicherte Profile maskieren die komplexen Einzelheiten der
Synchronisierungsfunktionalität, indem sie Komponenten des servergespeicherten Benutzerprofils
in einer lokal zwischengespeicherten Kopie darstellen, die sich an genau derselben Stelle im Windows-Namespace befindet wie ein lokales Profil (z.B. unter Windows Vista C:\Users\<Benutzername> und unter Windows XP C:\Dokumente und Einstellungen\<Benutzername>).
Offlinedateien Die Funktion Offlinedateien synchronisiert wie bereits beschrieben Netzwerkressourcen mit einem lokalen Cache, wird aber dadurch noch sinn- und wertvoller, dass sie diese Dateien
unabhängig davon im selben Namespace darstellt, ob der Benutzer mit dem Netzwerk verbunden ist
oder nicht. Anders ausgedrückt: Hat der Benutzer die Netzwerkdatei \\server\freigabe\dateiname.erw
offline verfügbar gemacht, kann er über genau diesen Pfad auch darauf zugreifen, wenn er offline ist.
Er braucht nicht direkt auf Dateien im clientseitigen Cache zuzugreifen, was er auch nicht kann.
3.2 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (I) 185
Symbolische Verknüpfungen oder Verbindungen Symbolische Verknüpfungen (neu in Windows
Vista) und Abzweigungspunkte (Windows XP und Windows Server 2003) legen Ordner im Namespace von Windows Explorer an, die den Benutzer an einen anderen Ort umleiten.
Verknüpfungen Verknüpfungen geben dem Benutzer die Möglichkeit, an ein Ziel zu gelangen.
Netzwerk- und DFS-Namespaces
Für das Back-End sind auch Überlegungen zu Namespaces wichtig, damit Administration, Unterstützung und Verwaltung des UDS-Frameworks möglichst effizient und wirkungsvoll sind. In Lösung 3.3
auf Seite 188 untersuchen wir die Konfiguration der physischen Speicher der Benutzerdaten und -einstellungen auf den UDS-Servern – die Ordnerhierarchie, beispielsweise E:\Users\%username%\Documents –, und in Lösung 3.4 die für die Unterstützung des Frameworks erforderlichen SMB-Freigaben,
beispielsweise \\server23\users$ als freigegebener Ordner, der auf E:\Users auf SERVER23 zeigt.
In Lösung 3.1 haben wir folgende Anforderung für das Framework vorgeschlagen: »Die Speicherorte
sollen von den Konfigurationszeigern getrennt werden.« Sie lässt sich mithilfe von DFS-Namespaces
umsetzen. Anstatt die Dokumente-Benutzerordner auf \\server23\users$\%username%\Documents
umzuleiten, können Sie einen DFS-Namespace nutzen, um einen Pfad wie \\contoso.com\Users\%username%\Documents anzulegen, der seinerseits auf die Freigabe auf SERVER23 zeigt. So können Sie mit
nur einer Änderung alle Benutzerdaten auf einen anderen Server verlagern – ein neues Ziel für den
DFS-Ordner.
Unter dem Strich besagt der Abschnitt »Netzwerk- und DFS-Namespaces«, dass die bereits erwähnte
Darstellung (der Namespace) – die Verknüpfung zwischen dem für den Benutzer sichtbaren Datenspeicher und dem Netzwerkdatenspeicher, in dem die Daten liegen – mithilfe eines DFS-Namespace erfolgen sollte. Für die meisten Lösungen in dieser Gruppe bezeichne ich die Speicher für Benutzerdaten
und -einstellungen im Netzwerk anhand der universellen Namenskonvention (Universal Naming Convention, UNC) für DFS-Namenräume. Welchen DFS-Namespace Sie tatsächlich anlegen, hängt von
den in Lösung 3.4 auf Seite 205 erörterten Entwurfsüberlegungen ab.
Anpassen der Optionen für Benutzerdaten und -einstellungen
an die Anforderungen und Szenarien
Sehen wir uns nun an, wie diese Optionen zu unseren Anforderungen passen. Es handelt sich immer
noch um eine Erörterung auf recht hoher Ebene, um allen Beteiligten den Wald zu zeigen, bevor die einzelnen Bäume definiert werden. Oder anders: Wir sehen uns zuerst das zusammengesetzte Puzzle an
und dann die Einzelteile.
Die folgende Skizze beschreibt eine gängige Konfiguration von UDS-Speichern und Synchronisierungstechnologien nach bewährter Vorgehensweise. Es handelt sich weder um die einzige noch um die
beste Wahl für jedes Unternehmen. Sehen Sie diese Empfehlungen als wahrscheinliche Lösung an. Bei
der genaueren Erläuterung der einzelnen Komponenten werden Sie die Entwurfsüberlegungen verstehen und können die für Ihr Unternehmen angemessenen Änderungen vornehmen. Lösung 3.11 zeigt die
Einzelheiten, die zu diesem UDS-Entwurf führen:
„ Die beiden wichtigsten Speicher für Benutzereinstellungen Anwendungsdaten (in Windows
Vista der Ordner AppData\Roaming) und die Registrierungsstruktur – liegen auf dem Server.
Ein servergespeichertes Profil ist der einzige Mechanismus, mit dessen Hilfe die Registrierungsstruktur des Benutzers zu verwalten ist und der die Anforderungen hoher Ebene an die Verfügbarkeit
186 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
„
„
„
„
von Benutzereinstellungen erfüllt. Bis alle Benutzer mit Windows Vista arbeiten, ist ein servergespeicherter Ordner für Anwendungsdaten meistens die einzige Möglichkeit, den Anforderungen für
Einstellungen in diesem Namespace nachzukommen.
Die Ordner Desktop und Dokumente werden umgeleitet auf primäre Netzwerkspeicher. Der Ordner Dokumente und in geringerem Ausmaß der Ordner Desktop sind häufig recht groß und führen
daher oft zu negativen Erlebnissen, wenn sie auf dem Server abgelegt werden.
Alle umgeleiteten Ordner werden für Laptopbenutzer offline verfügbar gemacht, um die Verfügbarkeit auch ohne Verbindung zum Netzwerk zu gewährleisten.
Die Ordner Bilder, Musik und Videos werden umgeleitet oder lokal gespeichert, was von Ihren
IT-Richtlinien abhängig ist.
Es werden Ordner angelegt, um Szenarien zu unterstützen, die einen lokalen Primärspeicher
für Benutzerdaten erfordern wie das Videobeispiel weiter vorn. Die Benutzer greifen auf die
Dateien in den beiden folgenden Ordnern direkt auf der lokalen Festplatte zu.
† Ordner Lokale Dateien: Der eine Ordner nimmt Daten auf, um die Anforderungen hoher
Ebene zu erfüllen. Dieser lokale Ordner ist ein primärer Datenspeicher für Benutzerdaten, der
regelmäßig in einem Netzwerkspeicher gesichert wird, um die Anforderungen an Verfügbarkeit,
Mobilität und Ausfallsicherheit zu erfüllen.
Wichtig Der Ordner Lokale Dateien ist kein Windows-Standardordner, sondern wird von Ihnen
nach der Anleitung in Lösung 3.9 angelegt und verwaltet. Er unterstützt Szenarien, in denen der
Datenzugriff aus Gründen der Kompatibilität oder der Leistung auf der lokalen Festplatte erfolgen
muss. Dazu gehört die Bearbeitung umfangreicher Videodateien oder von PST-Dateien, für die Outlook 2003 und ältere Versionen keinen Netzwerkzugriff erlauben. Diese Daten lassen sich mithilfe
servergespeicherter Profile nicht angemessen mit einem Netzwerkspeicher synchronisieren, müssen aber zwecks Mobilität, Verfügbarkeit und Ausfallsicherheit verwaltet werden, was dazu führt,
dass die Benutzer lokal darauf zugreifen und einen Sicherungsmechanismus verwenden, um die
Daten in den Netzwerkspeicher zu übertragen – beispielsweise das in Lösung 3.10 auf Seite 270
vorgestellte Skript. Daher bezeichne ich den Netzwerkspeicher als Sicherungsordner des Benutzers.
† Ordner Nur lokal: Ein weiterer Ordner ist für Daten vorgesehen, die aufgrund von Informati-
onssicherheits- oder IT-Richtlinien oder aus Kapazitätsgründen nicht im Netzwerk abgelegt
werden sollen. Er wird nicht auf einer Netzwerkfreigabe gesichert.
Wichtig Der Ordner Nur lokal ist kein Windows-Standardordner, sondern wird von Ihnen nach der
Anleitung in Lösung 3.8 auf Seite 259 angelegt und verwaltet. Er unterstützt Szenarien, bei denen
bestimmte Daten aufgrund von Richtlinien über Informationssicherheit oder IT-Nutzung nicht auf
Netzwerkservern gespeichert werden sollen. Dazu gehören beispielsweise persönliche Musiksammlungen.
Favoriten lassen sich als umgeleitete Ordner oder servergespeichert einrichten. Ich stelle
Ihnen verschiedene Überlegungen vor, die Ihnen bei der Entscheidung für die beste Lösung helfen
sollen.
„ Andere Benutzerprofilordner, insbesondere die neuen in Windows Vista, sind tendenziell
recht klein, sodass sowohl umgeleitete Ordner als auch servergespeicherte Profile als Verwaltungstechnologien in Frage kommen.
„
3.2 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (I) 187
Bewerten der Ergebnisse für stationäre und mobile Benutzer
Benutzern, die an Desktop-Computern arbeiten, und solchen, die sich bei Rechnern an anderen Orten
anmelden, werden die Einstellungen auf einem neuen Computer über ihr servergespeichertes Profil verfügbar gemacht. Die Einstellungen (AppData, Ntuser.dat und ggf. Favoriten) werden bei der An- und
Abmeldung vom Netzwerkspeicher synchronisiert. Da diese Ordner meistens eine sinnvolle Größe aufweisen, sollte ihr Einfluss auf das Netzwerk und die Anmeldedauer akzeptabel sein, auch wenn sich der
Benutzer auf einem neuen System anmeldet und eine vollständige Kopie seines Profils herunterlädt. Bei
der Anmeldung bei einem System, das der Benutzer bereits verwendet hat, brauchen nur die aktualisierten Dateien synchronisiert zu werden, was die Auswirkungen auf Netzwerk und Anmeldedauer weiter
reduziert. Große Datenspeicher wie Dokumente und Desktop stehen durch Umleitung sofort zur Verfügung – bei An- und Abmeldung werden keine Dateien übertragen. Deshalb können sich die Benutzer bei
einem beliebigen System anmelden und bekommen Zugriff auf ihre Daten und Einstellungen, wie es die
Anforderungen hoher Ebene verlangen.
Laptop-Benutzern bietet die lokale Zwischenspeicherung des servergespeicherten Profils an jedem Ort,
auch offline, Zugriff auf die Einstellungen. Die Benutzerdaten in den Ordnern Dokumente und Desktop
sowie weiteren umgeleiteten Ordnern werden mithilfe von Offlinedateien zwischengespeichert. Laptops haben also kaum Probleme mit der Mobilität im UDS-Framework. In den Bereichen Ausfallsicherheit und Redundanz ist der Vorteil des Frameworks für Laptops noch größer – als Schutz gegen Datenverlust bei Diebstahl, Verlust oder Beschädigung des Geräts.
Meldet sich der Benutzer bei einem (Desktop- oder Laptop-) System mit nicht ausreichender Anbindung an den Server mit seinen Daten an, kann die Leistung zum Problem werden, wenn Dateien über
die schlechte Leitung übertragen werden. Betrachten Sie die folgenden Szenarien und Lösungen:
Bürowechsel Wird ein Benutzer an einen anderen Standort mit schlechter Anbindung an seinen bisherigen UDS-Server versetzt, ist es sinnvoll, seine Daten auf einen UDS-Server am neuen Standort
zu verschieben, um eine optimale Leistung sicherzustellen.
Reisender Benutzer (Laptop) Reist ein Benutzer an einen anderen Standort mit begrenzter Anbindung an seinen UDS-Server, verfügt er wahrscheinlich über einen Laptop. Da auf Laptops eine
lokal zwischengespeicherte Kopie des Benutzerprofils vorhanden ist, sollte die Synchronisierung
des Profils am neuen Standort einfach sein. Für den Datenzugriff setzen mobile Benutzer Offlinedateien ein, weshalb wir auf dieses Szenario im Zusammenhang mit Offlinedateien in Lösung 3.6
zurückkommen.
Reisender Benutzer (ohne Laptop) Reist ein Benutzer an einen anderen Standort mit begrenzter
Anbindung an seinen UDS-Server, ohne über einen Laptop zu verfügen, wird sein Profil bei der
Anmeldung geladen. In den meisten Fällen ist dieser Ansatz vertretbar, da der Umfang des Profils
durch Umleitung der Ordner Dokumente und Desktop reduziert wird – es enthält lediglich die
Dateien Ntuser.dat, Anwendungsdaten und ggf. Favoriten. Ist die Ladegeschwindigkeit des Profils
über die langsame Verbindung nicht akzeptabel, sollten Sie ein Verfahren einrichten, durch das der
Speicher des Benutzerprofils verschoben oder der Pfad des servergespeicherten Profils aus dem
Benutzerkonto entfernt wird, wenn der Benutzer auf Reisen geht, und dies rückgängig gemacht
wird, wenn er zurückkehrt.
Das zweite Problem in diesem Szenario bildet der Zugriff auf die Daten in den umgeleiteten Ordnern
Dokumente und Desktop auf der anderen Seite der langsamen Verbindung zum UDS-Server. Als einzige Dateien werden die vom Benutzer geöffneten über diese Verbindung an den Client am neuen
Standort übertragen. Je nachdem, welche Arbeit der Benutzer dort erledigt, kann dies unproblematisch
188 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
sein. Gibt es jedoch ein Geschwindigkeitsproblem, müssen die benötigten Dateien manuell übertragen
werden, z.B. auf einem USB-Laufwerk oder anderen tragbaren Medien. An diesem Punkt sollten Sie
überlegen, ob es nicht möglich ist, dem Benutzer einen Laptop zur Verfügung zu stellen, und sei es nur
temporär, damit er auch an Standorten mit schlechter Anbindung effizient arbeiten kann.
Zusammenfassung
Diese Lösung zeigte im Überblick, wie die wesentlichen Komponenten eines UDS-Frameworks
zusammenwirken, um zahlreiche Anforderungen hoher Ebene zu erfüllen. Umfangreiche Datenordner
werden umgeleitet, um die Leistung von Benutzer und Netzwerk zu optimieren. Einstellungsspeicher
wie AppData, die meistens wesentlich kleiner sind, werden auf dem Server gespeichert, um Zugriff und
Kompatibilität unter allen Umständen zu gewährleisten. Damit stehen die Benutzerdaten und -einstellungen Benutzern am eigenen Desktop-Computer, auf ihrem Laptop, an wechselnden stationären Rechnern, bei Versetzung und auf Reisen zur Verfügung. Weitere Lösungen in dieser Gruppe bieten mehr
Details zu den einzelnen Komponenten und Entwurfsempfehlungen in diesem Abschnitt. Anschließend
kehrt Lösung 3.11 auf ausführlicherer Ebene zur Erörterung des Entwurfs zurück und hilft Ihnen, all
diese Teile passend zu Ihren konkreten Anforderungen zusammenzufügen.
3.3 Erstellen, Sichern und Verwalten von serverseitigen
Benutzerdatenspeichern
Die Lösung im Überblick
Typ
Anleitung, Skripts
Funktionen und Werkzeuge
NTFS-Ordner, Berechtigungen, Kontingente, dirquota.exe, Dateifenster, icacls.exe, xcacls.vbs
Zusammenfassung
Erstellen eines effizienten, sicheren und verwalteten Namespace
(Ordnerhierarchie) für Benutzerdaten- und -einstellungsspeicher
Vorteile
Automatisierung und Vorsorge für Speicherverwaltungsaufgaben
zur Verbesserung von Konsistenz und Sicherheit
Einführung
UDS-Speicher werden physisch sowohl auf Netzwerkservern als auch auf der lokalen Festplatte des
Benutzers untergebracht. Wie Sie in den weiteren Lösungen sehen werden, erfolgt der Zugriff auf jede
Datenklasse in einem Primärspeicher, der meistens mit dem anderen synchronisiert wird. Die Entscheidung, welche Datenspeicher wir zuerst behandeln, ähnelt dem Problem von Henne und Ei. Daher fange
ich mit der vermutlich unkompliziertesten Variante an: den Datenspeichern auf dem Server. In dieser
Lösung sehen wir uns an, welche Möglichkeiten Sie für die Anordnung der UDS-Ordner, für die Einrichtung von Freigaben, für die Zugriffssteuerung, für die Vergabe von Kontingenten und für die Bereitstellung von Benutzerdatenspeichern haben. Nach den beiden Erörterungen über den Entwurf in den
vorherigen Lösungen sind Sie sicher erfreut, dass es jetzt an die Technologie geht.
Blicken wir zunächst auf die in Lösung 3.2 auf Seite 181 eingeführte Terminologie zurück, die sich auf
Entwurf und Einrichtung von UDS-Frameworks bezieht und nicht unbedingt Microsoft-Terminologie
ist. Ein Benutzerdatenspeicher ist ein Einstiegspunkt für eine Datensammlung, der dem Benutzer als
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 189
Schnittstellenelement präsentiert wird, beispielsweise der Ordner Dokumente oder Desktop. Dabei
kann es sich auch um einen echten Ordner handeln, beispielsweise Vorlagen, in dem Microsoft OfficeVorlagen abgelegt sind. Im physischen Datenspeicher sind die Daten tatsächlich gespeichert, was häufig entweder lokal oder auf dem Server der Fall ist. Ist ein physischer Datenspeicher sowohl auf dem
lokalen System als auch auf einem Server vorhanden, wobei deren Inhalt synchronisiert wird,
bezeichne ich den Speicher, auf den der Benutzer zugreift, als primären Speicher.
Laufend kommt der Begriff Namespace vor. Anwendungsdaten ist der Stamm eines Namespace, in dem
Anwendungen ihre Einstellungen ablegen. Das Benutzerprofil ist ebenfalls ein Namespace, genauso wie
die physische Ordnerstruktur auf dem UDS-Server. Der Ort der physischen Datenspeicher lässt sich
mithilfe von DFS-Namespaces zu einer logischen Sicht abstrahieren.
Für die meisten Organisationen gleicht oder ähnelt der gewünschte Endzustand des Benutzerdatennamespace demjenigen in Abbildung 3.1. Unterhalb eines Stammordners für Benutzer (den wir als Stammordner für Benutzerdatenspeicher oder Ordner Benutzer bezeichnen) befindet sich für jeden Benutzer
ein Ordner (der Ordner %username%) und darin Ordner für die einzelnen Datenspeicher des Benutzers.
Abbildung 3.1 Der UDS-Namespace
Die Benutzerdatenspeicher unterhalb des Ordners %username% sind die in Lösung 3.2 skizzierten:
Desktop und Dokumente (umgeleitete Ordner), Sicherungen (Sicherungen der lokalen Dateien des
Benutzers) und Profil. Der Ordner Profil, in dem das Windows XP-Profil abgelegt ist, enthält Anwendungsdaten und Favoriten als Bestandteile des servergespeicherten Profils, der Ordner Profil.V2 das
Benutzerprofil für Windows Vista. Windows Vista verwendet für seine Profile die Erweiterung .V2, um
die Trennung zwischen den älteren Profilen und dem neuen Vista-Profil sicherzustellen (siehe Lösung
3.7). Beachten Sie außerdem, dass der Ordner Profil.V2 keinen Ordner Favoriten aufweist, weil Vista
nämlich die Umleitung dieses Ordners unterstützt und Sie ihn in den Speicher Favoriten des servergespeicherten Profils von Windows XP umleiten können, um ein einheitliches Verhalten für Benutzer zu
schaffen, die mit beiden Plattformen arbeiten. Beachten Sie jedoch, dass Sie den Ordner Favoriten auch
unter Windows XP mit einem Trick umleiten können, den ich Ihnen in Lösung 3.5 auf Seite 217 verrate.
Das Ziel der vorliegenden Lösung besteht darin, eine Konfiguration für den physischen Namespace der
Datenspeicher auf dem Server zu entwerfen (die Ordnerstruktur). In der nächsten Lösung erörtern wir
den SMB-Namespace (Server Message Block) dieser Speicher (die Freigaben), um (mithilfe von DFSNamespaces) zu einer rationellen, logischen Sicht des UDS-Namespace zu kommen. Damit haben Sie
das Rüstzeug, um die folgenden drei Fragen zu beantworten:
„ Wie sind die Ordner für die Datenspeicher auf dem Server selbst strukturiert? Oder anders formuliert: Wie sieht der Ordnernamespace (die Hierarchie) aus?
„ Welche Ordner sind freigegeben?
„ Wie wird diese physische Struktur der Datenspeicher für Benutzer und Administratoren dargestellt?
190 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Zwischen dem physischen Namespace der Datenspeicher auf den Plattenlaufwerken des Servers, den
Freigaben, die angelegt werden, und dem logischen Namespace in der Darstellung für Benutzer und
Administratoren kann es durchaus einen Unterschied geben.
Um diese Fragen beantworten zu können, müssen Sie auch die folgenden beherrschen:
„ Welche NTFS-Berechtigungen müssen vergeben werden?
„ Welche SMB-Einstellungen müssen eingerichtet werden?
„ Welche Kontingente werden zugewiesen?
„ Welche Ordner legen die Administratoren für die Benutzer an, welche richtet Windows automatisch
ein?
Erstellen des Stammordners für den Benutzerdatenspeicher
Zuerst müssen Sie festlegen, wie die serverbasierten Datenspeicher für Benutzerdaten und -einstellungen strukturiert sein sollen. Wir beginnen am oberen Ende des physischen Namespace des UDS-Servers: mit dem Stammordner für den Benutzerdatenspeicher (dem Ordner Benutzer in Abbildung 3.1),
von dem mindestens ein Exemplar vorhanden sein muss. Legen Sie ihn auf dem Laufwerk C:\ des Servers an (auf dem das Betriebssystem installiert ist), sollten sie einen anderen Namen als Benutzer verwenden, weil dieser Ordner dort für die lokalen Benutzerprofile auf dem System reserviert bleiben
sollte. Ihr Server hat hoffentlich ein eigenes Datenlaufwerk, auf dem Sie einen Ordner Benutzer unter
Beibehaltung dieses Namens einrichten können. Wir beginnen mit der Sicherung dieses Ordners und
betrachten anschließend, welche Faktoren bestimmen, wie viele Stammordner für Benutzerdatenspeicher Sie auf dem UDS-Server brauchen.
Gewähren der geringsten Berechtigungen für den Stammordner
Sie sollten der Stammordner für Benutzerdatenspeicher (Benutzer in Abbildung 3.1) mit den geringsten
möglichen NTFS-Berechtigungen schützen. Sie unterscheiden sich von denen, die Windows beim
Anlegen eines neuen Ordners vergibt. Im nächsten Abschnitt stelle ich ein Skript für die Automatisierung der Anwendung von Berechtigungen bereit, das folgendermaßen aussehen sollte:
System: Zulassen: Vollzugriff (Übernehmen für: Diesen Ordner, Unterordner und Dateien)
Diese Option ermöglicht Diensten, die unter dem Systemkonto ausgeführt werden, den Zugriff auf
den Datenspeicher. Windows erteilt standardmäßig diese Berechtigung.
Administratoren: Zulassen: Vollzugriff (Übernehmen für: Diesen Ordner, Unterordner und
Dateien) Es ist in Unternehmen üblich, den Administratoren Vollzugriff zu geben. Sie haben das
Recht, den Besitz jeder Ressource zu übernehmen und dadurch Zugriff auf alle Ressourcen auf dem
Server zu erhalten. Daher kann man behaupten, es habe keinen Sinn, im Zusammenhang mit Benutzern, die bereits zur Administratorengruppe gehören, über »geringste Berechtigung« zu sprechen.
Zunächst jedoch muss die Mitgliedschaft in dieser Gruppe erworben werden. Ob für Administratoren in Ihrem Unternehmen der Vollzugriff angemessen ist, sollte sich aus Ihrer Informationssicherheitsrichtlinie ergeben. Ändern Sie das Skript nach Bedarf, um den Umfang der Zugriffsberechtigungen für Administratoren zu reduzieren.
ACL_User Data and Settings_Admin: Zulassen: Ordner erstellen; Lesen, Ausführen (Übernehmen für: Nur diesen Ordner) Dieser Zugriffssteuerungseintrag auf Rollenbasis erlaubt der
Gruppe ACL_User Data and Settings_Admin, im Stammordner für den Benutzerdatenspeicher
Unterordner anzulegen, und gibt ihr Leseberechtigung im Stammordner. Den Gruppennamen legen
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 191
natürlich Sie fest. Um sich an die Empfehlungen in der Lösungssammlung 1, »Rollenbasierte Verwaltung«, zu halten, schlage ich einen Namen folgender Art vor: ACL_User Data and
Settings_Admin (Gruppentyp_Gültigkeitsbereich_Befugnis). Es handelt sich nicht um die Gruppe,
die bestimmt, ob der Stammordner für Benutzerdatenspeicher auf diesen Server gehört oder nicht –
das ist Sache der Serveradministratoren aufgrund ihrer im vorherigen Eintrag festgelegten Berechtigungen. Sobald der Stammordner für Benutzerdatenspeicher vorhanden ist, kann diese Gruppe
aber Unterordner für Benutzer darin anlegen. Natürlich ist es möglich, dass eine Rolle (beispielsweise Netzwerktechniker) Mitglied der Gruppen Administratoren und ACL_User Data and
Settings_Admin ist.
ACL_User Data and Settings_Admin: Zulassen: Vollzugriff (Übernehmen für: Nur Unterordner
und Dateien) Dieser rollenbasierte Zugriffssteuerungseintrag erlaubt derselben Gruppe
ACL_User Data and Settings_Admin den Vollzugriff auf sämtliche Benutzerdatenspeicher. Mit dieser Berechtigung, die für alle Objekte unterhalb des Stammordners für Benutzerdatenspeicher gilt,
nicht jedoch für den Stammordner selbst, hat die Gruppe vollen Zugriff auf die Ordner, die sie mithilfe der vorherigen Berechtigung angelegt hat.
ACL_User Data and Settings_Audit: Zulassen: Lesen (Übernehmen für: Diesen Ordner, Unterordner und Dateien) Üblicherweise haben Organisationen eine Gruppe, die Benutzerdaten überwachen (lesen), aber aus Sicherheitsgründen nicht ändern darf. Das wird mit dieser Berechtigung
erreicht.
Im Augenblick reichen die aufgeführten Berechtigungen aus, wenn Sie als Mitglied der Gruppe
ACL_User Data and Settings_Admin vorhaben, die Ordner %username% für die einzelnen Benutzer
anzulegen. Anders ausgedrückt: Wenn Sie im Ordner Benutzer die Unterordner für die einzelnen Benutzer anlegen und jedem Benutzer die Berechtigung für seinen Ordner geben, braucht keine Gruppe
Benutzer NTFS-Berechtigungen für den Stammordner! Das ist »geringste Berechtigung«, behaupte
ich! Standardmäßig erteilt Windows der Gruppe Jeder das Recht Auslassen der durchsuchenden Überprüfung. Damit können die Benutzer über einen oder mehrere übergeordnete Ordner, für die sie keine
Berechtigung haben, auf einen UNC-Pfad (Universal Naming Convention) zugreifen, solange sie die
Berechtigung für dessen Ziel haben. Wenn die Datenspeicher von James Fine im Stammordner
E:\Users\jfine gespeichert sind, er die Berechtigung für den Ordner jfine besitzt und der Ordner Benutzer mit den beschriebenen Berechtigungen versehen und freigegeben ist, funktioniert also alles.
Wichtig Möglicherweise klingt das Anlegen eines Unterordners für jeden Benutzer nach viel Arbeit. Wie Sie
sehen werden, bringen Probleme im Zusammenhang mit Kontingenten und servergespeicherten Profilen Sie
aber sowieso in eine Lage, in der Sie die Unterordner für die einzelnen Benutzer wahrscheinlich vorher anlegen wollen. Die Möglichkeit, den Stammordner für Benutzerdatenspeicher (also den Ordner Benutzer) vollständig zu sperren, ist ein großer Sicherheitsgewinn. Außerdem vereinfacht das vorherige Anlegen der
Benutzerordner (%username%) die Vergabe von Kontingenten, wie ich später erläutern werde. Die vorliegende Lösungsgruppe umfasst einige Skripts zur Automatisierung der Einrichtung von Benutzerdatenordnern.
Legen Sie diese Ordner nicht im Voraus an, erledigt Windows dies automatisch, wenn sich ein Benutzer
anmeldet und die Konfiguration für sein servergespeichertes Profil oder einen umgeleiteten Ordner
erhält. Dazu müssen die Zugriffssteuerungseinträge in die folgende Liste im Ordner Benutzer einfügen:
<Benutzergruppe>: Zulassen: Lesen, Ausführen (Übernehmen für: Nur diesen Ordner) Diese
Berechtigung ist erforderlich, damit Windows die Speicher automatisch anlegt. Die Gruppe, der Sie
diese Berechtigung erteilen, sollte nur Benutzer enthalten, die Datenspeicher auf dem Server haben.
192 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Sie können die Gruppe Authentifizierte Benutzer wählen, wenn es sich um den einzigen UDS-Server in Ihrem Unternehmen handelt. Andernfalls legen Sie die Gruppe genauer fest. Die Berechtigung Lesen, Ausführen ermöglicht den Benutzern, ihre Ordner vom Stammordner aus zu sehen.
<Benutzergruppe>: Zulassen: Ordner erstellen / Daten anhängen (Übernehmen für: Diesen Ordner, Unterordner; Berechtigungen nur in diesem Container übernehmen) Mit dieser Berechtigung kann Windows automatisch Datenspeicher für Benutzer anlegen. Die Gruppe, der Sie diese
Berechtigung geben, sollte nur Benutzer enthalten, die Datenspeicher auf dem Server haben. Sie
können die Gruppe Authentifizierte Benutzer wählen, wenn es sich um den einzigen UDS-Server in
Ihrem Unternehmen handelt. Andernfalls legen Sie die Gruppe genauer fest. Wird die Berechtigung
Ordner erstellen / Daten anhängen einem Ordner zugewiesen, ist es möglich, Unterordner anzulegen. Mit den geerbten Einstellungen Übernehmen für: Diesen Ordner, Unterordner und Berechtigungen nur in diesem Container übernehmen haben wir Windows ermächtigt, im Auftrag des
Benutzers einen Ordner erster Ebene (%username%) und weitere untergeordnete Ordner (Dokumente, Desktop, Profil) anzulegen.
Ersteller-Besitzer: Zulassen: Vollzugriff (Übernehmen für: Nur Unterordner und Dateien) Dieser Zugriffssteuerungseintrag erstellt eine Berechtigungsvorlage für den Benutzer, der eine Datei
oder einen Unterordner anlegt. Beim Anlegen der einzelnen Ordner erbt er die Berechtigung des
Erstellers und Besitzers des jeweiligen Ordners (Vollzugriff).
Erstellen von Berechtigungen für den Stammdatenordner mit UDS_DataRoot_ACL.bat
Diese Berechtigungen klingen kompliziert, nicht wahr? Es ist tatsächlich ein wenig kompliziert, sie in
der Benutzerschnittstelle einzurichten, insbesondere, was die Vererbung betrifft. Es klingt, als wäre ein
Skript hier ganz günstig. Im Ordner Scripts des Begleitmediums finden Sie das Skript UDS_DataRoot_ACL.bat, das einem Stammordner für Benutzerdatenspeicher die gerade beschriebenen Berechtigungen zuweist. Rufen Sie es mit einem Parameter auf, der den Pfad zum Stammordner für Benutzerdatenspeicher angibt – beispielsweise folgendermaßen:
UDS_DataRoot_ACL.bat E:\Users
Führen Sie es als Administrator des Servers aus. Hier das Listing:
UDS_DataRoot_ACL.bat
@echo off
:: KONFIGURATION
:: Definieren von Gruppen, die Berechtigungen erhalten
Set GRP_ADMIN="ACL_User Data and Settings_Admin"
Set GRP_USERS="Authenticated Users"
Set GRP_AUDIT="ACL_User Data and Settings_Audit"
:: Prüfung, ob Nutzung angefordert oder erforderlich ist
if "%1"=="?" goto usage
if "%1"=="/?" goto usage
if "%1"=="" goto usage
Set DIRA="%1"
cls
:: Anlegen des Ordners
if not exist %DIRA% md %DIRA%
:: Zurücksetzen des Ordners, um den expliziten Zugriffssteuerungseintrag
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 193
:: für den Benutzer loszuwerden, der das Skript als Administrator ausführt:
icacls %DIRA% /reset 1>NUL
:: Versuch, die Vererbung mit icacls zu entfernen
:: Setzt die Version von icacls.exe voraus, die zu
:: Windows Vista SP1 oder Windows Server 2008 gehört
:: Anlegen eines Flags, das anzeigt, ob es geklappt hat
set manualinherit=0
icacls %DIRA% /inheritance:r 1>NUL 2>NUL
if errorlevel==1 set manualinherit=1
:: Zuweisen von Berechtigungen an den Ordner
:: KONFIGURATION
:: Passen Sie diese Zeilen Zeilen an Ihre Sicherheitsrichtlinie an
:: System: Vollzugriff (Übernehmen für: Diesen Ordner, Unterordner und Dateien
icacls %DIRA% /grant SYSTEM:(OI)(CI)(F) 1>NUL
:: Administratoren: Vollzugriff
icacls %DIRA% /grant Administrators:(OI)(CI)(F) 1>NUL
:: Gewähren des Vollzugriffs für die Gruppe, die die Benutzerdatenordner
:: administriert, außerdem der Berechtigung zum Lesen und Anlegen von Ordnern,
::damit sie die Unterordner der ersten Ebene (%%username%%) unter dem Benutzerdatenordner
::anlegen kann
icacls %DIRA% /grant %GRP_ADMIN%:(OI)(CI)(IO)(F) 1>NUL
icacls %DIRA% /grant %GRP_ADMIN%:(NP)(RX,AD) 1>NUL
:: Erteilen der Leseberechtigung für eine Gruppe, die die Sicherheitsüberwachung durchführt
icacls %DIRA% /grant %GRP_AUDIT%:(OI)(CI)(RX) 1>NUL
:: Wenn Sie für jeden Benutzer Unterordner unterhalb des Stammordners
:: für Benutzerdaten bereitstellen, hat jeder Benutzer einen Ordner,
:: BEVOR er ein servergespeichertes Profil hat oder die Ordnerumleitungsrichtlinie
:: angewendet wird, und braucht keine Berechtigungen für den Stammordner
:: für Benutzerdatenspeicher, sondern nur für den eigenen Ordner.
:: Soll Windows jedoch die Ordner für die Benutzer anlegen,
:: rufen Sie das Skript mit AddUsers auf.
if not "%2"=="AddUsers" goto complete
icacls %DIRA% /grant %GRP_USERS%:(NP)(RX) 1>NUL
icacls %DIRA% /grant %GRP_USERS%:(CI)(NP)(AD) 1>NUL
icacls %DIRA% /grant "CREATOR OWNER":(OI)(CI)(OI)(F) 1>NUL
:complete
if %manualinherit%==1 goto:fixinherit
echo Permissioning of %1 complete.
echo.
echo Resulting permissions for visual confirmation:
icacls %DIRA%
echo.
goto:eof
:fixinherit
194 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
:: Skript konnte die Vererbung nicht mit cacls entfernen
:: Aufforderung an den Benutzer, es manuell zu tun
echo Unable to remove inheritance using icacls.exe.
echo.
echo Remove inheritance manually.
echo ---------------------------echo Open the security properties for %DIRA%
echo and click the Advanced button. On the Permissions tab,
echo deselect the check box that allows inheritance from the parent.
echo When prompted to Copy or Remove inherited permissions,
echo choose REMOVE.
echo.
echo Then return to this command prompt and
pause
echo Permissioning of %1 complete.
echo.
echo Resulting permissions for visual confirmation:
icacls %DIRA%
echo.
goto:eof
:: ===========================================================================
:: ERLÄUTERUNG DER NUTZUNG
:: ===========================================================================
:usage
:: see UDS_DataRoot_ACL.bat for remainder of script
Das Skript gibt die Nutzung an, wenn es ohne Ordnernamen oder mit einer Hilfeoption aufgerufen
wird, entweder ? oder /?. Der Nutzungsblock steht am Ende des Skripts und ist im Listing nicht abgedruckt. Sie finden ihn aber auf dem Begleitmedium.
Das Skript weist drei Variablen für die Gruppennamen zu, denen später Administrator-, Benutzer- und
Überwachungsrechte eingeräumt werden. Fügen Sie in die drei Set-Zeilen die Namen Ihrer entsprechenden Gruppen ein. Anschließend weist es den Pfad, den Sie in der Befehlszeile angegeben haben,
der Variablen DIRA zu. Danach legt es den Ordner an, wenn er noch nicht vorhanden ist, und führt
icacls mit der Option /reset aus, um die Zugriffssteuerungsliste für den Ordner auf den Standardwert
des Ordners zurückzusetzen. Dadurch werden alle expliziten Berechtigungen entfernt, die dem Ordner
zugewiesen wurden, beispielsweise die Berechtigungen des Benutzers, der den Ordner angelegt hat.
Dann versucht das Skript, icacls mit der Option /inheritance auszuführen, um die Vererbung zu löschen.
Da diese Option nur in Windows Server 2008 und Windows Vista SP1 zur Verfügung steht, prüft das
Skript, ob der Befehl gescheitert ist. In diesem Fall informiert es Sie, dass Sie die betreffende Aufgabe
manuell erledigen müssen. Dazu öffnen Sie das Dialogfeld Erweiterte Sicherheitseinstellungen für den
Stammordner der Benutzerdatenspeicher und deaktivieren das Kontrollkästchen, das die Vererbung von
übergeordneten Ordnern zulässt. Auf die Frage, ob Sie die geerbten Berechtigungen kopieren oder entfernen wollen, klicken Sie auf Entfernen.
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 195
Anschließend führt das Skript icacls aus, um sämtliche Berechtigungen zu übernehmen. Dies geschieht
in genau der Reihenfolge, in der sie weiter vorn besprochen wurden, sodass Sie die Erörterung den von
icacls verwendeten Berechtigungsparametern leicht zuordnen können.
Wenn Sie die einzelnen %username%-Ordner unterhalb des Stammordners für Benutzerdatenspeicher
bereitstellen, benötigen die Benutzer keine Berechtigung für den Stammordner selbst. Erstellen Sie die
Ordner nicht selbst, sondern lassen Windows dies automatisch tun, rufen Sie das Skript mit der Option
AddUsers auf, damit es der Benutzergruppe, die mit der Variablen GRP_USERS bezeichnet wird, und
dem Ersteller und Besitzer die benötigten Berechtigungen erteilt.
Anpassen des physischen Namespace an Verwaltungsanforderungen wie Kontingente
Möglicherweise wirkt es merkwürdig, dass wir bisher nur den Stammordner für Benutzerdatenspeicher
(Benutzer) angelegt haben und bereits über Kontingente sprechen. Aber dies ist der richtige Zeitpunkt,
weil Sie beim Lesen der Produktdokumentation den Eindruck bekommen, dass Sie nichts weiter zu tun
brauchen, als automatisch eine Kontingentvorlage auf den Stammordner anzuwenden, und alles ist in
bester Ordnung. Aber nicht so schnell!
Da wir schon in der Lösungsgruppe 2 mit Kontingenten zu tun hatten, wiederholen wir einfach einige
grundlegende Tatsachen zu dieser Einrichtung in Windows Server 2003 R2 und Windows Server 2008.
Kontingente werden jetzt auf Ordnerbasis vergeben, nicht mehr auf Datenträgerbasis. Früher galten sie
für einen Benutzer, und anhand des Dateiattributs Besitzer ließ sich feststellen, ob ein Benutzer sein
eingerichtetes Kontingent überschritten hatte. Jetzt legen die Kontingente unabhängig vom Ersteller der
Daten eine Maximalgröße für den Ordner fest.
Das neue Modell ist für mehr Geschäftssituationen sinnvoll als das alte. Im Kontext eines UDS-Szenarios ist es vollkommen in Ordnung zu sagen: »Ein Benutzer darf x GB Daten für die tägliche Nutzung
bereithalten und y GB für Archive, aber das Benutzerprofil begrenzen wir nicht – so gerät die Synchronisierung des Benutzerprofils nicht in Schwierigkeiten.« Wahrscheinlich wollen Sie genau dies – wenn
nicht jetzt, dann irgendwann später. Sind Sie sicher, dass Sie nie Kontingente verwenden werden, können Sie diese Erörterung überspringen. Aber wer kann schon »nie« sagen? Die Möglichkeit von Kontingenten in der Zukunft hat erheblichen Einfluss darauf, wie Sie Ihre Datenspeicher jetzt strukturieren.
Windows Server 2003 R2 brachte enorme Verbesserungen für den Umgang mit Kontingenten. Erstens
können Kontingente mehrere Schwellenwerte haben, sodass beim Erreichen bestimmter Kapazitätsgrenzen Warnmeldungen per E-Mail gesendet, Einträge im Ereignisprotokoll vorgenommen, Berichte
erstellt oder Befehle ausgeführt werden können. All diese Eigenschaften lassen sich in Kontingentvorlagen festhalten. So können Sie eine Vorlage definieren, die Folgendes besagt: »Die Benutzer können
die folgende Menge Speicherplatz verwenden. Nähern Sie sich dieser Grenze oder erreichen sie sie,
geschieht Folgendes ...« Vorlagen lassen sich auf mehrere Ordner anwenden, und wenn Sie (meine
Lieblingsfunktion) die Vorlage später ändern, ändert sie das Kontingent für alle Ordner, auf die Sie sie
jemals angewendet haben! Bekommen Sie zusätzliche Speicherkapazität und beschließen, dass jeder
Benutzer noch weitere 5 GB haben kann, nehmen Sie eine Änderung an der Vorlage vor, und das war's!
Toll!
196 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Gemeinsames Verwalten der Kontingente für die Ordner Desktop und Dokumente
Werfen Sie einen Blick auf Ihre Datenspeicher und überlegen Sie, wo Sie später einmal Kontingente
verwenden wollen. Zuerst fallen Ihnen sicher die Ordner Desktop und Dokumente ein. Die meisten
Organisationen wollen festlegen, wie viele Daten die Benutzer auf Netzwerkservern ablegen. Dies ist
die erste Stelle, an der das Kontingentmodell von Microsoft für uns nicht funktioniert. Desktop und
Dokumente sind getrennte Ordner. Wollen Sie den einen mit einem Kontingent belegen, den anderen
aber nicht? Teilen Sie ihnen jeweils ein eigenes Kontingent zu? Wie entscheiden Sie, wie viel Speicherplatz der Ordner Desktop und wie viel der Ordner Dokumente eines Benutzers bekommt? Sie sehen,
dass es ein bisschen schwierig wird. Wahrscheinlich möchten Sie die beiden Ordner als Unterordner
eines gemeinsamen Ordners einrichten. Auf diese Weise können Sie dem übergeordneten Ordner ein
Kontingent zuweisen, das die Kapazität für die beiden Unterordner gemeinsam verwaltet. Dann kann
der Benutzer selbst entscheiden, wie viel er in jedem Datenspeicher ablegt. In Abbildung 3.2 sehen Sie
ein Beispiel dafür.
Abbildung 3.2 Die Ordner Desktop und Dokumente sind als Unterordner von %username% eingerichtet,
sodass Sie %username% ein Kontingent zuweisen können
Erstellen von Kontingentvorlagen mit Reserven
Contoso Ltd. hat beschlossen, jedem Benutzer 1 GB Speicherplatz in den Ordnern Desktop und Dokumente zuzuweisen. Ich spare mir die Erörterung, ob das zu viel oder zu wenig ist – Sie müssen in Ihrer
Organisation die aktuelle und die gewünschte Nutzung analysieren. Die Benutzer bekommen E-Mails,
wenn sie sich dieser Grenze nähern, und die Administratoren werden durch Einträge im Ereignisprotokoll gewarnt, wenn Benutzer kurz vor der Kapazitätsgrenze stehen. Bei einem harten Kontingent wäre
ein Benutzer nicht mehr in der Lage, etwas zu speichern, wenn er die 100%-Marke erreicht hat. Die ITAbteilung von Contoso hat jedoch entschieden, den Benutzern (und damit dem Helpdesk) ein wenig
Spielraum zu geben, indem sie einmalig eine automatische Erweiterung um 100 MB bekommen, die
von einer ernst gehaltenen E-Mail begleitet wird. Bewegt sich der Benutzer weiter auf 1.100 MB zu,
nimmt die IT-Abteilung eine Schluss-mit-lustig-Haltung ein und verhindert weitere Zuweisungen.
Dieses Modell lässt sich mit einer individuellen Kontingentvorlage leicht umsetzen. Jede neu erstellte
Vorlage kann von einer bestehenden kopiert werden. Windows Server 2008 bietet zwei verschiedene:
»200 MB-Grenze mit 50 MB Erweiterung« und »250 MB erweiterte Grenze«. Kopieren Sie einfach
diese beiden Vorlagen und ändern Sie ihre Eigenschaften entsprechend den Gegebenheiten Ihrer Organisation. Die beiden Contoso-Vorlagen heißen 1 GB User Data Storage Limit with 100 MB Extension
bzw. 1.1 GB Extended User Data Storage Limit.
Der eigentliche Zauber des Modells tritt in der ersten Vorlage zu Tage – der mit der Erweiterung. Wird
bei dieser Vorlage die 100%-Schwelle erreicht, wird der Befehl dirquota.exe ausgeführt, das Befehlszeilen-Verwaltungsprogramm für Kontingente. Dabei geht es insbesondere um den Befehl, den Sie in
Abbildung 3.3 sehen:
%windir%\system32\dirquota.exe quota modify /path:[Quota Path]
/sourcetemplate:"1.1 GB Extended User Data Storage Limit"
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 197
Abbildung 3.3 Eine Kontingentvorlage wendet mit dirquota eine neue Vorlage an
Der Befehl dirquota quota modify ändert das einem Ordner zugewiesene Kontingent. Der Ordner wird
durch [Quota Path] dargestellt, eine Variable, die der Server in Echtzeit durch den Pfad ersetzt, der die
Kapazität erreicht hat. Der Parameter /sourcetemplate enthält den Namen der Vorlage, die nun gelten
soll.
Das ist ein geschickter Ansatz, und wir kommen noch auf die Idee zurück, Vorlagen auf diese Weise zu
verketten.
Automatische Anwendung von Kontingentvorlagen
Nun kommt das, von dem jeder gern spricht (was aber möglicherweise nicht so toll ist, wie man allgemein glaubt): die automatische Anwendung von Vorlagen. Dahinter steht die Vorstellung, im Stammordner für Benutzerdaten (Benutzer) ein Kontingent einzurichten, das beim Anlegen eines neuen Unterordners automatisch ein Kontingent zuweist. Diese Konfiguration sehen Sie in Abbildung 3.4. Geben
Sie den Pfad des Stammordners (E:\Users) und die anzuwendende Vorlage an (1 GB User Data Storage
Limit with 100 MB Extension) und achten Sie darauf, dass die Option Auto Apply Template And Create
Quotas On Existing And New Subfolders aktiviert ist.
Wie ich bereits erwähnt habe und wie Sie wahrscheinlich wissen, legt Windows die erforderlichen
Unterordner an, wenn Sie für einen Benutzer servergespeicherte Profile oder umgeleitete Ordner einrichten – beispielsweise \\<Namespace>\<Pfad>\%username%\[Documents | Desktop | Profile | usw.].
Wenn es nur den Ordner E:\Users gibt, der als Users$ freigegeben ist, und James Fines Ordner Dokumente und Desktop auf \\server01\users$\jfine\Documents und \Desktop umgeleitet werden, sobald er
sich anmeldet, legt Windows den Ordner jfine und die Unterordner Dokumente und Desktop an. Die
1-GB-Kontingentvorlage wird automatisch auf den Ordner jfine angewendet. Die beiden Ordner Dokumente und Desktop unterliegen dieser gemeinsamen Speichergrenze.
198 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Abbildung 3.4 Automatische Anwendung einer Kontingentvorlage
Keine Kontingente für Speicher von servergespeicherten Profilen
Neben den Ordnern Dokumente und Desktop ist auch der Ordner Anwendungsdaten eines Benutzers ein
wesentlicher Datenspeicher. Diese Ordnerstruktur verbleibt wahrscheinlich aus Gründen, die in späteren Lösungsgruppen behandelt werden, im Benutzerprofil. Außerdem enthält das servergespeicherte
Profil seine Registrierungsdatei, Ntuser.dat, sowie wahrscheinlich den Ordner Favoriten.
Diese Ordner belegen zusammen nicht besonders viel Platz. Ich benutze Windows Vista sehr ausgiebig, wobei meine Ordner AppData\Roaming, Favoriten und Ntuser.dat insgesamt weniger als 40 MB
umfassen. Dafür lohnt sich keine Verwaltung. Außerdem können Kontingentgrenzen irgendeiner Art
für einen Ordner, der die Registrierung eines servergespeicherten Profils enthält, dazu führen, dass die
Datei Ntuser.dat nicht korrekt gespeichert wird, wenn der Ordner das Kontingent erreicht. Ich bin der
Meinung, harte Kontingente stellen für Ordner mit servergespeicherten Profilen ein zu hohes Risiko
dar.
Sie könnten sich jetzt natürlich für weiche Kontingente entscheiden, mit denen Sie Schwellen mit
E-Mails, Einträgen im Ereignisprotokoll, Berichten und Befehlen verknüpfen können – genau wie harte
Kontingente. Sie halten den Benutzer zwar nicht davon ab, Daten über die 100%-Schwelle hinaus zu
speichern, können Ihnen aber dabei helfen, die Nutzung zu überwachen und auf ungewöhnliche Situationen zu achten. Ich meine jedoch, solange Ihre servergespeicherten Profile keine Benutzerdatenspeicher enthalten, sondern nur Benutzereinstellungen, sind Sie besser damit bedient, Ihre Energie auf
die Verwaltung größerer und problemträchtigerer Speicher zu verwenden als auf das servergespeicherte
Profil.
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 199
Das Problem der Platzierung von Profilen und anderen Datenspeichern
Ich habe Ihnen vorgeschlagen, die Ordner Desktop und Dokumente als Unterordner eines Ordners anzulegen, dem nur ein Kontingent zugewiesen ist, sodass die Speicherbelegung des Benutzers in diesen
beiden Ordnern einer gemeinsamen Grenze unterliegt. Außerdem habe ich vorgeschlagen, als übergeordneten Ordner %username% zu wählen (was die Einrichtung der Ordnerumleitung unkompliziert
macht). Was geschieht nun aber, wenn wir das Benutzerprofil im selben physischen Ordnernamespace
unterbringen wollen? Oder wenn unsere Ordner aussehen sollen wie die in Abbildung 3.5?
Abbildung 3.5 Die Ordner Dokumente, Desktop und Profil sind Unterordner von %username%.
Diese Struktur kommt häufig vor, weist aber ein Problem auf. Wenn das Kontingent für den Ordner
%username% gilt, unterliegt der Ordner Profil ebenfalls dem Kontingent. Es kann also dazu kommen,
dass die Profildaten nicht gespeichert werden können, was wirklich problematisch wäre! Stellen Sie
sich nun noch vor, dass es wie in Abbildung 3.6 einen Ordner Sicherungen gibt und für einen Benutzer,
der mit Windows Vista und Windows XP arbeitet, zwei Benutzerprofilordner. Jetzt lässt sich die entscheidende Frage leichter formulieren: Wie verwalten wir die kombinierten Kontingente für Desktop
und Dokumente, wenn es auf derselben Ebene des physischen Namespace noch weitere Ordner gibt?
Abbildung 3.6 Der Namespace für Benutzerdaten und -einstellungen
Wichtig Die Funktionalität, die automatisch eine Vorlage aus dem Ordner Benutzer auf die %username%Ordner anwendet, passt nicht zu einem natürlichen Ordnernamespace für Benutzerdaten und -einstellungen, in dem ein einziger Ordner für einen Benutzer dessen sämtliche Datenspeicher enthält.
Lösung 1: Getrennte physische Namespaces für unterschiedliche Klassen
von Datenspeichern
Jetzt kommt das Konzept der »Klassen von Datenspeichern« zum ersten Mal zum Tragen. In Lösung
3.2 habe ich von Datenklassen als Elementen mit gemeinsamen Anforderungen und deshalb gemeinsamen Verwaltungswerkzeugen und -prozessen gesprochen. E-Mail-Archive bilden eine Datenklasse,
Musiksammlungen von Benutzern eine andere. In dieser Lösung erweitere ich das Konzept auf Klassen
200 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
von Datenspeichern – ganzen Speichern von Daten mit gemeinsamen Anforderungen und daher ähnlicher Verwaltung. Ein Beispiel: Die beiden Benutzerdatenspeicher – Desktop und Dokumente – enthalten ähnliche Datenklassen, insbesondere Dokumente, auf die der Benutzer direkt zugreift. Diese beiden
Benutzerdatenspeicher sind in getrennten physischen Datenspeichern (getrennten Ordnern) auf einem
Server untergebracht, werden aber wahrscheinlich gleichartig verwaltet – beispielsweise durch Umleitung. Aus diesem Grund sage ich, dass sie zu einer Klasse (umgeleiteter) Speicher gehören.
Wir haben hier ein sehr deutliches Beispiel für das Konzept: Die eine Klasse von Datenspeichern enthält Desktop und Dokumente und unterliegt einer Kontingentvorlage mit einem einzigen Kontingent.
Eine andere Klasse von Datenspeichern (Profile) wird anders verwaltet, nämlich ohne Kontingente.
Wollen Sie die Funktionalität der automatischen Anwendung von Kontingentvorlagen einsetzen, müssen Sie die Ordner der obersten Ebene für die betreffenden Namespaces trennen, wie Abbildung 3.7
zeigt. Die Ordner der obersten Ebene, Benutzer und Sicherungen, sind für die automatische Anwendung geeigneter Kontingentvorlagen auf jeden Ordner in %username% eingerichtet. Der Ordner Profile auf der obersten Ebene sieht keine Kontingente vor oder wendet nur eine Vorlage mit einem weichen Kontingent an, das eine Speicherung über die 100%-Schwelle hinaus nicht verhindert.
Abbildung 3.7 Getrennte Namespaces für Klassen von Datenspeichern,
die unterschiedlichen Kontingenten unterliegen
Wie viele Unterordner Sie einrichten, hängt davon ab, wie viele Datenspeicher zu den einzelnen Datenspeicherklassen gehören. Benutzerdaten liegen beispielsweise in zwei Datenspeichern: in Desktop und
Dokumente. Sie müssen Unterordner desselben Ordners sein, damit die Anwendung von Kontingenten
mit der Automatikfunktion unterstützt wird. Wenn dagegen der Ordner Sicherung der einzige Datenspeicher für einen Benutzer im Namespace Sicherungen ist, können Sie ohne den Unterordner auskommen, oder? Das sehen Sie in Abbildung 3.7 rechts.
Besteht die Möglichkeit, dass sich Benutzer mit einem servergespeicherten Profil während ihrer Zugehörigkeit zu Ihrem Unternehmen bei Windows Vista- und Windows XP-Rechnern anmelden, sollten
Sie so klug sein, die beiden separaten Profile einzuplanen, die für die beiden Betriebssysteme erforderlich sind. Der Namespace kann in Form zweier getrennter Unterordner von %username% bereitgestellt
werden, wie Sie in Abbildung 3.7 links sehen, wo die Profilpfadeigenschaft von Benutzer auf \\<Namespace>\<Pfad>\%username%\Profile gesetzt ist. Alternativ können Sie die beiden Profile in Benutzer
in Form von zwei Ordnern mit Benutzernamen anlegen: %username% und %username%.v2, was Sie in
der Abbildung rechts sehen. Die Profilpfadeigenschaft des Benutzerobjekts ist auf \\<Namespace>\
<Pfad>\%username% gesetzt. In beiden Fällen fügt Windows Vista die Erweiterung .V2 automatisch
an. Sie brauchen dies im Profilpfad des Benutzers nicht selbst zu tun und sollten es auch nicht.
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 201
Die Vorteile Der wesentliche Vorteil der Verwendung separater physischer Namespaces für die verschiedenen Klassen von Datenspeichern besteht darin, dass Sie automatisierte Verwaltungsfunktionen
nutzen können, in diesem Zusammenhang also die Funktion der automatischen Anwendung von Kontingentvorlagen. Wahrscheinlich gibt es noch weitere Verwaltungsaufgaben, die sich leichter erledigen
lassen, wenn alle Daten mit ähnlicher Verwaltung an einer Stelle liegen. Das scheint sinnvoll, nicht
wahr? Fassen Sie ähnlich verwaltete Dinge zusammen, dann können Sie sie leichter handhaben. Dateiprüfungen, in denen Sie festlegen können, welche Dateitypen die Benutzer in einem bestimmten Ordner
ablegen können, werden mithilfe von Vorlagen weitgehend ähnlich wie Kontingente gehandhabt und
lassen sich ebenfalls leichter anwenden, wenn Sie Daten mit ähnlicher Verwaltung in Gruppen zusammengefasst haben. Später werden wir noch einen kleineren möglichen Konflikt zwischen servergespeicherten Profilen und Offlinedateien behandeln. Die Unterbringung der Profilspeicher, die kein Zwischenspeichern zulassen sollten, in einem anderen physischen Namespace als dem der umgeleiteten
Ordner erleichtert die Lösung dieses Konflikts.
Wichtig Die physischen Namespaces in Abbildung 3.7 ermöglichen beide die Nutzung der Funktion zur
automatischen Anwendung von Kontingentvorlagen für die einzelnen %username%-Unterordner. Die Verwendung getrennter physischer Namespaces für unterschiedliche Klassen von Datenspeichern vereinfacht
deren Verwaltung.
Die Nachteile Die Nachteile getrennter physischer Namespaces für unterschiedliche Klassen von
Datenspeichern lassen sich in zwei Kategorien unterteilen. Die erste ist kosmetisch. Administratoren
mögen die Daten eines Benutzers nicht an unterschiedlichen Stellen haben, wie es in Abbildung 3.7 der
Fall ist. Dazu zwei Anmerkungen: Erstens können Sie den physischen Namespace zu einer logischen
Sicht von Benutzerdatenspeichern abstrahieren wie in Abbildung 3.8 (die Ihnen allmählich sehr vertraut vorkommen sollte!). Mithilfe von DFS-Namespaces gelangen Sie zu einer gegliederten, rationellen, logischen Sicht – wie auch immer Sie sie nennen möchten – Ihres physischen Namespace. Darüber
in Kürze mehr. Den physischen Namespace brauchen Sie nur zu sehen, wenn Sie über Remotedesktop
mit dem Server verbunden sind und das Festplattenlaufwerk im Windows Explorer betrachten oder
wenn Sie in einen übergeordneten Ordner wie die verborgene Laufwerksfreigabe wechseln (beispielsweise E$) und von dort nach unten gehen.
Abbildung 3.8 Der Namespace für Benutzerdaten und -einstellungen
Mein zweiter Gedanke zum »Aussehen« unterschiedlicher Namespaces lautet, dass es wesentlich wichtiger ist, die Daten wirkungsvoll verwalten zu können. Ich weiß, dass wir alle gewöhnt sind, die »Daten
von Benutzer X« den »Daten von Benutzer Y« gegenüberzustellen. Betrachten Sie jedoch Datenverwaltungsaufgaben – z.B. Sicherheit, Kontingente, Offlinenutzung, Synchronisierung usw. –, so stellen
Sie fest, dass es mehr Gemeinsamkeiten über Datenspeichergrenzen hinweg gibt als innerhalb der
Datenspeicher eines Benutzers. Anders gesagt: Es ist wahrscheinlicher, dass Sie die Musiksammlungen
von Benutzer X und Benutzer Y auf dieselbe Weise verwalten (beispielsweise von Ihrem Server fernhalten) als die unterschiedlichen Datenklassen desselben Benutzers (Sie werden die Musiksammlung
von Benutzer X wohl kaum genauso verwalten wie seine E-Mail-Archive).
202 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Langer Rede kurzer Sinn: Wenn Sie sich Sorgen über das Aussehen des physischen Namespace
machen, schlage ich Ihnen bei allem Respekt vor, sich davon freizumachen.
Die Arbeit mit getrennten Klassen von Datenspeichern bietet eine zweite Herausforderung. Wie legen
Sie genau fest, welche Datenspeicher in welcher Klasse untergebracht werden, und wie erreichen Sie
das? Was wir bisher aufgezeigt haben, scheint einfach: Desktop und Dokumente als ein Datenspeicher,
Profile als weiterer, Sicherungen als dritter. Es wird aber nicht nur drei geben. Was ist mit den E-MailArchiven? Werden sie genauso verwaltet wie Desktop und Dokumente? Oder gehören sie zu Sicherungen? Oder werden sie noch anders gehandhabt? Am Ende können Sie unzählige Datenspeicherklassen
haben und damit unzählige Stammordner für diese Klassen.
Umgehen der Nachteile DFS-Namespaces helfen Ihnen, den physischen Namespace ausgehend von
Datenspeicherklassen als benutzerbasierten logischen Namespace darzustellen. Es gibt keine echte
Hilfskonstruktion, die Ihnen hilft, eine neue Datenspeicherklasse auf elegante, einfache Weise hinzuzufügen. Es muss einfach erledigt werden.
Lösung 2: Verwalten einzelner Datenspeicher statt Datenspeicherklassen
Nun wird es kompliziert, nicht wahr? Sehen wir uns also eine Alternative an. Sie besteht darin, die
Datenspeicher eines Benutzers einem einzigen Ordner unterzuordnen, %username%, und sie einzeln zu
verwalten. Das Ergebnis sieht dann so aus wie in Abbildung 3.9.
Abbildung 3.9 Datenspeicher, die unter %username% verwaltet werden
Hier haben wir jetzt deutlich gemacht, dass Desktop und Dokumente in Wirklichkeit Komponenten
eines einzigen Speichers für Benutzerdaten sind, indem wir sie zu Unterordnern des Ordners Daten
gemacht haben, für den natürlich das gemeinsame Kontingent für die beiden Unterordner gilt. Die Vorund Nachteile dieser Lösung sehen genau umgekehrt aus wie bei Lösung 1.
Während wir an dieser Lösung arbeiteten, haben wir erkannt, dass es noch andere Datenspeicher gibt,
die Sie möglicherweise auf dem Server ablegen und in die Datenkontingente der Benutzer einbeziehen
möchten. Abschließend sieht der alleinige Benutzernamespace eher aus wie in Abbildung 3.10.
Abbildung 3.10 Weitere Datenspeicher, die unter %username% verwaltet werden
3.3 Erstellen, Sichern und Verwalten von serverseitigen Benutzerdatenspeichern 203
Die Vorteile Jetzt ist es einfach, die Datenspeicher eines Benutzers im physischen Namespace auf
dem Server zu finden und damit zu arbeiten. Außerdem haben Sie keine Probleme mehr mit der Vermehrung der Datenspeicherklassen. Sie können neue Datenspeicher in den alleinigen benutzerbasierten
Namespace einfügen.
Die Nachteile Sie verlieren jedoch einige der automatisierten Verwaltungsfunktionen, die Regeln als
Schutzvorrichtung anwenden. Auf den Ordner %username% wenden Sie außer Sicherheitsberechtigungen nur wenige Regeln an. James' Ordner Dokumente müssen Sie jetzt als besonderen Unterordner seines
Ordners behandeln, den gleichnamigen Ordner von Lorrin als besonderen Unterordner ihres Ordners.
Abhilfe für die Nachteile Um den Nachteil auszugleichen, dass die Elemente einzeln verwaltet werden
müssen, können Sie an der Automatisierung und Vorsorge für ihren Lebenszyklus arbeiten.
Meine Empfehlung
Im gesamten Verlauf des Buches ist die Rede von Automatisierung und Vorsorge, weil ich dies für den
Schlüssel zu produktiver Verwaltung halte. Was vermuten Sie? Ich empfehle die zweite Lösung. Wenn
Sie Werkzeuge entwickeln, die die Verwaltung automatisieren, können Sie diese laufend an veränderte
Geschäftsanforderungen anpassen. Die integrierten Verwaltungswerkzeuge von Microsoft erlauben
Ihnen vielleicht, Kontingentvorlagen auf eine bestimmte Weise automatisch anzuwenden, die heute
passt. Bauen Sie Ihr Framework aber um eine Technologie herum, die Sie nicht selbst steuern, stehen
Sie auf verlorenem Posten, wenn sich die Technologie ändert oder sich Ihre Unternehmensanforderungen von dem Modell entfernen, das die Technologie unterstützt.
Erstellen von Datenspeichern
Es gibt viele Gründe, aus denen Sie Speicher für Benutzerdaten und -einstellungen anlegen. Sehen wir
uns als erstes Beispiel die Kontingentverwaltung an und erarbeiten eine Lösung, die Benutzerordner
mit Berechtigungen, Besitzern und Kontingenten erstellt.
Verwenden von UDS_UserFolders_Provision.vbs
Im Ordner Scripts des Begleitmediums finden Sie mehrere Skripts, die Ordner für Benutzerdaten
bereitstellen. Das ausgefeilteste und damit wahrscheinlich das, das Sie verwenden möchten, ist
UDS_UserFolders_Extended_Provision.vbs. Wir gehen von einem bescheideneren Ausgangspunkt
aus, nämlich UDS_UserFolders_Provision.vbs, und bauen dieses Skript bis zum Stand des oben
genannten aus. Es wird mit einem einzigen Argument aufgerufen: dem Pfad zum Ordner %username%:
cscript UDS_UserFolders_Provision.vbs e:\users\Benutzername
Das Skript geht davon aus, dass der letzte Ordner im Ordnerpfad ein Benutzername ist und bereits ein
Benutzer mit dem entsprechenden Prä-Windows 2000-Anmeldenamen existiert. Es legt alle Unterordner an, die zum Erstellen des in Abbildung 3.9 gezeigten Namespace erforderlich sind. Nebenbei erledigt es noch folgende Dinge:
„ Es wendet ein Kontingent auf den Ordner Daten an, der Desktop und Dokumente enthält. Die Kontingentvorlage muss bereits definiert sein.
„ Es stellt sicher, dass für die Ordner %username% und Profile die Vererbung aktiviert ist, um ein
problematisches Verhalten beim Erstellen des Ordners für serverbasierte Profile zu beheben. Dieses
Verhalten werden wir später im Rahmen dieser Lösung behandeln.
204 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Es überträgt dem Benutzer den Besitz an der Ordnerstruktur %username%. Da es unter anderen
Anmeldedaten als denen des Benutzers ausgeführt wird, ist das Konto Besitzer, das das Skript startet. Deshalb wird das Eigentum ganz am Ende des Skripts an den Benutzer übergeben.
Noch einige wichtige Anmerkungen zu diesem Skript:
„ Der Besitz wird dem Benutzer mithilfe von icacls.exe übertagen. Sie müssen das Skript auf einem
System mit Windows Server 2008 oder Windows Vista SP1ausführen, weil die Version von icacls.exe auf anderen Plattformen den Befehl /setowner nicht korrekt ausführt.
„ Sie können das Skript über das Netzwerk auf einem Server mit Windows Server 2008 oder Windows Server 2003 ausführen, aber die Anmeldedaten, mit denen Sie es starten, müssen über die
Berechtigungen zum Anlegen des angegebenen Ordners sowie den Vollzugriff auf den Ordner und
seine Unterordner verfügen. Außerdem benötigen sie das Benutzerrecht zum Wiederherstellen von
Dateien und Verzeichnissen, um dem Benutzer den Besitz erfolgreich übertragen zu können.
„ Als Mitglied der Administratorengruppe können Sie das Skript auch direkt auf einem System mit
Windows Server 2008 ausführen, wenn Sie lokal angemeldet sind oder Remotedesktop benutzen.
Mit einigen Scriptingkenntnissen sollten Sie dem Skript ohne besondere Mühe folgen können. Für
jeden Unterordner gibt es einen kurzen Codeblock, der mit einer IF/THEN-Struktur die einzelnen
Unterordner anlegt und bei Erfolg die gesamte Verwaltung der Unterordner erledigt. Verwaltungsaufgaben wie das Zuweisen eines Kontingents an den Unterordner Daten werden mit Befehlszeilenwerkzeugen wie dirquota.exe ausgeführt.
„
Hinweis In Lösung 3.5 auf Seite 217 finden Sie ein Skript, das alle Namespaces für einen Benutzer anlegt:
die NTFS-Ordner (mit Kontingenten), die SMB-Freigaben und die DFS-Namespaces. Es hebt
UDS_UserFolders_Provision.vbs auf die nächste Stufe.
Konfigurieren von Dateiprüfungen
Falls Ihre Richtlinien zur Informationssicherheit oder IT-Nutzung verbieten, bestimmte Arten von
Dateien auf Netzwerkservern abzulegen, können Sie Dateiprüfungen verwenden, die von Windows
Server 2003 R2 und Windows Server 2008 unterstützt werden. Sie sind mit einem Ordner verknüpft
und legen fest, welche Dateierweiterungen verboten sind und was geschieht, wenn ein Benutzer versucht, eine solche Datei abzulegen. Die Windows-Dokumentation zeigt Ihnen, wie Sie Dateiprüfungen
anlegen. Sie ähneln Kontingenten. Genau wie bei diesen können Sie Vorlagen erstellen, die anhand der
Dateitypen bestimmen, was ausgelöst werden soll: E-Mail-Meldungen, Berichte, Einträge im Ereignisprotokoll oder Befehle. Diese Vorlagen lassen sich dann auf Ordner anwenden. Außerdem gibt es ein
Befehlszeilenwerkzeug namens filescrn.exe, das sowohl den Vorgang als auch die Snap-Ins für die
Benutzeroberfläche und die Konsolen verwaltet.
Zusammenfassung
Wir haben einige Punkte im Zusammenhang mit dem physischen Namespace für Benutzerdatenspeicher auf UDS-Servern berührt, die ich noch einmal besonders herausstellen möchte:
„ Bevor Sie den physischen Namespace anlegen, sollten Sie die Notwendigkeit der Verwaltung von
Datenspeichern bedenken. Wollen Sie verschiedene Datenspeicherklassen getrennt in eindeutigen
Namespaces unterbringen, wie es Abbildung 3.7 zeigt, oder wollen Sie die Benutzerdatenspeicher
in einem benutzerzentrierten Datenspeicher gliedern wie in den Abbildungen 9 und 10? Möglicherweise brauchen Sie mehrere Stammordner für Benutzerdatenspeicher.
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher 205
Den Stammordner für Benutzerdatenspeicher (Benutzer) müssen Sie mit den geringstmöglichen
Berechtigungen ausstatten, nachdem Sie ihn angelegt haben.
„ Indem Sie mindestens den Ordner %username% anlegen, vermeiden Sie es, Benutzern Berechtigungen für den Ordner Benutzer geben zu müssen – mit dem Recht Auslassen der durchsuchenden
Überprüfung können diese ihre %username%-Ordner erreichen.
„ Mit dem Skript UDS_UsersFolder_Provision legen Sie den Ordner %username% und alle Unterordner an.
„ Jeder Benutzer muss die Berechtigung für seinen Ordner %username% bekommen. Insbesondere
benötigt er Vollzugriff und sollte Besitzer sein.
„ Servergespeicherte Profile verhalten sich merkwürdig. Zeigt der Profilpfad eines Benutzers auf
\\<Namespace>\<Pfad>\%username%\Profile, bevor der Ordner %username% vorhanden ist, legt
Windows den Pfad korrekt an, deaktiviert aber die Vererbung für die Ordner und ignoriert die Gruppenrichtlinieneinstellung Sicherheitsgruppe "Administratoren" zu servergespeicherten Profilen
hinzufügen. Damit werden die Administratoren vollkommen ausgesperrt. Sie müssen dafür sorgen,
dass mindestens der übergeordnete Ordner des Profils (in diesem Fall %username%) angelegt und
die Vererbung aktiviert wird und dass der Benutzer Besitzer mit der Berechtigung Vollzugriff ist.
Ein weiterer Grund, die Art von Vorsorgeskripts und Tricks zu verwenden, die ich hier vorgestellt
habe.
„ Der physische Namespace braucht nicht derjenige zu sein, den Sie nach außen hin anzeigen. In der
nächsten Lösung sollen noch ein SMB- und ein DFS-Namespace angelegt werden.
Aus der Mischung all dieser Variablen ergibt sich dann ein empfohlener physischer Namespace folgender Art für Datenspeicher: <Volume>:\Users\%username%[\<Datenspeicherklasse>]\<Datenspeicher>, beispielsweise E:\Users\jfine\Profile oder E:\Users\jfine\Data\Documents. Der Bestandteil
Datenspeicherklasse des Namespace ist besonders für die Ordner Desktop und Dokumente erforderlich,
die im Allgemeinen mit einem einzigen gemeinsamen Kontingent verwaltet werden müssen.
„
3.4 Erstellen der SMB- und DFS-Namespaces
für Benutzerdatenspeicher
Die Lösung im Überblick
Typ
Anleitung und Skripts
Funktionen und Werkzeuge
DFS-Namespaces, freigegebene Ordner
Zusammenfassung
Entwerfen eines SMB- und eines DFS-Namespace, der den
Anforderungen der Organisation an Benutzerdaten und -einstellungen entspricht, und Automatisieren des Anlegens von Namespaces für die einzelnen Benutzer
Vorteile
Erkennen und dadurch Vermeiden häufiger Entwurfsfehler, die
die Kosten für die Unterstützung einer agilen Umgebung in die
Höhe treiben können
206 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Einführung
In der vorangegangenen Lösung haben wir den Namespace für Benutzerdatenspeicher auf dem Server
eingerichtet – also den physischen Namespace für NTFS-Ordner. Wir haben erfahren, dass es erforderlich
sein kann, Benutzerdatenspeicher in getrennten Namespaces unterzubringen, um die Verwaltung auf der
Ebene der NTFS-Ordner zu vereinfachen, beispielsweise die von Kontingenten. Außerdem haben wir
erfahren, dass die Alternative darin besteht, die Bereitstellung der Datenspeicher eines Benutzers zu automatisieren, damit wir sie trotz Beibehaltung eines benutzerzentrierten physischen Namespace angemessen verwalten können. Daraus ergab sich ein physischer Namespace für Benutzerdatenspeicher, dessen
Name etwa folgendermaßen lautet: <volume:>\Users\%username%[\<datenspeicherklasse>]\<datenspeicher> – beispielsweise E:\Users\jfine\Profile oder E:\Users\jfine\Data\Documents.
Nun gehen wir eine Ebene »nach oben« zum SMB-Namespace, um festzustellen, welche Ordner mit
welchen SMB-Einstellungen freigegeben werden müssen, und noch »höher« zum DFS-Namespace, der
es ermöglicht, den physischen und den SMB-Namespace logisch so darzustellen, wie es unseren Unternehmensanforderungen entspricht.
Erstellen des SMB-Namespace für den Benutzerdatenund -einstellungsspeicher
Die meisten Organisationen legen für den Stammordner des Benutzerdatenspeichers eine einzige
SMB-Freigabe an, die häufig einen einfachen Namen wie Users trägt. Da Clients seit Windows 2000
Laufwerke unterhalb einer Freigabe zuordnen und verbinden können, besteht keine Notwendigkeit,
die Ordner der einzelnen Benutzer freizugeben, wie unter Windows NT 4.0. Ich empfehle Ihnen, die
Benutzerfreigabe durch Anhängen eines Dollarzeichens ($) an den Freigabenamen zu verbergen –
beispielsweise Users$.
Eine Freigabe reicht jedoch nicht aus. Wie wir in Lösungsgruppe 2 erörtert haben, steuern die SMBFreigaben die Verbindungseinstellungen, deren wichtigste die für die Zwischenspeicherung sind.
Wahrscheinlich möchten Sie zulassen, dass Daten und Einstellungen in umgeleiteten Ordnern (beispielsweise Desktop und Dokumente) für die Offlinenutzung zwischengespeichert werden. Ich gehe
jedoch davon aus, dass die Sicherungskopie der lokalen Dateien von Benutzern (der Ordner Sicherungen) nicht zwischengespeichert werden soll, weil damit der Zweck der lokalen Dateien vollkommen
unterlaufen wird. Außerdem ist es sehr wichtig, dass die Dateien in der Serverkopie des servergespeicherten Benutzerprofils niemals offline geschaltet werden, weil die Synchronisierungsmechanismen
von Offlinedateien und servergespeicherten Profilen gegenseitig zu Problemen führen können.
Die unerwünschte Wechselwirkung zwischen servergespeicherten Profilen
und Offlinedateien
In Lösung 3.6 werden Offlinedateien ausführlich behandelt. Mit dieser Funktion bekommen Sie die
Möglichkeit, eine Kopie von Dateien aus einem Netzwerknamespace (SMB oder DFS) zwischenzuspeichern. Diese Funktion ist für Benutzerdatenspeicher wie Desktop und Dokumente sehr sinnvoll und
funktioniert gut, wenn sie korrekt entworfen und implementiert ist. Standardmäßig kann der Benutzer
jede beliebige Datei auf jeder beliebigen Netzwerkfreigabe auf einem Windows-Server anheften
(offline verfügbar machen).
Leider gibt es bestimmte Datenspeicher, die nicht offline verfügbar sein sollten, darunter die Serverkopie des servergespeicherten Profils eines Benutzers. Da Profile mit einem anderen Mechanismus
synchronisiert werden als Offlinedateien, kann es zu Konflikten kommen, wenn ein System Teile des
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher 207
Profils als Offlinedateien zwischenspeichert. Ich bezeichne dies als »Problem durch Zwischenspeichern des servergespeicherten Profils«.
Weitere Informationen dazu finden Sie in den drei Knowledge-Base-Artikeln 842007, 287566 und
325838 auf der Microsoft-Supportseite (http://support.microsoft.com). Wie der letzte erläutert, hält
Microsoft dieses Problem für bedeutend genug, dass Windows-Clients bei jeder Anmeldung im Ereignisprotokoll eine Warnung hinterlassen (Ereignis-ID 1525), wenn für die Freigabe mit den servergespeicherten Profilen die Offlinezwischenspeicherung aktiviert ist.
Entwerfen eines SMB-Namespace ohne zwischengespeicherte Kopie
Da Sie das Zwischenspeichern nur auf Freigabeebene deaktivieren können und mehr als eine Konfiguration implementieren müssen, benötigen Sie mehrere freigegebene SMB-Ordner. Sie sollten für jede
der folgenden Datenspeicherklassen einen einrichten: Profile, umgeleitete Ordner und Sicherungen.
Die Profile können Sie auch in einem vollkommen abgetrennten physischen Namespace unterbringen
wie in Abbildung 3.7, aber erforderlich ist es nicht. Glücklicherweise können Sie einen NTFS-Ordner
mehrfach freigeben, sodass der Stammordner für Benutzerdatenspeicher (Benutzer) mit der passenden
Konfiguration für jede Freigabe versehen werden kann. Anders ausgedrückt: Wir geben ein und denselben physischen Ordner (beispielsweise E:\Users) als Users$ (mit Zwischenspeicher), Profiles$ (ohne
Zwischenspeicher) und Backups$ (ohne Zwischenspeicher) frei.
Erstellen von SMB-Freigaben als Stamm des Benutzerdatenspeichers
Das Skript UDS_DataRoot_Share.bat im Ordner Scripts des Begleitmediums legt die gerade erläuterten SMB-Freigaben an. Rufen Sie es mit einem Parameter auf, der den Pfad zum Stammordner für
Benutzerdatenspeicher angibt – beispielsweise folgendermaßen:
UDS_DataRoot_Share.bat E:\Users
Das vollständige Skript folgt gleich. Ersetzen Sie die Namen in den Set-Anweisungen einfach durch
Ihre gewünschten Freigabenamen:
UDS_DataRoot_Share.bat
@echo off
::
if
if
if
Set
Set
Set
Set
Prüfen, ob die Nutzung angefordert oder erforderlich ist
"%1"=="?" goto usage
"%1"=="/?" goto usage
"%1"=="" goto usage
UserRoot="%1"
UserDataShare=users$
UserProfileShare=profiles$
UserBackupShare=backups$
cls
echo Creating User Data Root Shares
208 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
net share %UserDataShare%="%UserRoot%" /GRANT:Everyone,Full /CACHE:Manual
/REMARK:"Root data share for all user data stores. Allows offline files."
net share %UserProfileShare%="%UserRoot%" /GRANT:Everyone,Full /CACHE:None
/REMARK:"Root share for all user profiles. Does not allow offline files."
net share %UserBackupShare%="%UserRoot%" /GRANT:Everyone,Full /CACHE:None
/REMARK:"Root share for all user backups. Does not allow offline files."
echo User Data Store Root Shares Created
goto:eof
:: ===========================================================================
:: ERLÄUTERUNG DER NUTZUNG
:: ===========================================================================
:usage
:: Der Nutzungsblock steht im Skript.
Die in der Batchdatei verwendeten net share-Befehle legen die Freigabe an, erteilen die Zulassungsberechtigung Vollzugriff für Jeder und richten die Einstellungen für das Zwischenspeichern auf der
Freigabe ein. Beachten Sie, dass die Zwischenspeicherungseinstellungen für die Freigaben Backups$
und Profiles$ identisch sind. Deswegen kommen Sie natürlich mit einer Freigabe aus, aber ich ziehe
eben eine SMB-Freigabe für jede Datenspeicherklasse vor, obwohl die beiden letzten (Backups$ und
Profiles$) dieselben Einstellungen aufweisen.
Vermeiden der zwischengespeicherten Kopie durch getrennte SMB-Namespaces für Profile
Wir haben für den physischen und den SMB-Namespace unserer Netzwerkdatenspeicher eine bewährte
Struktur angelegt, was jedoch nicht heißt, dass sie aus jeder Sicht perfekt ist. Eine bekannte Schwachstelle weist sie auf.
Alle Datenspeicher liegen in einem gemeinsamen Stammordner, der dreimal freigegeben ist. Jede Freigabe ist mit Einstellungen für das Zwischenspeichern versehen. Benutzer, deren Ordner Dokumente
und Desktop nach \\<Servername>\users$\%username%\[Documents | Desktop] umgeleitet werden,
haben also von der Freigabe users$ die Erlaubnis, Dateien offline verfügbar zu machen. Der Benutzerprofilpfad führt zum Profil \<Servername>\Profiles$\%username%.
Wie bereits erörtert, ist es wichtig, dass Bestandteile der Serverkopie eines Benutzerprofils nicht offline
verfügbar gemacht werden. In diesem Entwurf haben wir es dadurch verhindert, dass das Zwischenspeichern auf der Freigabe Profiles$ deaktiviert ist.
Theoretisch könnte ein Benutzer in Windows Explorer zu \\<Servername>\users$\%username%\
Profiles gehen und so über die Freigabe users$ in sein Profil gelangen. Da diese Freigabe das Zwischenspeichern von Dateien erlaubt, könnte er eine Datei aus dem Profil offline ablegen. Die überaus gute
Nachricht lautet jedoch, dass sich die Datei im Namespace users$ nicht im selben Namespace befindet
wie das servergespeicherte Profil (Profiles$), obwohl sie in der Serverkopie des Profils physisch vorhanden ist. Damit sinkt die Gefahr von Synchronisierungskonflikten auf ein Minimum. Ich kann mir jedoch
vorstellen, dass ein besonders kenntnisreicher und böswilliger Benutzer Wege findet, sein eigenes Profil
in Unordnung zu bringen, wenn er hartnäckig genug ist. Aus diesem Grund ist unser Entwurf »nicht aus
jeder Sicht perfekt«.
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher 209
Alternativ können die Benutzerprofile auf einer ganz anderen physischen Stammfreigabe untergebracht
werden, bei der der Stammordner nur einmal freigegeben wird, und zwar ohne Zwischenspeicherung. In
diesem Fall haben wir aber einen disjunkten Namespace für Benutzerdatenspeicher: Die Profile liegen
an der einen Stelle und alles andere an einer anderen. Die meisten Administratoren, die ich kenne, hätten
die Benutzerdaten gern alle am selben Platz. Dieser Ansatz ist also auch nicht aus jeder Sicht perfekt.
Ich empfehle den von uns entwickelten Ansatz, weil er einfach, gut durchsuchbar, wirkungsvoll und
widerstandsfähig gegenüber den meisten Problemen ist, außer den mit voller Absicht verursachten.
Einige IT-Fachleute haben mir gegenüber geäußert, dass ein Benutzer, der sich so weit vom rechten
Weg entfernt, es verdient, auf das Helpdesk warten zu müssen, wenn sein Rechner dadurch Schwierigkeiten macht. Glücklicherweise gewährleisten die NTFS-Berechtigungen, dass selbst ein Unruhestifter
nur in seinen eigenen Datenspeichern Unheil anrichten kann, jedoch nicht in denen anderer Benutzer.
Entwerfen der logischen Sicht des Benutzerdatenund -einstellungsspeichers mit DFS-Namenräumen
DFS-Namespaces, die in Lösungsgruppe 2 erörtert wurden, geben Ihnen die Möglichkeit, eine logische
oder virtuelle Sicht der Unternehmensressourcen anzulegen. Wenn Sie mit dem verteilten Dateisystem
(Distributed File System, DFS) nicht vertraut sind, sollten Sie sich darüber informieren, denn es spielt
bei der Verwaltung von Benutzerdaten und -einstellungen eine wesentliche Rolle. Seine erste Funktion
besteht darin, eine logische Sicht der Speicher für Benutzerdaten und -einstellungen bereitzustellen –
nicht server-, sondern benutzerzentriert. Für diese logische Sicht gibt es mehrere Entwurfsoptionen, die
ich Ihnen jeweils mit ihren Vor- und Nachteilen vorstellen möchte.
Erstellen eines vollständig aufgelisteten DFS-Namespace für Benutzerdatenund -einstellungsspeicher (DFS-Entwurfsoption 1)
Bei diesem Entwurf legen Sie im DFS-Namespace einen Ordner für jeden Benutzerdatenspeicher an.
Es gibt einen DFS-Ordner für den Benutzer und Unterordner für jeden seiner Speicher (siehe das Beispiel in Abbildung 3.11).
Abbildung 3.11 Ein vollständig aufgelisteter DFS-Namespace enthält eine rationelle,
logische Sicht aller Speicher für Benutzerdaten und -einstellungen.
Der Pfad zum Datenspeicher eines Benutzers ist sehr zweckmäßig: \\domäne\dfs- Namespace\benutzername\speicher. Der Pfad zu James Fines umgeleitetem Ordner Dokumente lautet beispielsweise: \\contoso.com\users\jfine\documents, der Pfad, auf den die Desktop-Ordner aller Benutzer umgeleitet werden,
entsprechend \\contoso.com\users\%username%\desktop. Die untersten Ordner im Namespace stehen
für die Daten- und Einstellungsspeicher und sind im UNC-Format durch den Namespace des UDSServers mit dem physischen Speicher verknüpft. Das Verknüpfungsziel bei James' Ordner Dokumente
lautet beispielsweise \\server01\users$\jfine\documents.
210 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Vorteile Der große Vorteil dieses Entwurfs besteht darin, dass sich ein einzelner physischer Datenspeicher eines Benutzers ohne Weiteres verschieben lässt: Sie ändern einfach das Ziel des DFSOrdners. Änderungen an den Einstellungen der Gruppenrichtlinie, den Attributen der Benutzerkonten,
den Gruppenmitgliedschaften oder sonst irgendwo sind nicht erforderlich. Das ist Beweglichkeit!
Ein weiterer wesentlicher Vorteil liegt darin, dass die Unterordner auf die korrekten SMB-Namespaces
zielen können. Die Ordner Profile und Sicherungen in Abbildung 3.11 zeigen auf die Freigaben Profiles$ und Backups$ auf SERVER01, auf denen das Zwischenspeichern deaktiviert ist. Dagegen zeigen
die Ordner Dokumente und Desktop auf die Freigabe Users$ auf SERVER01, auf denen das
Zwischenspeichern aktiviert ist. Diese beiden getrennten Namespaces werden zu einem einzigen
Namespace zusammengefasst, der auf den Benutzer ausgerichtet ist und durch den Benutzerordner im
DFS-Namespace dargestellt wird.
Nachteile Leider weist dieser Ansatz auch eine Reihe von Nachteilen auf. Erstens müssen Sie die
Ordner im DFS-Namespace anlegen, bevor Sie entweder das Benutzerprofil oder Einstellungen für
umgeleitete Ordner in der Gruppenrichtlinie festlegen, damit der von den betreffenden Pfaden benutzte
Namespace vorhanden ist, bevor Windows-Clients darauf zuzugreifen versuchen. Zweitens kann Windows nicht alle Ordner automatisch erstellen, wie es bei den anderen Optionen für den DFS-Namespace
möglich ist, die ich erörtern werde – Sie müssen einige der physischen Ordner auf dem DFS-Server
selbst anlegen, um dort bestimmte Benutzerdatenspeicher unterzubringen. In der vorangegangenen
Lösung habe ich ein Skript gezeigt, das die physischen Ordner bereitstellt. In dieser Lösung erweitere
ich es zu einem Skript, das alle Schritte so einfach erledigt, dass Sie ohne Probleme einen
leistungsfähigen, beweglichen und vollständig aufgelisteten DFS-Namespace anlegen können. Ein vorgefertigter Ablauf, der viele Schritte für einen vollständig aufgelisteten DFS-Namespace automatisiert,
geht insbesondere diese beiden Nachteile an.
Es gibt aber auch noch eine technische Herausforderung. Unter Windows Server 2003 unterstützen
DFS-Namespaces nur bis zu 5.000 Ordnern mit Zielen. Da jeder Benutzer mehrere Unterordner haben
kann, die auf Datenspeicher zeigen, sind Sie auf etwa 1.000 bis 2.000 Benutzer beschränkt. Auch für
diese Angelegenheit zeige ich Ihnen später einen Ausweg.
Erstellen eines DFS-Namespace für die Stammfreigabe des Benutzerdatenspeichers
mit Umleitung zu den einzelnen SMB-Namespaces (DFS-Entwurfsoption 2)
Die nächste Alternative besteht darin, einen DFS-Namespace anzulegen, dessen Ziel die einzelnen
SMB-Freigaben für die Stammordner der Benutzerdatenspeicher auf den UDS-Servern sind. Das
Ergebnis sehen Sie in Abbildung 3.12.
Abbildung 3.12 DFS-Namespaces, die auf freigegebene Stammordner im SMB-Namespace zeigen
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher 211
In der Abbildung sehen Sie links einen DFS-Ordner, der auf die einzelnen Freigaben zeigt (Users$,
Profiles$ und Backups$). Dadurch ist gewährleistet, dass die Benutzer über die Freigaben mit den
richtigen Cacheeinstellungen auf ihre Ressourcen zugreifen. Der umgeleitete Dokumentordner eines
Benutzers zeigt auf \\contoso.com\users\data\%username%\data\documents, sein servergespeichertes
Profil dagegen auf \\contoso.com\users\profiles\%username%\profile. Die Namen wirken ein wenig
redundant, Sie sollten aber daran denken, dass Sie zwei Namespaces durchqueren: Der erste dataoder profiles-Ordner ist der Ordner im DFS-Namespace, der auf den Stamm des Benutzerdatenspeichers auf SERVER01 zielt, der zweite der echte Unterordner unterhalb des obersten %username%Ordners – der im SMB- oder physischen Namespace liegt. Sehen Sie sich bei Bedarf die früheren
Abbildungen noch einmal an, die den physischen Namespace (die Ordnerhierarchie) auf dem Server
wiedergeben. Haben Sie nur einen UDS-Server, kommen Sie mit der Struktur in Abbildung 3.13 links
aus.
Haben Sie mehrere UDS-Server, müssen Sie die Verknüpfungen in Gruppen zusammenfassen, wie es
der Screenshot rechts in Abbildung 3.12 zeigt, die den Namespace um übergeordnete DFS-Ordner für
geografische Standorte erweitert. Die Struktur, die sich daraus ergibt, ist in vielen bestehenden Implementierungen anzutreffen, ich empfehle sie aber nicht¸ was ich weiter hinten in dieser Lösung begründen werde.
Wichtig Abbildung 3.12 zeigt rechts einen gängigen, aber problematischen Namespace. Verwenden Sie für
Ihre Namespaces keine Standorte oder anderen Konstrukte aus der Realität; die Gründe erläutere ich gleich.
Vorteile Da es weitaus weniger DFS-Ordner gibt, stellt die Unterstützung mehrerer tausend Benutzer
kein Problem dar. Die Komponente %username% des Namespace liegt nicht im DFS-, sondern im
SMB-Namespace (und im physischen).
Nachteile Da sich der Benutzerspeicher und der Benutzerordner nicht mehr im DFS-Namespace
befinden, verlieren Sie die Verwaltungsvorteile, die dieser bietet. Wenn Sie die Datenspeicher eines
Benutzers physisch auf einen anderen Server verschieben müssen, ist es jetzt erforderlich, die Elemente
anzupassen, die für das sorgen, was der Benutzer sieht: die Zielordner der Gruppenrichtlinieneinstellungen für die Ordnerumleitung, den Benutzerprofilpfad und alle Verknüpfungen oder anderen Zeiger, die
durch den ursprünglichen DFS-Namespace gehen.
Die DFS-Entwurfsoptionen im Vergleich
Die erste Entwurfsoption (der vollständig aufgelistete DFS-Namespace) bietet die beste Unterstützung
für ein UDS-Framework, solange Sie über ein Werkzeug zum automatischen Anlegen des Namespace
und einen Plan für den Umgang mit mehr als 1.000 oder 2.000 Benutzern verfügen (bevor Sie mit DFSNamespaces von Windows Server 2008 arbeiten, was wir im nächsten Abschnitt erörtern werden). Die
zweite Option, die weniger Ordner mit Zielen umfasst, kann eine unbegrenzte Zahl von Benutzern unterstützen. Denken Sie über die verbleibenden Zeiger in DFS nach, die im folgenden Abschnitt erwähnt
werden, bevor Sie sich für einen Entwurf entscheiden.
Erstellen eines DFS-Namespace für Tausende von Benutzern
Unter Windows Server 2003 sind DFS-Namespaces auf 5.000 Verknüpfungen beschränkt. Was passiert,
wenn Sie mehr haben? Nun, Sie könnten auf Windows Server 2008-Namespaces umstellen, was die
Domänenfunktionsebene von Windows Server 2008 und DFS-Namespaceerver mit Windows Server
2008 voraussetzt. Windows Server 2008 kennt keine technische Grenze für die Anzahl der Verknüpfungen, die in einem DFS-Namespace unterstützt werden. Sie müssen nur die Leistung überwachen.
212 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Sie können aber auch neue Namespaces anlegen! Unter Windows Server 2003 kann jeder Domänennamespace 5.000 Verknüpfungen enthalten, was die folgenden drei DFS-Namespaces möglich macht:
„ \\contoso.com\usersa
„ \\contoso.com\usersb
„ \\contoso.com\usersc
Jetzt kann jeder Namespace auf der obersten Ebene bis zu 5.000 Verknüpfungen aufnehmen. Unterhalb
der einzelnen Namespaces können Sie die erste Entwurfsoption umsetzen, die den vollständigen Pfad
zum Benutzerdatenspeicher innerhalb des DFS-Namespace enthält. Dann legen Sie Sicherheitsgruppen
mit den Benutzern an, die zu den einzelnen Namespaces gehören, und können für sie damit Ordnerumleitung durch den jeweiligen Namespace einrichten. Die Benutzer werden bei ihrem Eintritt in das
Unternehmen in eine Gruppe aufgenommen. Wenn eine Gruppe voll wird, eröffnen Sie die nächste.
Alternativ können Sie Ihre Namespaces auf Personalnummern aufbauen, damit die Gruppen und Namespaces weniger willkürlich zusammengesetzt sind, was das Auffinden von Benutzerdatenspeichern
im DFS erleichtert:
„ \\contoso.com\users1xxx enthält Mitarbeiter mit Personalnummern, die mit 1 beginnen.
„ \\contoso.com\users2xxx enthält Mitarbeiter mit Personalnummern, die mit 2 beginnen.
„ \\contoso.com\users3xxx enthält Mitarbeiter mit Personalnummern, die mit 3 beginnen.
Wichtig Beachten Sie, was ich in meinen Namespacebeispielen nicht als Gruppenmerkmal verwende:
Standorte, Geschäftseinheiten oder andere unternehmensbezogene Konstrukte. Im nächsten Abschnitt
finden Sie eine Erklärung dafür.
Der Einfluss von Datenverschiebungen und Namespaceänderungen
In Ihrem UDS-Framework gibt es eine Reihe von Zeigern, die auf bestimmte Datenspeicher verweisen:
„ Den Pfad des servergespeicherten Profils im Benutzerkonto (das Attribut ProfilePath des Benutzerobjekts)
„ Pfade zu Zielen umgeleiteter Ordner, festgelegt in den Einstellungen der Richtlinie für die Ordnerumleitung
Verwenden Sie einen vollständig aufgelisteten Namespace (Option 1), lässt sich jeder Verweis auf Datenspeicher von den physischen Speichern trennen. Zielt ein umgeleiteter Ordner auf einen DFS-Namespace, lautet der Pfad etwa folgendermaßen: \\contoso.com\users\jfine\documents. Die Konfiguration des
umgeleiteten Ordners ist nicht davon abhängig, ob sich der physische Datenspeicher auf SERVER01 in
New York oder auf SERVER02 in Sydney befindet. Sie brauchen nur die Verknüpfungsziele des DFSNamespaceordners zu aktualisieren, aber keine Einstellungen im Benutzerobjekt, in Gruppenrichtlinienobjekten oder sonstwo zu ändern. Das ist ein hervorragender Grund, DFS zu nutzen.
Das ist jedoch nur mit der ersten Option möglich. Die zweite führt zu einem DFS-Namespace, der nur
bis zu einem mit einem bestimmten Server verknüpften Ordner reicht. Der Rest des Pfads zum Speicher
ist Bestandteil des SMB- und des physischen Namespace. Wenn Sie James' Daten bei Option 2 von
SERVER01 in New York auf SERVER02 in Sydney verschieben, ändern Sie nicht die Ziele der DFSNamespaceordner, sondern den Namespace selbst, in dem James' Daten liegen. Dann müssen Sie auch
die Zeiger ändern, die James' Umgebung ausmachen. Die servergespeicherten Profile müssen von \\contoso.com\users\new york\jfine\profile auf \\contoso.com\users\sydney\jfine\profile umgestellt werden.
Auch die umgeleiteten Ordner müssen mit dem Pfad zum neuen DFS-Namespace versehen werden.
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher 213
Leider gibt es noch eine ganze Menge komplexere und mühevollere Verweise und Zeiger in der Konfiguration, die Sie aktualisieren müssen, wenn Sie die zweite Entwurfsoption verwenden:
Quellpfade von Offlinedateien Die Dateien im Cache sind mit dem Namespace verknüpft, aus dem
sie stammen. Ändert sich dieser, müssen Sie die Dateien anpassen, weil Windows sonst annimmt,
dass es sich um vollkommen andere Dateien aus anderen Quellen handelt, und der Benutzer alle
Dateien aus dem neuen Namespace synchronisieren muss. Dieses Problem wird weiter hinten in
dieser Lösung erörtert.
Pfade in benutzerdefinierten Werkzeugen Alle benutzerdefinierten Werkzeuge, die auf Pfade im
alten Namespace zeigen, müssen aktualisiert werden, beispielsweise das in Lösung 3.10 erstellte
Sicherungsskript.
Pfade, die in Anwendungen, Verknüpfungen, zugeordneten Laufwerken usw. verwendet werden
Werden die Daten eines Benutzers verschoben, müssen mit einiger Wahrscheinlichkeit einige Verweise auf die Daten aktualisiert werden, darunter die Ziele von Verknüpfungen und zugeordneten
Laufwerken.
Pfade für Verknüpfungen in und zwischen Dokumenten Hat ein Benutzer beispielsweise ein
Excel-Arbeitsblatt mit einer PowerPoint-Präsentation verknüpft, ist der vollständige Pfad zu diesem Arbeitsblatt in der Präsentation gespeichert. Ändert sich der Namespace des Arbeitsblatts,
müssen Sie die Präsentation aktualisieren.
Diese Verweise, besonders die im letzten Punkt, stellen den mühsamsten Teil beim Ändern des Namespace für die Daten eines Benutzers dar – gleich, ob sie in einen anderen Ordner, auf einen anderen Server, eine andere Freigabe oder in einen anderen DFS-Namespace wandern.
Aus dieser Abhandlung sollten Sie die Lehre ziehen, dass der Verwaltungsaufwand steigt, wenn sich ein
Bestandteil Ihres DFS-Namespacepfads irgendwann einmal ändert. Das schlagendste Beispiel ist ein
DFS-Namespace auf Standortbasis wie der in der zweiten Entwurfsoption. Wenn der DFS-Namenraumpfad einen Standortnamen – beispielsweise \\contoso.com\users\new york\%username%\... – enthält und
Änderungen an den Daten und Einstellungen eines Benutzers dazu führen, dass sich dieser Standort
ändert – etwa in \\contsoso.com\users\sydney\%username% –, haben Sie eine Menge Arbeit damit, die
Benutzerprofilpfade zu aktualisieren, die Gruppenrichtlinienobjekte für die Umleitung zu ändern, am
Offlinecache des Clients zu basteln und sämtliche anderen eingebetteten Verweise auf den alten Namespace zu suchen und zu ändern.
Wichtig Bei der ersten Entwurfsoption erfordert eine Änderung des physischen Orts der Datenspeicher
eines Benutzers lediglich, die Ziele der Ordner im DFS-Namespace zu ändern. Bei der zweiten Entwurfsoption müssen Sie alle clientseitigen Verweise auf den DFS-Namespace aktualisieren, was sowohl Anwendungen als auch Offlinedateien betrifft.
Der Einfluss von %username%-Änderungen
Gerade haben wir den wichtigen Umstand angesprochen, dass Sie die Benutzerattribute (insbesondere
den Profilpfad), die Gruppenrichtlinienobjekte für die umgeleiteten Ordner und außerdem zahlreiche
clientseitige Verweise anpassen müssen, wenn sich der DFS-Namespacepfad zu den Daten und Einstellungen eines Benutzers ändert. Alle Dateien, die offline verfügbar gemacht wurden, müssen neu erstellt
(Windows XP) oder mithilfe eines Skripts umbenannt werden (Windows Vista). Das macht richtig
Spaß ... wenn Sie nach Stunden bezahlt werden.
214 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
In unseren Beispielen sind wir aber von einer sehr wichtigen Annahme ausgegangen: dass %username% in einen echten Benutzernamen übersetzt wird, etwa jfine. Wenn das so ist, was geschieht dann,
wenn sich der Benutzername ändert? Das kommt immer wieder vor; denken Sie nur an Heirat.
Eine Änderung des Anmeldenamens eines Benutzers (Prä-Windows 2000-Anmeldename oder sAMAccountName) hat erhebliche Auswirkungen auf Ihre Infrastruktur. Sie ändert den Namespace von allem.
Die Umleitung anhand von Gruppenrichtlinien nutzt die Variable %username%, sodass das System den
alten Ordnernamen nicht findet, wenn sich der Benutzer mit einem neuen Namen anmeldet, und neue
Ordner anlegt. Bevor sich Ihr Benutzer zum ersten Mal mit einem neuen Namen anmeldet, müssen Sie
daher Folgendes ändern:
DFS-Namespaceordner Bei den Entwurfsoptionen 1 und 2, die den Benutzernamen in den DFSNamespace aufnehmen, müssen Sie die Namen der DFS-Ordner an den neuen Namen anpassen.
Name des physischen NTFS-Ordners, der als Stammordner für die Speicher für Benutzerdaten
und -einstellungen dient Bei der zweiten Entwurfsoption, deren Ziel der Stammordner des
Benutzerdatenspeichers ist, muss die Änderung des Benutzernamens an dem eigentlichen NTFSOrdner auf dem UDS-Server des Benutzers vorgenommen werden.
Alle anderen Verweise auf den vorherigen Namespace Das bedeutet, wie bereits erwähnt, dass Sie
alle Verknüpfungen, zugeordneten Laufwerke, Offlinedateien und, was am schwierigsten ist, alle
Verknüpfungen innerhalb und zwischen Dokumenten aktualisieren müssen, die auf den alten
Namespace verweisen.
Attribute wie ProfilePath Der Pfad des servergespeicherten Profils ist im Benutzerkonto hartkodiert.
Er verbleibt dort als alter Pfad, der abgesehen davon funktioniert, dass Sie den DFS- bzw. NTFSOrdner wegen der Umleitung auf den neuen Benutzernamen umstellen müssen.
Den lokalen Benutzerprofilordner brauchen Sie nicht umzubenennen. Windows unterhält eine Zuordnung zwischen der Sicherheitskennung (SID) des Benutzerkontos und dem Ordner mit der lokalen
Kopie des servergespeicherten Profils. Selbst wenn sich der Benutzer mit dem neuen Namen anmeldet,
erkennt Windows also den Bezeichner und lädt das richtige Profil.
Nicht alle Anwendungen sind jedoch sauber programmiert. Einige suchen das Profil mithilfe der Variable %username% anstatt mit %userprofile% und geraten an die falsche Stelle. Obwohl Windows Sie
nicht zwingt, das lokale Benutzerprofil umzubenennen, müssen Sie möglicherweise wegen Ihrer
Anwendungen etwas unternehmen.
Beachten Sie, dass Sie auch den Zeiger auf das Profil in der Registrierung aktualisieren müssen, wenn
Sie den lokalen Benutzerprofilordner umbenennen. Die Zuordnungen von Sicherheitsbezeichnern zu
Profilen finden Sie unter HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\ProfileList. Suchen Sie den Schlüssel, der auf das Profil zeigt, anhand des alten Namens und
aktualisieren Sie ihn.
Diese ganze Erörterung soll noch einmal unterstreichen, wie einfache Änderungen, beispielsweise ein
neuer Anmeldename, Kopfzerbrechen bei der Verwaltung verursachen können. Aus diesem Grund rate
ich Ihnen wie in Lösungsgruppe 7, »Erweitern von Benutzerattributen und Verwaltungswerkzeugen«,
eindringlich zu Benutzernamen vom Typ einmalige Anmeldung (Single Sign-On, SSO) auf der Grundlage neutraler und eindeutiger Eigenschaften – etwa der Personalnummer. Das ist weniger persönlich
als eine auf dem Namen beruhende Anmeldung, trägt aber dazu bei, Verwaltungsprobleme durch
Namensänderungen zu reduzieren, ganz abgesehen von Benutzern mit identischen Namen.
3.4 Erstellen der SMB- und DFS-Namespaces für Benutzerdatenspeicher 215
Wichtig Ziehen Sie in Betracht, Prä-Windows 2000-Anmeldenamen zu verwenden, die nicht auf dem
persönlichen Namen des Benutzers basieren, sondern auf einem abstrakten, unveränderlichen Konstrukt wie
Personalnummern.
Ich möchte noch einige Zeiger erwähnen, die wir in Lösungsgruppe 7 wieder erörtern werden. Erstens
geht es dabei um den Prä-Windows 2000-Anmeldenamen. Denken Sie daran, dass Windows die
Authentifizierung mit dem Benutzerprinzipalnamen (User Principal Name, UPN) unterstützt, der
beliebig lauten kann, solange er eindeutig ist. Es könnte auch seine E-Mail-Adresse sein. Auf diese
Weise kann er zum benutzerfreundlichen Anmeldenamen auf der Grundlage des Namens werden.
Ich habe auch Kunden erlebt, die an Namensänderungen nur im Zusammenhang mit Heirat denken. Sie
meinen, wenn Jane heiratet, mache es ihr nichts aus, ihren bisherigen Anmeldenamen beizubehalten.
Das kann zwar durchaus stimmen. Denken Sie aber auch an Scheidung. Wird Jane, die als verheiratete
Frau eingestellt wurde, nach einer hässlichen Trennung den Anmeldenamen weiterbenutzen wollen,
der auf ihrem Ehenamen beruht? Wahrscheinlich nicht.
Erstellen eines abstrakten DFS-Namespace für Benutzerdaten
und -einstellungen (ohne Standort- und Personennamen)
In einem komplexen Unternehmen mit mehreren UDS-Servern, geografischen Standorten oder
Geschäftseinheiten geraten Sie vielleicht in Versuchung, für jedes UDS-Framework einen DFS-Namespace anzulegen, der diese Entitäten widerspiegelt. Abbildung 3.12 zeigt beispielsweise rechts eine
DFS-Hierarchie auf Standortbasis.
Wichtig Sie sollten auf keinen Fall einen Standort, eine Geschäftseinheit oder ein anderes Konstrukt Ihres
Unternehmens in Ihren DFS-Namespace aufnehmen!
Wir haben die Probleme erörtert, die entstehen, wenn sich ein Bestandteil des Namespace einer Datei
oder eines Ordners ändert. Diese nehmen exponentiell zu, wenn es um den Namespace ganzer Datenspeicher oder Datenspeicherklassen geht. Setzen Sie einen Namespace aus abstrakten Elementen
zusammen. Verwenden Sie keine Standorte, Geschäftseinheiten oder andere Elemente, die sich ändern.
Erwägen Sie auch, die Anmeldenamen der Benutzer auf der Grundlage von Personalnummern anstatt
von Namen zu bilden, um Änderungen von %username% zu vermeiden.
Automatisieren der Erstellung von Benutzerdatenspeichern
und DFS-Namespaces
In Lösung 3.1 habe ich das Skript UDS_UserFolders_Provision.vbs entwickelt, das den physischen
Namespace auf dem UDS-Server anlegt. In der vorliegenden Lösung habe ich die Empfehlung hinzugefügt, einen vollständig aufgelisteten Namespace zu erstellen. Daraus ergibt sich das neue Skript
UDS_UserFolders_Provision_DFS.vbs im Ordner Scripts des Begleitmediums. Es verlangt folgende
Argumente:
„ Den Pfad zum obersten Ordner des Benutzers (%username%) auf dem UDS-Server
„ /dfs: Y (oder Yes), was das Skript veranlasst, in den Modus zum Erstellen von Namespaces zu wechseln. Hier werden geeignete DFS-Ordner und Links für den Benutzer in einem vollständig aufgelisteten Namespace angelegt (Entwurfsoption 1). In diesem Modus werden die folgenden drei
Parameter benötigt:
216 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
† /server:<servername>, der Name des Servers, auf dem sich die Daten des Benutzers befinden
† /userfirstname:<Vorname des Benutzers> und /userlastname:<Nachname des Benutzers>, um
im DFS-Ordner für den Benutzer einen Kommentar zu erstellen. Falls Sie aus dem Benutzernamen nicht erschließen können, wem ein Ordner gehört, können Sie also im Kommentar des
Ordners nachsehen.
Mit dem folgenden Befehl führen Sie die gesamte netzwerkseitige Konfiguration für James Fine durch:
Cscript UDS_UserFolders_Provision_DFS.vbs e:\users\jfine/dfs:yes /server:server01 /userfirstname:James
/userlastname:Fine
Welche Ordnerstruktur sich daraus ergibt, sehen Sie im Ordner des Benutzers (beispielsweise
E:\Users\jfine) und im DFS-Namespace. Bevor Sie das Skript jedoch in einer Produktionsumgebung
ausführen, sollten Sie sein Verhalten nach der Anleitung im nächsten Abschnitt anpassen.
Anpassen von UDS_UserFolders_Provision_DFS.vbs
Eine Anpassung ist definitiv erforderlich. Die Subroutine Configuration definiert sämtliche Variablen,
darunter den physischen, den SMB- und den DFS-Namespace, die benutzt werden, um wie in dieser
und der vorhergehenden Lösung erläutert einen Namespace anzulegen.
Sie werden eine Menge Ähnlichkeit mit dem vorherigen Skript feststellen – neu ist lediglich das Erstellen des DFS-Namespace und der Umstand, dass ich den Code wegen seiner Länge und Komplexität
anders angeordnet habe, damit sich der Ablauf leichter verfolgen lässt. Außerdem habe ich den Konfigurationsblock in eine eigene Subroutine verschoben, weil viele Skripteditoren (darunter PrimalScript
2007 von Sapien, mit dem ich Skripts bearbeite) die automatische Zusammenfassung von Subroutinen
und Funktionen ermöglichen, was Anzeige und Orientierung in längeren Skripts erleichtert.
Wichtig UDS_UserFolders_Provision_DFS.vbs gehört wahrscheinlich zu den nützlichsten Skripts und
Werkzeugen dieses Buchs. Nehmen Sie sich genug Zeit, um es durchzuarbeiten, anzupassen und in
Gebrauch zu nehmen. Sie können es auch für die in der vorherigen Lösung beschriebene Methode
verwenden: Lösen Sie es mit einer Kontingentvorlage aus. Wenn Sie dieses Skript haben, brauchen Sie
das Skript UDS_UserFolders_Provision.vbs nicht mehr. Eine weitere Variante, UDS_UserFolders_Extended_Provision_DFS.vbs, legt einen noch vollständiger aufgelisteten DFS-Namespace an. Genaueres
dazu finden Sie Lösung 3.5 auf Seite 217.
Zusammenfassung
Wir haben uns die Konfiguration der Namespaces für die Datenspeicher angesehen. In der vorherigen
Lösung haben wir mit dem physischen Namespace angefangen – der Ordnerhierarchie auf UDS-Servern, die tatsächlich recht unkompliziert ist. Außerdem haben wir uns detailliert mit bewährten
Zugriffssteuerungslisten für die Datenspeicherstammordner für Benutzerdaten und -einstellungen
befasst. Anschließend sind wir zum SMB-Namespace »aufgestiegen«, der dem Netzwerk den physischen Namespace zugänglich macht. Wir haben festgestellt, dass freigegebene SMB-Ordner erforderlich sind, um die unterschiedlichen Anforderungen beispielsweise an Cacheeinstellungen zu unterstützen. Für einen physischen Ordner können Sie aber auch mehrere SMB-Freigaben definieren.
Anschließend haben wir den durch Freigaben und Ordner erstellten serverbasierten Namespace durch
DFS-Namespaces abstrahiert und zwei Entwurfsoptionen untersucht. Die erste, ein vollständig aufgelisteter DFS-Namespace, erfordert die zunächst umfangreichste Investition in Skripts oder andere
Werkzeuge zum Anlegen von Namespaceordnern für die einzelnen Benutzerdatenspeicher. Zu genau
3.5 Entwerfen und Ausführen der Ordnerumleitung 217
diesem Zweck haben wir das Skript UDS_UserFolders_Provision_DFS.vbs bereitgestellt, das Sie jetzt
nur zu starten brauchen, um einen vollständig aufgelisteten DFS-Namespace (Entwurfsoption 1) zu
erstellen – eine geradezu ideale Möglichkeit. Sobald die clientseitigen Verweise des Benutzers, beispielsweise das servergespeicherte Profil und die Ziele umgeleiteter Ordner, den Namespace verwenden, braucht dieser nicht mehr geändert zu werden! Sie müssen nur noch die Ziele der Ordner im Namespace anpassen, wenn Sie Benutzerdaten verschieben.
DFS-Namespaceerver mit Windows Server 2003 verkraften nur 5.000 Links pro Namespace, sodass die
Entwurfsoption 1 (mit mehreren Ordnern pro Benutzer) die wenigsten Benutzer pro Namespace unterstützt. Sie können jedoch einfach weitere Namespaces hinzufügen. Wir haben Ideen untersucht, wie
sich ein DFS-Namespace für Tausende von Benutzern anlegen lässt, was die Verwendung mehrerer
DFS-Namespaces nach sich zieht.
Danach haben wir hervorgehoben, wie sinnvoll es ist, keine Unternehmenskonstrukte wie Standorte,
Geschäftseinheiten oder auch die benutzerfreundlichen Anmeldenamen in den Namespace von UDSFrameworks aufzunehmen, sondern stattdessen abstrakte Konstrukte zu verwenden, die sich nicht mit
der Zeit ändern. Eine Änderung der Benutzerrolle oder seines Standorts, die zu einer Änderung des
Namespace für seine Datenspeicher führt, kann sonst komplexe und mühevolle Anpassungen sämtlicher Verweise auf den alten Namespace auf der Clientseite erforderlich machen.
Abschließend haben wir das Skript UDS_UserFolders_Provision_DFS.vbs untersucht, das die Datenspeicher eines Benutzers komplett mit seinem obersten Ordner, den Unterordnern für alle Datenspeicher, Kontingenten, Berechtigungen, Besitzverhältnissen und dem DFS-Namespace anlegt. Mit
diesem wichtigen Werkzeug in der Trickkiste werden das Anlegen und das Verwalten der Namespaces
für Benutzerdatenspeicher im Netzwerk zum Kinderspiel.
3.5 Entwerfen und Ausführen der Ordnerumleitung
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Ordnerumleitung, Gruppenrichtlinien, Registrierung
Zusammenfassung
Verwenden der Ordnerumleitung zum Verlagern von Benutzerdatenspeichern auf Server und Umleiten von Windows XP-Ordnern wie Favoriten, Musik und Videos
Vorteile
Einheitliches Speichern auf Windows XP- und Vista-Clients
Einführung
In der guten alten Zeit gab es das Basisverzeichnis eines Benutzers: ein zugeordnetes Laufwerk, in dem
die Benutzer ihre Daten speicherten. Basisverzeichnisse oder – ganz hip – »Basisordner« werden für
den Benutzer durch einen Laufwerksbuchstaben dargestellt, beispielsweise H: für »Home«, U: für
»User« oder P: für »Personal«. Es wäre sicher amüsant herauszufinden, wie viele englischsprachige
Organisationen einen der drei Buchstaben verwenden. Ich vermute, über 90%.
Die Ordnerumleitung war der revolutionäre nächste Schritt. Diese Standardtechnologie, die seit Windows
2000 Bestandteil von Windows ist, stellt Datenspeicher (physische Speicherorte) durch Standardelemente
der Benutzerschnittstelle dar, beispielsweise die Ordner (Eigene) Dokumente, Desktop, Favoriten. Die
218 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Benutzer greifen also über vertraute Schnittstellenelemente auf ihre Daten zu, die den physischen Speicherort der Datenspeicher verbergen. Der Umstand, dass es sich bei diesen Standardelementen, den so
genanten Shell-Ordnern, um Umleitungen handelt, macht die Umleitung für die Benutzer unsichtbar.
Durch die umgeleiteten Ordner wird der Netzwerkspeicher zum primären Ort für die Ablage von
Benutzerdaten. Solange die Benutzer mit dem Netzwerk verbunden sind, ist der Netzwerkspeicher auch
der primäre Ort für den Dateizugriff. Die Dateien können jedoch mithilfe einer weiteren WindowsFunktion, der Offlinedateien, auch für Benutzer verfügbar gemacht werden, die vom Netzwerk getrennt
sind, was wir in der nächsten Lösung behandeln.
Umgeleitete Ordner mit Offlinedateien stellen im Allgemeinen einen Ansatz zur Verwaltung von
Benutzerdaten dar, der sich für servergespeicherte Profile besonders gut eignet, weil er den Benutzern
die Möglichkeit gibt, sofort nach der Anmeldung auf einem neuen System auf die Daten zuzugreifen.
Umgeleitete Ordner führen keine Synchronisierung durch und laden auch keine großen Datenmengen
herunter. Werden die Offlinedateien sorgfältig entworfen und verwaltet, können die Organisation und
die Benutzer anders als bei servergespeicherten Profilen, die bei der An- und Abmeldung sämtliche
Dateien synchronisieren, besser steuern, welche Dateien synchronisiert werden und wann.
Wahrscheinlich entscheiden Sie sich, die Ordner (Eigene) Dokumente und Desktop umzuleiten, und
geben den Laptopbenutzern die Möglichkeit, Dateien offline verfügbar zu machen. So lautete die
Anleitung, die in Lösung 3.2 empfohlen wurde. Die vorliegende Lösung und die Lösungen 3.6 bis 3.9
vermitteln Ihnen die Einzelheiten, die Sie für eine fundierte Entscheidung benötigen.
Sie können auch Favoriten, Videos, Musik und andere Shell-Ordner an einen Ort im Netzwerk umleiten.
Die Methode und die Funktionalität unterscheiden sich ein wenig von denen für die Ordner Dokumente
und Desktop, aber es funktioniert und kann zur Vereinheitlichung der Datenspeicher auf Windows XPund Vista-Clients beitragen.
Grundlagen der Ordnerumleitung
Die Ordnerumleitung ist eine clientseitige Technologie, mit deren Hilfe Shell-Ordner einen lokalen
Datenspeicher oder einen im Netzwerk als Ziel erhalten können.
Die Hauptvorteile der Ordnerumleitung
Die Ordnerumleitung bietet folgende wichtige Vorteile:
Profile werden kleiner Mit einem Netzwerkdatenspeicher als Ziel lassen sich die Daten in einem
Ordner vom Benutzerprofil trennen, wodurch dieses kleiner wird. Dies trifft besonders für den
Ordner (Eigene) Dokumente zu, der als vorrangiger Speicherordner für Benutzerdokumente leicht
viele Mega- oder sogar Gigabyte umfassen kann. Bei manchen Benutzern wird der Ordner Desktop
ebenfalls zum Abladeplatz für große Dateien, sodass die Umleitung ähnlich vorteilhaft ist.
Schnelleres An- und Abmelden Sind Dokumente und Desktop umgeleitet, ist das Benutzerprofil
erheblich kleiner, was die Synchronisierung des Profils bei der An- und Abmeldung erheblich
verkürzt. Auf diese Weise erlebt der Benutzer durch die Ordnerumleitung das System als leistungsfähiger – der Desktop erscheint früher auf dem Bildschirm.
Wesentlich geringere Möglichkeit, das Profil zu beschädigen Unter Windows 2000 war das Verhalten des servergespeicherten Profils gegenüber früheren Versionen überarbeitet worden. Vorher
wurden die Profile bei der Anmeldung vollständig herunter- und bei der Abmeldung vollständig
wieder hochgeladen. Mit Windows 2000 wurde ein Synchronisierungsalgorithmus eingeführt,
3.5 Entwerfen und Ausführen der Ordnerumleitung 219
durch den nur noch geänderte Dateien übertragen werden. Er wurde zur Steigerung der Geschwindigkeit in den nachfolgenden Versionen weiter verfeinert und arbeitet belastbar und zuverlässig. Ein
sehr umfangreiches Profil stellt für die Synchronisierung aber immer noch eine Herausforderung
dar. Je größer es ist, desto höher ist die Wahrscheinlichkeit einer Beschädigung, die zu »Dateimüll«
(teilweise synchronisierten Dateien mit zufälligen Namen) im Profil und möglicherweise zur
Beschädigung der Registrierung (Ntuser.dat) führt.
Nach meiner Erfahrung sind Beschädigungen recht unwahrscheinlich, solange große Datenspeicher
(Dokumente und Desktop) umgeleitet und dadurch aus der Synchronisierung des Benutzerprofils
herausgehalten werden. Die Microsoft Knowledge Base (http://support.microsoft.com) enthält
übrigens eine Reihe von Artikeln über die Problembehebung bei Beschädigung von Profilen. Am
meisten ist Ihnen jedoch damit gedient, dass Sie die großen Datenspeicher von den servergespeicherten Profilen fernhalten.
Unmittelbarer Zugriff auf die Daten Die Benutzer können sich bei einem beliebigen Rechner
anmelden und sofort auf die Daten in den umgeleiteten Ordnern zugreifen, selbst wenn sie sich bei
einem anderen Computer nicht abgemeldet haben. Bei servergespeicherten Profilen werden die
Änderungen erst bei der Abmeldung auf den Server übertragen. Bei umgeleiteten Ordnern leitet
dagegen alle Rechner der Domäne den Benutzer an seinen zentralen Netzwerkspeicher um, was den
Zugriff in Echtzeit ermöglicht.
Neue Merkmale der Ordnerumleitung in Windows Vista
Windows Vista verbessert die Ordnerumleitung weiter, indem es diese auf 13 Ordner des Benutzerprofils ausdehnt. Wichtig ist dabei, dass die Ordner Favoriten, Cookies, Bilder, Musik und Videos jetzt
mithilfe einer Gruppenrichtlinie umgeleitet werden können. Unter Windows XP erfordert die Umleitung dieser Shell-Ordner einige Tricks, wie ich Ihnen später in dieser Lösung zeigen werde. Dadurch
erleben Benutzer von Windows XP- und Windows Vista-Systemen eine besser verwaltete Umgebung.
Die Nachteile der Ordnerumleitung
Die Ordnerumleitung führt dazu, dass ein Netzwerkspeicher zum primären Speicher- und Zugriffsort
für Daten wird. Deshalb kann alles, was mit der Verbindung zum Server zu tun hat, zur Herausforderung werden. Ist die Serveranbindung nicht verfügbar oder nicht ausreichend, leiden Funktionalität und
Leistung. Aus diesem Grund gestalten wir unser UDS-Framework so, dass die UDS-Server für die
Benutzer so lokal wie möglich sind. Ist der Benutzer nicht mit dem Netzwerk verbunden – beispielsweise unterwegs –, hat er keinen Zugriff auf den Server. Das soll die Funktion der Offlinedateien beheben, die jedoch für die Synchronisierung eigene Herausforderungen mit sich bringt. Mit Offlinedateien
beschäftige ich mich in Lösung 3.6. Unter der Voraussetzung, dass Sie in Ihren Anforderungen Kompatibilität, Anbindung und Serververfügbarkeit vorgesehen haben wie in Lösung 3.1, stellt die Ordnerumleitung sicher eine unverzichtbare Komponente Ihres UDS-Frameworks dar.
Konfigurieren von Richtlinien für die Ordnerumleitung
Jetzt wollen wir die Schritte zum Einrichten der Ordnerumleitung untersuchen. Wir gehen als Beispiel
davon aus, dass Sie Dokumente und Desktop umleiten wollen. Die Kenntnisse für die Entscheidung,
was für Ihr Unternehmen richtig ist, erwerben Sie später bei der Erörterung von Offlinedateien und
servergespeicherten Profilen. Außerdem nehmen wir an, dass in Ihrem Unternehmen mindestens ein
System mit Windows Vista oder Windows Server 2008 vorhanden ist. Zu Windows Vista und Windows
220 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Server 2008 gehört die Erweiterung Folder Redirection Editor für das Snap-In Gruppenrichtlinienverwaltungs-Editor, früher Gruppenrichtlinien-Editor genannt. Diese Erweiterung (siehe Abbildung
3.13) enthält wichtige neue Einstellungen für die Umleitungsrichtlinien, die diese Windows-Versionen
benötigen. Sie gibt Ihnen außerdem die Möglichkeit, die Umleitung für Clients mit Windows XP und
Windows 2000 einzurichten.
Abbildung 3.13 Das Snap-In Ordnerumleitung
Wichtig Bearbeiten Sie Richtlinien für die Ordnerumleitung auf einem Windows Vista- oder Windows Server
2008-System, um die Richtlinieneinstellungen bereitzustellen, die Vista-Clients benötigen. Wie wir gleich
genauer erläutern werden, funktionieren die Richtlinien auch bei älteren Windows-Versionen korrekt.
Schließlich setzen wir voraus, dass Sie die Grundlagen der Gruppenrichtlinien kennen – insbesondere,
wie Sie ein Gruppenrichtlinienobjekt auf einen Standort, eine Domäne oder eine Organisationseinheit
anwenden, wie Sie es auf der Grundlage der Mitgliedschaft in Sicherheitsgruppen filtern, wie Sie den
Richtlinienergebnissatz auswerten und wie Sie die Gruppenrichtlinien-Verwaltungskonsole (Group
Policy Management Console, GPMC) und den Gruppenrichtlinienverwaltungs-Editor benutzen. Falls
Sie Ihre Kenntnisse auffrischen müssen, beginnen Sie bei http://www.microsoft.com/technet/grouppolicy oder lesen Sie Windows Server 2008- und Windows Vista-Gruppenrichtlinien von Derek Melber
(Microsoft Press 2008) oder Group Policy: Management, Troubleshooting and Security: For Windows
Vista, Windows 2003, Windows XP and Windows 2000 von Jeremy Moskowitz (Sybex 2007). Lösungsgruppe 10, »Verwalten von Änderungen, Konfiguration und Richtlinien«, enthält tiefer gehende Lösungen zu Gruppenrichtlinien.
3.5 Entwerfen und Ausführen der Ordnerumleitung 221
Festlegen der Ziele für die Ordnerumleitung
Windows Vista und höher unterstützt die Umleitung von 13 Ordnern, wie Sie in Abbildung 3.13 sehen.
Sie finden die Einstellungen, indem Sie ein Gruppenrichtlinienobjekt öffnen und zu Benutzerkonfiguration\Windows-Einstellungen\Ordnerumleitung wechseln. Es gibt drei mögliche Einstellungen für
jeden Ordner: Standard, Erweitert und Nicht konfiguriert, von denen Sie in der Dropdownliste Einstellung auf der Registerkarte Ziel der Richtlinie für die Ordnerumleitung eine auswählen wie in Abbildung
3.14. Wir sehen uns die einzelnen Einstellungen noch an, wobei Sie sich merken sollten, dass nicht die
Einstellung in einem einzelnen Gruppenrichtlinienobjekt zählt, sondern die resultierende Einstellung,
die auf den Client angewendet wird.
Leider ist die Benutzerschnittstelle für die Einstellungen der Ziele der Ordnerumleitung nicht gerade
selbsterklärend und in ihrem Verhalten ein wenig eigenwillig.
Standard: Leitet alle Ordner auf den gleichen Pfad um
Diese Einstellung leitet die Ordner aller Benutzer nicht an genau denselben Ort um, sondern in einen
benutzerspezifischen Ordner in einem einzigen Namespace. Abbildung 3.14 zeigt eine übliche
Vorgehensweise.
Abbildung 3.14 Die Seite Ziel einer Ordnerumleitungsrichtlinie
In Abbildung 3.14 ist »der gleiche Pfad« ein Unterordner des im Textfeld Stammverzeichnis angegebenen Pfades – hier \\contoso.com\users. Wie Sie unten im Dialogfeld sehen können, erhält dort jeder
Benutzer einen eindeutigen Ordner, der seinen Prä-Windows 2000-Anmeldenamen trägt (die Eigenschaft sAMAccountName), sowie einen Unterordner mit dem Namen documents. Daraus ergibt sich
in diesem Beispiel als Namespace für die umgeleiteten Dokumentordner der einzelnen Benutzer
\\contoso.com\users\%username%\documents.
222 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Die Einstellung Standard wird nicht gewählt, um alle Benutzer an genau demselben Ort unterzubringen,
sondern um ihnen eine gemeinsame Methode zum Einrichten des Ordnerziels zu geben, die auf Ihrer
Auswahl der folgenden Optionen für den Ort des Zielordners beruht:
Einen Ordner für jeden Benutzer im Stammpfad erstellen Diese Option für den Ort des Zielordners (siehe Abbildung 3.14) ermöglicht das Anlegen eines Stammpfads, unter dem die Ordner der
einzelnen Benutzer erstellt werden, soweit sie nicht schon vorhanden sind und als Ziel dienen. Es
sollte sich um den Pfad eines DFS-Namespace handeln, um die UDS-Anforderung zu erfüllen, den
physischen Speicherort von den UDS-Konfigurationszeigern zu trennen. Welchen Pfad Sie genau
einrichten, hängt von den Überlegungen zum Entwurf des DFS-Namespace in Lösung 3.4 ab. Unter
dem Stammpfad legt Windows automatisch einen Ordner für den Benutzer an, wenn noch keiner
vorhanden ist, sowie einen Unterordner, dessen Name dem des umgeleiteten Ordners entspricht –
beispielsweise Dokumente.
Beachten Sie, dass dieser Namespace genau den DFS-Namespace unterstützt, den wir in Lösung 3.4
eingerichtet haben. Bei dieser Option für den Ort des Zielordners gibt es keine Möglichkeit, den Namen
des Unterordners zu ändern (beispielsweise Dokumente) oder zu verhindern, dass er angelegt wird.
An folgenden Pfad umleiten Bei dieser Option können Sie im Textfeld Stammverzeichnis einen Pfad
für den Zielordner angeben. Das Steuerelement ist ein wenig irreführend, da es so scheint, als zeigten die Ordner der einzelnen Benutzer alle auf genau denselben Ort. Sie dürfen jedoch bestimmte
Umgebungsvariablen (nämlich %username%, %userprofile%, %homeshare% und %homepath%
als Bestandteile des Pfads verwenden. Daher legt der Stammpfad \\contoso.com\users\%username%\documents einen eindeutigen Ordner für jeden Benutzer an. Falls Sie einen Unterordner
erstellen möchten, können Sie im Stammpfad weitere Informationen angeben. Der Pfad \\contoso.com\users\%username%\documents ist zum Beispiel gültig und führt zu einem identischen
Ergebnis wie die Option Einen Ordner für jeden Benutzer im Stammpfad erstellen.
Wichtig Wenn Sie sich an die Anleitung für den DFS-Namespace in Lösung 3.4 halten, ist diese Option für
den Ort des Zielordners die richtige. Geben Sie als Stammpfad \\<Namespace>\%username%\documents
an. Mit dieser Option versetzen Sie sowohl Windows Vista- als auch Windows XP-Clients in die Lage, einen
Ordner in den DFS-Namespace Documents umzuleiten. Weitere Informationen über das Nebeneinander von
Windows Vista und Windows XP folgen weiter hinten in dieser Lösung und in Lösung 3.7.
Trösten Sie sich, wenn Sie langsam glauben, verrückt zu werden: Die Einstellung An folgenden
Pfad umleiten verhält sich in der Tat merkwürdig. Geben Sie den Pfad mit einer Variable ein, beispielsweise \\contoso.com\users\%username%[\<unterordner>]¸ ist sie völlig gültig und funktioniert. Schließen Sie die Eigenschaften der Richtlinieneinstellung und öffnen sie erneut, hat die
Benutzerschnittstelle Ihre Einstellung in Einen Ordner für jeden Benutzer im Stammpfad erstellen
geändert und Ihre Konfiguration neu interpretiert – sie zeigt beispielsweise im Stammpfad \\contoso.com\users und im Beispiel \\contoso.com\users\clair[\<unterordner>] an. Bestimmte Änderungen lassen sich nicht durchführen (beispielsweise eine Namensänderung bei Unterordnern),
ohne die Option für den Zielordner auf An folgenden Pfad umleiten zurückzusetzen. Mein Ratschlag: Nehmen Sie einfach zur Kenntnis, dass die Benutzerschnittstelle für die Richtlinieneinstellung bizarr ist, die Ergebnisse der Umleitung jedoch genau ihren Wünschen und der ursprünglichen
Einstellung entsprechen.
3.5 Entwerfen und Ausführen der Ordnerumleitung 223
Sie können die Option auch zur Umleitung der Ordner mehrerer Benutzer an einen einzigen Ort einsetzen, um deren Arbeitsumfeld zu vereinheitlichen.
In das Basisverzeichnis des Benutzers kopieren Diese Option für den Ort des Zielordners steht nur
bei der Umleitung des Ordners Dokumente zur Verfügung. Sie ermöglicht die Umleitung an den
durch die Eigenschaft homeDirectory des Benutzerobjekts in Active Directory festgelegten Ort und
ist insbesondere bei der Umstellung von Basisverzeichnissen »alter Schule« auf umgeleitete Dokumentordner im neuen Stil sinnvoll. Das durch das Basisverzeichnis im Benutzerobjekt festgelegte
zugeordnete Laufwerk steht den Benutzern weiterhin zur Verfügung, und der Ordner Dokumente
wird ebenfalls umgeleitet – beide an denselben Ort.
Wenn Sie vorhaben, das zugeordnete Laufwerk in nächster Zeit zu entfernen, empfehle ich Ihnen
anstelle dieser Option die vorherige (An folgenden Pfad umleiten) und die Einrichtung des Pfads
mit der Vorlage, die Sie für die Basisverzeichnisse Ihres Benutzers verwenden, beispielsweise
\\<server>\<freigabe>\%username%. Löschen sie dann die Eigenschaften homeDrive und homeDirectory aus dem Benutzerkonto, so wird der Ordner (Eigene) Dokumente weiter an den richtigen
Ort umgeleitet.
An lokalen Benutzerprofilpfad umleiten Diese Option für den Ort des Zielordners leitet den Ordner
an seinen Windows-Standardort als Unterordner des Benutzerprofils um.
Dem Ordner Dokumente folgen
Diese Zieleinstellung – die nur für die Ordner Bilder, Musik und Videos gilt – legt fest, dass sie Unterordner von Dokumente sein sollen, was besonders der Kompatibilität mit Windows XP dient, das
Eigene Musik und Eigene Videos nicht umleiten kann. Mehr über diese Option erfahren Sie später.
Erweitert: Gibt Pfade für verschiedene Benutzergruppen an
Die Einstellung Erweitert bietet dieselben Optionen für die Orte der Zielordner. Der Unterschied
besteht darin, dass diese Einstellung im Gegensatz zur Einstellung Standard die Einrichtung unterschiedlicher Orte für verschiedene Benutzergruppen zulässt. Das klassische und übliche Nutzungsszenario für diese Einstellung ist die Umleitung von Benutzergruppen auf unterschiedliche Server.
Anstatt eigene Gruppenrichtlinienobjekte für die einzelnen Benutzerrollen verwalten zu müssen, können Sie Umleitungsrichtlinien für alle Rollen in einem Objekt zusammenfassen. Abbildung 3.15 zeigt
ein Beispiel, in dem Benutzer in New York (die zur Gruppe der Ortsrolle LOC_NYC gehören) und
Sydney (aus der Gruppe der Ortsrolle LOC_NYC) auf geeignete Server umgeleitet werden.
Die Gruppen und Pfade richten Sie mit einem Klick auf Hinzufügen ein. Für jede Gruppe kann eine der
vier vorgestellten Optionen für Zielordner festgelegt werden. In Abbildung 3.15 werden wieder Pfade
zu DFS-Namespaces verwendet. Bei \\contoso.com\users\nyc und \\contoso.com\users\syd handelt es
sich um DFS-Ordner, die auf Server in New York bzw. Sydney zielen.
Ich habe ein Beispiel auf Standortbasis gewählt, um es leichter verständlich zu machen. Wie wir in
Lösung 3.4 erörtert haben, sollten Sie dies jedoch unbedingt vermeiden. Verwenden Sie einen Namespace, der auf abstrakten oder unveränderlichen Eigenschaften beruht – damit sind Sie besser dran.
224 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Abbildung 3.15 Die Einstellung Erweitert für die Ordnerumleitung
Nicht konfiguriert
Diese Einstellung leitet Ordner abhängig von ihrem aktuellen Status unterschiedlich um. Ist der Ordner
noch nie umgeleitet worden, leitet sie ihn standardmäßig an seinen Standardort im Benutzerprofil um –
beispielsweise %userprofile%\<ordnername>. Eine Ausnahme bilden Eigene Bilder und Eigene Musik
in Windows XP, die Unterordner von Eigene Dokumente sind.
Wurde der Ordner jedoch schon einmal umgeleitet und die damalige Einstellung dann in Nicht konfiguriert geändert, wird er je nach Einstellung in der früheren Richtlinie an einen von zwei Orten umgeleitet. Der Abschnitt Entfernen der Richtlinie auf der Registerkarte Einstellungen einer Richtlinie für
die Ordnerumleitung weist zwei Optionen auf (siehe Abbildung 3.16):
Ordner nach Entfernen der Richtlinie am neuen Ort belassen Falls dies die resultierende Einstellung war und die Richtlinie jetzt Nicht konfiguriert lautet, bleibt die Umleitung des Ordners an den
Ort bestehen, der in der vorherigen Richtlinie festgelegt wurde.
Ordner nach Entfernen der Richtlinie zurück an den Ort des lokalen Benutzerprofils umleiten
Falls dies die resultierende Einstellung war und die Richtlinie jetzt Nicht konfiguriert lautet, wird
der Ordner an seinen Standardort im Benutzerprofil umgeleitet.
Dasselbe Optionspaar bestimmt nicht nur dann das Ziel eines umgeleiteten Ordners, wenn die neue
Richtlinie Nicht konfiguriert heißt, sondern auch, wenn überhaupt keine Richtlinie mehr für den Ordner
festgelegt ist.
3.5 Entwerfen und Ausführen der Ordnerumleitung 225
Einstellungen für die Ordnerumleitung
Abbildung 3.16 zeigt die häufigste Ausgangskonfiguration dieser Einstellungen, die unglücklicherweise nicht den Windows-Standardwerten entspricht.
Abbildung 3.16 Die Seite Einstellungen der Richtlinie für die Ordnerumleitung
Dem Benutzer exklusive Zugriffsrechte für <Ordner> erteilen
Diese Option führt zwei Dinge durch. Zum einen legt sie den Ordner an, falls er noch nicht vorhanden ist,
und zwar mit nur expliziten Berechtigungen – die Vererbung der Berechtigungen des übergeordneten
Ordners ist deaktiviert. Diese expliziten Berechtigungen gewähren nur dem Benutzer und der Identität
System des Servers vollen Zugriff. Nicht einmal die Administratoren dürfen auf die Benutzerordner
zugreifen. Die Berechtigungen gelten nicht für übergeordnete Ordner, falls solche bestehen, sondern für
den Zielordner. Wenn Sie beispielsweise die Zielordneroption Einen Ordner für jeden Benutzer im
Stammpfad erstellen mit \\contoso.com\users als Stammpfad und \\contoso.com\users\clair\documents
als Beispiel benutzen, bedeutet das, dass die Vererbung nur für den Ordner Documents deaktiviert ist.
Der übergeordnete (hier Clair) erbt seinerseits die Berechtigungen seines übergeordneten Ordners und
außerdem die expliziten Berechtigungen, die dem Benutzer den Vollzugriff geben.
Zum anderen prüft die Ordnerumleitung, ob der Benutzer Besitzer des Zielordners ist, wenn dieser
bereits besteht. Wenn nicht, scheitert die Umleitung für den betreffenden Ordner.
Deaktivieren Sie das Kontrollkästchen Dem Benutzer exklusive Zugriffsrechte ... erteilen, entfällt die
Prüfung der Eigentümerschaft. Noch gewichtiger ist jedoch, dass dann für Ordner, die durch Umleitung
angelegt werden, die Vererbung aktiviert ist und der Benutzer außerdem explizit Vollzugriff hat. Durch
die Vererbung kann die vom Stamm des Benutzerdatenspeichers definierte Sicherheitsrichtlinie auf die
gesamte Benutzerdatenstruktur angewendet werden. Dieser Ansatz entspricht den Bedürfnissen der
meisten Organisationen weit besser.
226 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Wichtig Normalerweise deaktivieren Sie das standardmäßig aktive Kontrollkästchen neben Dem Benutzer
exklusive Zugriffsrechte für <Ordner> erteilen. In Lösung 3.2 wurden die Berechtigungen für Benutzerdatenspeicher auf dem Server detailliert beschrieben. Diese Einstellung bleibt wirkungslos, wenn die Ordner
bereits bestehen. Setzen Sie eine Vorstufe wie das Skript UDS_UserFolder_Provision_DFS.vbs ein, können
Sie die Zugriffssteuerungslisten für die einzelnen Ordner beim Anlegen angeben, sodass die Berechtigungen
von dieser Richtlinie nicht geändert werden.
Den Inhalt von <Ordner> an den neuen Ort verschieben
Diese Einstellung ist standardmäßig aktiviert, was dazu führt, dass der Inhalt eines Ordners beim Einrichten eines neuen Ziels für die Ordnerumleitung durch die Richtlinie dorthin verschoben wird. Die
Daten wandern also vom alten Ziel des Ordners zum neuen. Stellen Sie sich vor, ein Benutzer wird
heute auf den Server in New York verschoben und unterliegt, nachdem er nach Sydney zurückgekehrt
ist, dem Gruppenrichtlinienobjekt, das Ordner an den Server in Sydney umleitet. Seine Daten werden
wieder von New York nach Sydney verschoben. Dies geschieht in gleicher Weise, wenn der Ordner
eines Benutzers derzeit in seinem Profil abgelegt ist und dann auf einen Server umgeleitet wird. Der
Ordnerinhalt wird auf den Server verlegt.
Sollten Sie diese Einstellung aktivieren? Das kommt auf die Umstände an. Sie stellt tatsächlich eine
wirkungsvolle Methode dar, den Ordner automatisch und für den Benutzer unsichtbar zu verschieben.
Die Frage lautet, wie wahrscheinlich sie Schwierigkeiten für den Benutzer verursacht oder versagt, was
dem Administrator Schwierigkeiten macht. Ich empfehle diese Einstellung bei einfachen, kleinteiligen
Ordnern. Leiten Sie beispielsweise Suchvorgänge, Verknüpfungen, Kontakte, Gespeicherte Spiele oder
Favoriten um – was unter Windows Vista möglich ist –, sind Sie damit wahrscheinlich gut bedient. Bei
umfangreicheren oder komplexeren Ordnern, beispielsweise Dokumente, wollen Sie wahrscheinlich
dafür sorgen, dass die Umstellung schnell, problemlos und vollständig erfolgt. Für diese Fälle schlage
ich vor, das Kontrollkästchen zu deaktivieren und ein Verfahren einzuführen, das den Benutzerordner
Dokumente unmittelbar vor dem Augenblick an den neuen Ort verschiebt, in dem er von der Richtlinie
für die Ordnerumleitung erfasst wird. Nachdem die Daten übertragen sind, wird die Umleitungsrichtlinie angewendet. Mit diesem Ansatz können Sie gewährleisten, dass die Umstellung erfolgreich ist. Er
hält sich an alle Regeln und jede Logik, die Sie dafür aufgestellt haben, und sorgt außerdem dafür, dass
der Benutzer bei der ersten Anmeldung nicht übermäßig aufgehalten wird.
Wichtig Bei umfangreichen oder komplexen Datenstrukturen wie Dokumente, Desktop, AppData, Bilder,
Musik und Videos sollten Sie das Kontrollkästchen Den Inhalt von <Ordner> an den neuen Ort verschieben
deaktivieren und den Ordnerinhalt auf andere Art verlagern.
Beachten Sie, dass sich diese Umleitungseinstellung für einen Ordner nicht ändert. Haben Sie wie in
Lösung 3.4 beschrieben einen vollständig aufgelisteten Namespace bereitgestellt und werden die Ordner
der Benutzer aufgrund einer Gruppenrichtlinie nach \\<Namespace>\%username%\documents umgeleitet, wenn ein Benutzer von New York nach Sydney umzieht, erfolgt keine Änderung der Umleitungseinstellung des Clients. Der Ordner Documents wird immer noch zu demselben Pfad umgeleitet – Sie
ändern einfach sein Ordnerziel im DFS-Namespace. Diese Richtlinie ist damit nutzlos – Sie müssen die
Daten auf andere Weise verschieben, beispielsweise mit einem Robocopy-Skript wie dem in Lösung 3.10
vorgestellten.
3.5 Entwerfen und Ausführen der Ordnerumleitung 227
Einstellungen für den Fall einer Richtlinienänderung
Die letzte Entscheidung, die Sie beim Aufstellen von Richtlinien für die Ordnerumleitung treffen
müssen, betrifft die Verfahrensweise bei einer Änderung oder beim Löschen der in Kraft befindlichen
Einstellung in der Gruppenrichtlinie. Die folgenden vier Szenarien können zum Löschen einer Richtlinie führen:
„ Das Gruppenrichtlinienobjekt wird gelöscht oder seine Benutzereinstellungen werden deaktiviert.
„ Der Benutzer unterliegt nicht mehr dem Gruppenrichtlinienobjekt, weil der Link dorthin deaktiviert
ist oder ein Filter, beispielsweise ein Sicherheitsgruppenfilter, die Richtlinieneinstellungen des
Objekts nicht mehr auf den Benutzer anwendet.
„ Die gültige Einstellung des Benutzers für die Umleitung des Ordners wird geändert, weil ein anderes Gruppenrichtlinienobjekt Vorrang hat.
„ Die Einstellung des Gruppenrichtlinienobjekts für die Ordnerumleitung wird auf Nicht konfiguriert
gesetzt.
Wählen Sie die Option Ordner nach Entfernen der Richtlinie zurück an den Ort des lokalen Benutzerprofils umleiten, wird der Benutzerschnittstellenordner (beispielsweise Dokumente) an den Standardordner im Benutzerprofil umgeleitet und die Daten werden an den Ort des Benutzerprofils kopiert
(nicht verschoben), ohne dass diese nicht unbedeutende Kopieraktion in der Benutzerschnittstelle
sichtbar ist. Um es noch einmal zu betonen: Sämtliche Daten im umgeleiteten Ordner werden an den
Ort des Benutzerprofils kopiert, wenn die Richtlinie entfernt wird, was in seiner Auswirkung das
Gegenteil der Einstellung Den Inhalt von <Ordner> an den neuen Ort verschieben ist: Diese Einstellung verschiebt die Daten an den neuen Ort, wenn die Richtlinie zum ersten Mal angewendet wird.
Das häufigste Szenario, bei dem Richtlinien für die Ordnereinstellung gelöscht werden, ist in der Praxis
die Versetzung eines Benutzers an einen anderen Ort. Ein Benutzer aus New York wird beispielsweise
nach Sydney versetzt und deshalb das Active Directory-Objekt, das ihn darstellt, von einer New Yorker
Organisationseinheit in eine Organisationseinheit in Sydney verschoben. Für die Benutzer der australischen Organisationseinheit gilt ein anderes Gruppenrichtlinienobjekt, das Ordner auf den dortigen
Server umleitet. Sie wissen bereits aus Lösung 3.4¸ dass Namespaces auf Standortbasis für Benutzerdaten und -einstellungen zu anderen Problemen führen.
In solchen und den meisten anderen Situationen sollten Sie die Option Ordner nach Entfernen der
Richtlinie am neuen Ort belassen wählen, was eigentlich Folgendes bedeutet: »Lass die Daten in dem
Ordner, den dieses Gruppenrichtlinienobjekt angibt, und behalte die Umleitung zu diesem Ordner bei.«
Gilt das Gruppenrichtlinienobjekt, das Ordner auf einen Server in New York umleitet, nicht mehr für
den Benutzer, der nach Sydney wechselt, werden seine Daten in diesen Ordnern nicht in das lokale
Benutzerprofil kopiert.
Wird jedoch die bereits beschrieben Option Den Inhalt von <Ordner> an den neuen Ort verschieben im
Gruppenrichtlinienobjekt in Sydney aktiviert, führt sie zur Übertragung der Ordner des Benutzers vom
New Yorker Server auf den in Sydney.
Die Wahlmöglichkeiten beim Entfernen einer Richtlinie bedeuten also eigentlich entweder »Kopiere
die Daten des Benutzers in das lokale Profil« oder »Lass die Daten, wo sie sind«, wenn das Gruppenrichtlinienobjekt nicht mehr gilt. Wird ein anderes Gruppenrichtlinienobjekt wirksam, werden die Ordner an die dort festgelegten Ziele umgeleitet, wobei die dortige Einstellung Den Inhalt von <Ordner>
an den neuen Ort verschieben bestimmt, ob durch die Ordnerumleitung Daten verlagert werden.
228 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Eine interessante Lösung ergibt sich, wenn Sie beide Optionen wählen, also Den Inhalt von <Ordner>
an den neuen Ort verschieben und Ordner nach Entfernen der Richtlinie zurück an den Ort des lokalen
Benutzerprofils umleiten. Stellen Sie sich ein Szenario mit zwei Orten vor: New York und Sydney. Das
eine Gruppenrichtlinienobjekt leitet New Yorker Benutzer auf New Yorker Server um. Es ist mit der
New Yorker Organisationseinheit verknüpft oder wird anhand einer Sicherheitsgruppe gefiltert, die die
New Yorker Benutzer umfasst (beispielsweise LOC_NYC). Eine anderes Gruppenrichtlinienobjekt
leitet Benutzer in Sydney auf die gleiche Weise auf Server in Sydney um. Daneben gibt es eine dritte
Organisationseinheit – nennen wir sie »Benutzer im Übergang« –, für deren Benutzer keine Richtlinieneinstellung für die Ordnerumleitung besteht.
Eine Benutzerin in New York sorgt dafür, dass ihre Ordner auf den dortigen Server umgeleitet werden.
Sie wird demnächst nach Sydney versetzt. Ihr Rechner ist ein Laptop. Vor ihrem letzten Tag in New
York wird ihr Benutzerobjekt in die Organisationseinheit Benutzer im Übergang verschoben. Wenn sie
sich anmeldet, gilt das Gruppenrichtlinienobjekt mit der Umleitung nach New York nicht mehr für sie.
Dessen Einstellung für den Fall, dass eine Gruppenrichtlinie entfernt wird, veranlasst, dass ihre Daten
an den Ort ihres lokalen Benutzerprofils kopiert werden. Dann beginnt ihr Umzug, während ihr Objekt
in die Organisationseinheit in Sydney verschoben wird. Wenn sie in Sydney ankommt und sich anmeldet, unterliegt sie dem dortigen Gruppenrichtlinienobjekt für Ordnerumleitung, sodass die dortige
Einstellung Den Inhalt von <Ordner> an den neuen Ort verschieben dazu führt, dass der Inhalt ihres
Ordners aus ihrem Profil auf den Server in Sydney verschoben wird. Anders ausgedrückt: Diese beiden
Einstellungen und die vorübergehende Unterbringung der Benutzerin in einer Organisationseinheit
ohne Richtlinie für Ordnerumleitung führen dazu, dass sie ihren Wechsel selbst durchführen kann. Die
Daten vom New Yorker Server wanderten auf ihren Laptop, den sie nach Sydney mitnimmt, und dann
auf den dortigen Server. Das klingt großartig und ist auch so. Sie müssen nur bedenken, dass die Übertragung der Daten lange dauern kann, insbesondere bei Ordnern wie Dokumente.
Beachten Sie, dass sich eine ähnliche Datenübertragung auch dadurch erreichen lässt, dass für die
Benutzer in der Organisationseinheit Benutzer im Übergang ein Gruppenrichtlinienobjekt eingerichtet
wird, das Ziele für die Ordnerumleitung mit der Option Ordner nach Entfernen der Richtlinie zurück an
den Ort des lokalen Benutzerprofils umleiten festlegt.
Unterstützung der Umleitung für Benutzer mit sowohl Windows XP
als auch Windows Vista
Befinden sich im Gültigkeitsbereich eines Gruppenrichtlinienobjekts für Ordnerumleitung Benutzer,
die sowohl mit Windows XP als auch mit Windows Vista arbeiten, müssen Sie die Richtlinie so einrichten, dass sie für alle Plattformen gilt, und dafür sorgen, dass sie auch die Ordner Bilder, Musik und
Videos erfasst. Planen Sie die Umstellung von Windows XP auf Windows Vista und unterstützen Sie
dabei die Ordnerumleitung, müssen Sie dies ebenfalls beim Entwurf berücksichtigen.
Umleitungsrichtlinie auch auf die Betriebssysteme Windows 2000, Windows 2000 Server,
Windows XP und Windows Server 2003 anwenden
Diese Option mit ihrem langen Namen, die ich mit Auch auf Windows XP anwenden abkürzen werde,
sehen Sie in Abbildung 3.16. Sie ist die wichtigste Einstellung zur Unterstützung der Umleitung auf
allen Plattformen. Wenn Sie das zugehörige Kontrollkästchen aktivieren, wird die Umleitungsrichtlinie
in einem Format geschrieben, das mit den aufgeführten Betriebssystemen kompatibel ist. Verzichten
Sie darauf, wird sie in einem Format abgefasst, das nur Windows Vista und Windows Server 2008
verstehen. Besteht die Wahrscheinlichkeit, dass sich irgendein von dieser Gruppenrichtlinie betroffener
3.5 Entwerfen und Ausführen der Ordnerumleitung 229
Benutzer bei einem System mit einem der genannten Betriebssysteme anmeldet und Zugriff auf seine
umgeleiteten Ordner braucht, sollten Sie das Kontrollkästchen aktivieren. Benötigen alle Benutzer im
Gültigkeitsbereich des Gruppenrichtlinienobjekts nur von Systemen mit Windows Vista oder Windows
Server 2008 aus Zugriff auf ihre umgeleiteten Ordner, können Sie es lassen.
Die Einstellung Auch auf Windows XP anwenden steht nur in Ordnerumleitungsrichtlinien für Dokumente, Bilder, Desktop, AppData und das Startmenü zur Verfügung, da es sich um die einzigen Ordner
handelt, die die früheren Windows-Versionen mithilfe einer Gruppenrichtlinie umleiten können.
Wichtig Ich empfehle Ihnen, das Kontrollkästchen für die Einstellung Auch auf Windows XP anwenden immer
zu aktivieren, außer wenn eine Ordnerumleitungsrichtlinie ausschließlich für Windows Vista-Benutzer gilt.
Nebenwirkungen der Richtlinie Auch auf Windows XP anwenden
Wichtig ist, dass diese Einstellung das Verhalten der Option Einen Ordner für jeden Benutzer im
Stammpfad erstellen für Ordnerziele beeinflusst. Ist die Einstellung Auch auf Windows XP anwenden
aktiviert, bekommt der Unterordner, der unter dem Stammpfad angelegt wird, den Windows XPNamen Eigene Dokumente – beispielsweise \\contoso.com\users\clair\my documents.
Die Funktionalität des umgeleiteten Ordners bleibt vollkommen unangetastet, der Ordnername selbst
ist aber ein herkömmlicher. Das ist problematisch, wenn Sie meine Anleitung befolgt und einen Vorgang für die Bereitstellung von Benutzerdatenspeichern erstellt haben, beispielsweise das Skript
UDS_UserFolder_Provision_DFS.vbs, das einen konsistenten Namespace mit Windows Vistakompatiblen Namen wie Dokumente für jeden Benutzer anlegt.
Eine noch merkwürdigere Folge der gleichzeitigen Verwendung der Richtlinieneinstellungen Auch auf
Windows XP anwenden und Einen Ordner für jeden Benutzer erstellen besteht darin, dass Windows
Explorer den Pfad als E:\Users\<benutzername>\Documents anzeigt, obwohl er auf dem Server
E:\Users\<benutzername>\My Documents lautet, was den Unterordner My Documents einschließt. Windows Explorer zeigt den Aliasnamen des Ordners, was in die Irre führen kann, wie ich aus eigener Erfahrung weiß. Ich hatte Mühe damit, einen Benutzer mit seinem umgeleiteten Dokumentordner zu verbinden. Dabei meldete ich mich über Remotedesktop bei dem Server an, um mich noch einmal zu
überzeugen, dass der Pfad richtig ist. Er wurde in Windows Explorer als E:\Users\<benutzername>\Documents angezeigt, aber der UNC-Pfad \\server\users$\<benutzername>\documents funktionierte einfach nicht. Nach einer Viertelstunde Haareraufen stellte ich fest, dass \\server\users$\<benutzername>\my documents gebraucht wurde. Und tatsächlich, die Anzeige des Ordners von der Befehlszeile
aus erforderte den Befehl CD zum Wechsel in den Unterordner …\My Documents.
Selbst in einer gemischten Windows XP- und Windows Vista-Umgebung sind Sie besser dran, wenn
Sie den Pfad zum Ort des Ordnerziels einfach mit \\<Namespace>\%username%\documents angeben,
sodass alle neuen Ordner in einem vollständig kompatiblen Namespace erstellt werden. Ich empfehle
Ihnen, in Zukunft Ordnernamen »neuer Schule« wie Dokumente anstelle von Eigene Dokumente zu
verwenden. Um dies zu erreichen, nutzen Sie Ordnerzieloption An folgenden Pfad umleiten und geben
\<Namespace>\%username%\documents an. Mit dieser Einstellung sucht das Gruppenrichtlinienobjekt sowohl für Windows Vista- als auch für Windows XP-Clients einen Ordner Documents (nicht
My Documents), legt ihn ggf. an und benutzt ihn, was Ihnen dabei hilft, zum Profilnamespace von Windows Vista überzugehen. Dabei handelt es sich wiederum in erster Linie nicht um ein funktionelles,
sondern um ein kosmetisches Problem, aber ich bin inzwischen über die Liebesaffäre mit »My« bzw.
»Eigene« hinweg. Denken Sie daran, dass Ihre Windows XP-Benutzer auf ihrem Desktop immer noch
den Ordner Eigene Dokumente sehen – dies ist lediglich eine Hilfe für uns am Back-End.
230 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Wichtig Die beste Einstellung für den Ort eines Ordnerumleitungsziels lautet An folgenden Pfad umleiten
mit Ihrem konkreten Namespace als Stammpfad – beispielsweise \\<Namespace>\%username%\[Dokumente | Desktop | usw.]. Damit gewährleisten Sie ein konsistentes Erscheiningsbild am Front- und Back-End
für Benutzer mit Windows XP und Windows Vista.
Umleitungsrichtlinien für Bilder, Musik und Videos
Die Ordner Bilder, Musik und Videos erfordern besondere Beachtung. Der Ordner Eigene Bilder ist
unter Windows XP standardmäßig ein Unterordner von Eigene Dokumente, genau wie Eigene Musik
und Eigene Videos. Wie Sie wissen, sind Bilder, Musik und Videos jetzt unter Windows Vista Unterordner des Benutzerprofils.
Wenn Sie den Ordner Dokumente umleiten und sich ein Benutzer, für den die Richtlinie gilt, sowohl bei
Windows XP als auch bei Windows Vista anmeldet, müssen Sie – wegen der Kompatibilität mit Windows XP – dafür sorgen, dass Musik und Videos Unterordner von Dokumente bleiben, sonst sieht der
Benutzer bei der Anmeldung bei den beiden Betriebssystemen unterschiedliche Orte. Leiten Sie Dokumente um und aktivieren Auch auf Windows XP anwenden, wählt der Editor für die Ordnerverwaltung
für Bilder, Musik und Videos glücklicherweise automatisch Dem Ordner Dokumente folgen, solange die
Richtlinien Nicht konfiguriert lauten. Wird eine Richtlinie für einen der drei Ordner auf Standard oder
Erweitert gesetzt, ändert die Richtlinieneinstellung Auch auf Windows XP anwenden für Dokumente
dies nicht, sodass die Ordner nicht dem Ordner Dokumente folgen und für Windows Vista-Clients und
solche mit älteren Windows-Versionen eigene Ordner verwendet werden.
Wichtig Eine Methode, um sicherzustellen, dass die Ordner Bilder, Musik und Videos umgeleitet und kompatibel mit Windows Vista-Clients und solchen mit älteren Windows-Versionen bleiben, besteht darin, dafür
zu sorgen, dass ihre Umleitungsrichtlinien auf Dem Ordner Dokumente folgen gesetzt sind.
Umleitung ohne Gruppenrichtlinien: Favoriten, Musik, Bilder und Videos
Ihnen steht noch eine andere Option zur Verfügung: die Umleitung von Favoriten, Musik, Bilder und
Videos für Windows XP-Clients ohne Gruppenrichtlinien. Indem Sie die jeweiligen Werte in der
Windows XP-Registrierung auf einen Netzwerkspeicher für diese Ordner zeigen lassen, können Sie sie
umleiten. Anschließend können Sie sie mit Standardgruppenrichtlinieneinstellungen für Windows
Vista-Clients in denselben Netzwerkspeicher umleiten.
Die Ordnerumleitungsrichtlinie in Windows XP unterstützt die Umleitung von Eigene Bilder an einen
anderen Ort, obwohl die Benutzerschnittstelle der Erweiterung zur Ordnerumleitung den Vorgang recht
interessant machte. Favoriten, Eigene Musik und Eigene Videos lassen sich unter Windows XP nicht
mit Gruppenrichtlinien umleiten. Sie können Shell-Ordner aber mithilfe der Registrierung umleiten.
Die Konzepte und Ansätze, die ich hier aufzeige, gelten auch für andere Shell-Ordner – beispielsweise
SendTo, NetHood, PrintHood usw. –, aber ich hatte noch nicht das Bedürfnis, andere als die Medienordner oder Favoriten umzuleiten.
Die Umleitungsziele sind in der Registrierung unter HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer definiert. Hier sind zwei untergeordnete Schlüssel relevant:
Shell Folders und User Shell Folders. Der zweite enthält die primäre Definition der Ordnerziels. In
Abbildung 3.17 sehen Sie, dass jeder Shell-Ordner einen Wert vom Typ REG_EXPAND_SZ aufweist.
Der Name des Werts ist der Ordnername, der Wert das Ordnerziel. Es kann die Umgebungsvariable
%USERPROFILE% oder %USERNAME% enthalten, beispielsweise %USERPROFILE%\Eigene
Dokumente\Eigene Musik – den Standardort für den Ordner Eigene Musik. Wie Abbildung 3.17 zeigt,
3.5 Entwerfen und Ausführen der Ordnerumleitung 231
können Sie jeden Ordner umleiten, genauso wie wir Favoriten, Musik, Bilder und Videos nach \\contoso.com\users\%USERNAME%\<ordner> umgeleitet haben. Obwohl es sich um einen Windows XPClient handelt, habe ich einen Ordnernamen und einen Ort gewählt, der zur Struktur von Windows Vista
passt, damit die Umstellung auf Windows Vista einfacher wird.
Abbildung 3.17 Der Registrierungsschlüssel für die Shell-Benutzerordner
Um die Änderung der Registrierungswerte für die Shell-Benutzerordner auf Clients zu automatisieren,
gibt es zahlreiche Optionen, darunter Zusammenführungsdateien für die Registrierung (REG), Skripts
in VBScript oder Batchdateien mit dem Befehl REG. Ich empfehle Ihnen, Daten in den neuen Ordner zu
verschieben, bevor Sie den Wert ändern, obwohl ich noch nicht erlebet habe, dass es Probleme gab,
wenn es hinterher geschah. Der Benutzer muss sich ab- und wieder anmelden, bevor Windows Explorer
die umgeleiteten Shell-Ordner vollständig nutzt. Verfügen Benutzer bereits über Kataloge wie die
Bibliotheksdatenbank für den Windows Media Player, müssen diese aktualisiert werden.
Die einfachsten Methoden, den Erfolg zu testen, sind erstens, etwas im Ordner Favoriten auf dem
Server abzulegen und dann im Menü Internet Explorer-Favoriten nachzusehen, ob es erscheint. Öffnen
Sie anschließend Windows Media Player, wählen Sie Bibliothek und Zu Bibliothek hinzufügen. Klicken
Sie auf Erweiterte Optionen¸ um Überwachte Ordner zu sehen. Hier sollten Sie die drei umgeleiteten
Ordner finden (siehe Abbildung 3.18). Dass Windows Media Player, der die Shell-Ordner Musik, Bilder
und Videos sucht, die Überwachung der umgeleiteten Ordner meldet, ist ein gutes Zeichen.
In der Registrierung finden Sie auch den untergeordneten Schlüssel Shell Folders (in Abbildung 3.17 nur
wenige Einträge über User Shell Folders), der ebenfalls Shell-Ordner in Ziele auflöst. Sie sehen dieselben
Werte – My Music, My Pictures usw. – wie im Schlüssel User Shell Folders. Der einzige Unterschied ist,
232 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
dass Shell Folders keine erweiterbaren Zeichenfolgen, sondern hartkodierte Pfade enthält (beispielsweise
C:\Dokumente und Einstellungen\<Benutzerprofilname>\Eigene Dokumente\Eigene Musik). Dies ist ein
älterer Schlüssel, der neue Werte für Shell-Ordner erzeugen sollte, nachdem die Werte in User Shell Folders geändert wurden und sich ein Benutzer ab- und wieder angemeldet hat. Erscheint Ihnen jedoch etwas
merkwürdig, sollten Sie sich davon überzeugen, dass die Werte in Shell Folders tatsächlich aktualisiert
wurden und den neuen vollständigen Ordnerpfad enthalten.
Abbildung 3.18 Windows Media Player mit umgeleiteten Ordnern
Macken und Bugs
Diese beiden Schlüssel enthalten einige Macken. Am ehesten werden Sie denen begegnen, die Eigene
Videos betreffen. Der Ordner in der Benutzerschnittstelle im Windows XP-Ordner Eigene Dokumente
heißt Eigene Videos. Die Registrierungswerte sowohl in User Shell Folders als auch in Shell Folders
sind mit My Video (Singular) bezeichnet. Erstellen Sie einen Wert My Videos, funktioniert es nicht. Die
zweite Eigenheit ist, dass diese Werte (besonders My Music und My Video) möglicherweise erst erscheinen, nachdem Sie Windows Media Player geöffnet haben. Wenn Sie sie anlegen, bevor Sie Windows
Media Player öffnen, werden sie glücklicherweise als maßgebend akzeptiert. Sie können den Wert also
anlegen, falls er nicht vorhanden ist. Die dritte Macke besteht darin, dass Sie selbst nach dem Öffnen
von Windows Media Player in User Shell Folders möglicherweise keinen Wert für My Video finden.
Wenn Sie den Wert aber mit dem Typ REG_EXPAND_SZ hinzufügen, klappt es nach meiner Erfahrung
hervorragend, auch die Aktualisierung des Wertes in Shell Folders beim nächsten Ab- und Anmelden.
Das Umleiten von Shell-Ordnern hat innerhalb der Benutzerschnittstelle zahlreiche Auswirkungen. Ist
der Link Bilder Bestandteil Ihres Windows XP-Startmenüs und leiten Sie Eigene Bilder in einen
Ordner Bilder um (ein Name nach Windows Vista-Art ohne »My« bzw. »Eigene«), wird der Link im
Startmenü ebenfalls als Bilder angezeigt. Wundern Sie sich nicht.
Der folgende Umstand ist nirgends dokumentiert: Der Name, der in der Windows-Benutzerschnittstelle
erscheint, ist – aus welchem Grund auch immer – nicht hartkodiert (also Bilder oder Eigene Bilder),
und er ist auch nicht das letzte Element des Namespacepfads zum umgeleiteten Ordner. Lautet das
Ordnerziel \\contoso.com\users\%username%\pictures, lautet der Name nicht zwangsläufig »Pictures«.
Um den in der Benutzerschnittstelle sichtbaren Namen für den Ordner zu erzeugen, wird tatsächlich der
Ordner selbst verwendet – also in einem vollständig aufgelisteten DFS-Namespace der Name des DFSOrdners oder, wenn das Ordnerziel tiefer liegt als der DFS-Namespace, der physische Ordner auf dem
3.5 Entwerfen und Ausführen der Ordnerumleitung 233
Server Wenn Sie den Ordner Bilder eines Benutzers nach \\contoso.com\users\%username%\pictures
umleiten und der Ordner im DFS-Namespace wirklich Pictures heißt, sehen Sie in der Benutzerschnittstelle wirklich Pictures, was für die meisten Benutzer ziemlich merkwürdig aussieht. Benennen Sie den
Ordner im DFS-Namespace in Bilder um, zeigt die Benutzerschnittstelle dies bei der nächsten Anmeldung auch an.
Ich betone dies besonders, weil die Skripts zu diesem Buch den DFS-Namespace mit dem Befehl
DFSUTIL anlegen, der zumindest bei Release Candidate 1 von Windows Server 2008 fehlerhaft ist: Er
erzeugt für DFS-Ordner nur noch Namen mit Kleinbuchstaben, auch wenn im Befehl Großbuchstaben
stehen. Wir erhalten also DFS-Namespaceordner mit kleinem Anfangsbuchstaben, was zu Benutzerschnittstellenelementen mit kleinen Anfangsbuchstaben führt. Auf der Website zu diesem Buch
(www.intelliem.com/resourcekit) finden Sie wahrscheinlich eine Lösung für dieses Problem, wenn Windows Server 2008 auf dem Markt ist.
Vorteile der Umleitung mit der Registrierung
Der erste Vorteil der Umleitung mit der Registrierung ist, nun ja, die Umleitung! Angenommen, Sie
hätten die Benutzerdatenspeicher gern im Netzwerk, so können Sie sie dorthin verlagern. Eigene Musik,
Eigene Videos und Eigene Musik wären sowieso dorthin gekommen, wenn Sie ihnen erlaubt hätten,
dem Ordner Dokumente zu folgen, was das Standardverhalten ist. Jetzt können Sie aber auch Favoriten
und jeden anderen Shell-Ordner dort unterbringen.
Zweitens können Sie den physischen und den logischen Namespace (DFS) vereinheitlichen, in denen
die Benutzerdaten für Windows Vista- und Windows XP-Clients abgelegt sind. Windows XP leitet
Eigene Musik in einen Ordner Musik um, Eigene Bilder in einen Ordner Bilder und Eigene Videos in
einen Ordner Videos. Die Gruppenrichtlinieneinstellungen für die Ordnerumleitung bringen die
Windows Vista-Ordner an dieselben Orte.
Nachteile der Umleitung mit der Registrierung
Es gibt nicht viele Nachteile, vorausgesetzt, Sie wollen tatsächlich einen bestimmten Shell-Ordner
umleiten. Um die Umleitung zu erreichen, müssen Sie ein bisschen mehr arbeiten, indem Sie die
Windows XP-Registrierung mithilfe eines Skripts, einer REG-Datei oder etwas Ähnlichem an den
richtigen Stellen bearbeiten. Sie verzichten auch auf die tollen Funktionen der echten Umleitungsrichtlinien: Sie können die Option Dem Benutzer exklusive Zugriffsrechte erteilen nicht nutzen und sie
nicht automatisch in Kraft setzen, können Inhalte nicht mithilfe von Optionen verschieben und nicht
festlegen, was geschehen soll, wenn die Richtlinie nicht mehr gilt, weil es keine Richtlinie gibt. Ich
habe Ihnen jedoch empfohlen, dies auch dann nicht zu tun, wenn Sie es tun können.
Empfehlung
Leiten Sie diese Ordner um, wenn Sie sie auf dem Server haben wollen. Ich gehe davon aus, dass Favoriten ein Kinderspiel ist. Vermutlich bestimmen Ihre IT-Sicherheitsvorschriften, Ihre Nutzungsrichtlinien, Ihre Geschäftsanforderungen und Ihre Speicherkapazität, ob Bilder, Musik und Videos umgeleitet
werden. Ich schlage vor, die physischen Speicher für diese Ordner zusammen mit denen für Desktop
und Dokumente im Ordner Users\%username%\data unterzubringen. Es sind schließlich nur weitere
Datenspeicher, die in den meisten Situationen genauso verwaltet werden wie Desktop und Dokumente
und denselben Kontingenten unterliegen.
Außerdem müssen Sie Ihren DFS-Namespace erweitern, wenn Sie einen vollständig aufgelisteten
Namespace nutzen. Dieses Problem gehen wir gleich an.
234 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Wichtig Eine weitere Option für die Umleitung der Ordner Favoriten, Bilder, Musik und Videos für Windows
Vista-Clients und solche mit älteren Windows-Versionen ist die Umleitung für Windows Vista-Clients mithilfe
von Gruppenrichtlinien und für Windows XP-Clients mithilfe der Registrierung.
Entfernen der Unterordner »Eigene Musik« und »Eigene Bilder«
Wenn Sie Eigene Musik und Eigene Bilder umleiten, verschieben oder löschen Windows XP-Clients
die Unterordner Eigene Musik und Eigene Bilder im Ordner Eigene Dokumente nicht. Sie sollten diese
Ordner gleichartig behandeln: Verschieben Sie die Daten daraus an den neuen Ort und löschen Sie die
Ordner dann, um Verwirrung zu vermeiden.
Bereitstellen einer Möglichkeit zum Auffinden der Ordner
Wenn Sie die Unterordner Eigene Musik und Eigene Bilder löschen (was sinnvoll ist), geraten die
Benutzer möglicherweise in Verwirrung, wenn sie daran gewöhnt sind, sie in Eigene Dokumente zu
finden, insbesondere, wenn sie normalerweise durch Eigene Dokumente hindurch zu den Ordnern
gelangen. Ich schlage vor, die Umleitung von Eigene Musik und Eigene Bilder mit zwei weiteren Maßnahmen zu verbinden: Erstellen Sie erstens im Ordner Eigene Dokumente Verknüpfungen, die auf die
neuen Orte zielen. Dann gibt es ein sichtbares Werkzeug, mit dem sich die Benutzer genau wie vorher
bewegen können, als die beiden Ordner noch Unterordner waren. Nehmen Sie Eigene Musik und
Eigene Bilder zweitens ins Startmenü auf, was Sie durch Anpassen der Eigenschaften des Startmenüs
erreichen.
Erzielen einer einheitlichen Umgebung für Windows XP
und Windows Vista mit umgeleiteten Ordnern
Um diese Lösung abzuschließen, stelle ich Ihnen zwei tolle Werkzeuge vor, mit denen Sie die umgeleiteten Ordner für Windows XP und Windows Vista vereinheitlichen können.
Erstellen sämtlicher Benutzerdatenspeicher
Das erste Werkzeug bildet die nächste logische Stufe unseres Bereitstellungsskripts aus Lösung 3.4. Es
heißt UDS_UserFolders_Extended_Provision_DFS.vbs und wird mit derselben Syntax aufgerufen wie
das Skript aus der vorherigen Lösung:
cscript UDS_UserFolders_Extended_Provision_DFS.vbs e:\users\jfine
/dfs:yes /server:server01 /userfirstname:James /userlastname:Fine
An der Befehlszeile werden die folgenden Argumente bereitgestellt:
„ Der Pfad zum obersten Ordner des Benutzers (%username%) auf dem UDS-Server
„ /dfs: Y (oder Yes), wodurch das Skript im Modus zum Erstellen von DFS-Namespaces läuft, sodass
die DFS-Ordner und Links für den Benutzer in einem vollständig aufgelisteten Namespace angelegt werden (Entwurfsoption 1).
„ /server:<servername>, der Name des Servers, auf dem sich die Daten des Benutzers befinden
„ /userfirstname:<Vorname des Benutzers> und userlastname:<Nachname des Benutzers>. Aus diesen beiden Argumenten wird im DFS-Ordner ein Kommentar für den Benutzer erstellt, damit Sie
dort nachsehen können, wenn Sie den Besitzer des Ordners nicht aus dem Benutzernamen erschließen können.
3.5 Entwerfen und Ausführen der Ordnerumleitung 235
Der einzige Unterschied zwischen diesem Skript und UDS_UserFolders_Provision_DFS.vbs aus der
vorherigen Lösung besteht in den zusätzlichen Namespacedefinitionen in der Konfigurationssubroutine
und darin, dass sowohl im physischen als auch im DFS-Namespace mehr Ordner angelegt werden.
Diese Namespaces sehen Sie in Abbildung 3.19:
Abbildung 3.19 Der physische und der DFS-Namespace wurden erweitert, um die
umgeleiteten Ordner Favoriten, Musik, Bilder und Dokumente aufzunehmen
Sie müssen das Skript UDS_UserFolders_Extended_Provision_DFS.vbs anpassen. Lesen Sie zuerst die
Erklärung zu UDS_UserFolders_Provision_DFS.vbs in der vorherigen Lösung nach und gehen Sie
dann die Kommentare im Skript selbst durch.
Konfigurieren der Ordnerumleitung für Favoriten, Bilder, Musik und Videos
von Windows XP mit Gruppenrichtlinien
Wer hat behauptet, Sie könnten die Ordner Favoriten, Musik und Videos nicht mithilfe von Gruppenrichtlinien umleiten? Ich war's nicht! Ich habe (hoffentlich) gesagt, dass Sie die Gruppenrichtlinien
unter Ordnerumleitung nicht verwenden können. Es stimmt, die Umleitung mit Gruppenrichtlinien
unterstützt unter Windows XP nicht alle Ordner, für die wir sie brauchen. Aber die Registrierung tut es!
Was in die Registrierung aufgenommen werden kann, kann mit Gruppenrichtlinien dorthin gelangen.
Wir brauchen nur anstelle der clientseitigen Erweiterung für die Ordnerumleitung diejenige für die
Registrierung zu benutzen.
Dazu müssen wir eine benutzerdefinierte Verwaltungsvorlage erstellen, um passende Richtlinieneinstellungen festlegen zu können. Den Kern dieser Vorlage bekommen Sie gleich zu sehen. Sie brauchen
die vollständige Version Registry Based Folder Redirection for pre-Vista Clients.adm aus dem Ordner
Scripts auf dem Begleitmedium. Fügen Sie sie in ein Gruppenrichtlinienobjekt ein und schalten Sie die
Filterung nicht verwalteter Richtlinien aus (sonst erscheinen die Einstellungen nicht), dann können Sie
loslegen! Wenn Ihnen die Arbeit mit Verwaltungsvorlagen nicht vertraut ist, können Sie in Lösungsgruppe 10 nachschlagen, wo ich die Vorgänge detailliert erläutere.
Registry-Based Folder Redirection for Pre-Vista Clients.adm
CLASS USER
CATEGORY !!Redirect
KEYNAME "Policies\Software\Microsoft\Windows\
CurrentVersion\Explorer\User Shell Folders"
POLICY !!Favorites
EXPLAIN !!FavoritesExplain
236 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
PART !!FavoritesPath EDITTEXT REQUIRED EXPANDABLETEXT
DEFAULT !!FavoritesDefault
VALUENAME "Favorites"
END PART
END POLICY
POLICY !!Music
EXPLAIN !!MusicExplain
PART !!MusicPath EDITTEXT REQUIRED EXPANDABLETEXT
DEFAULT !!MusicDefault
VALUENAME "My Music"
END PART
END POLICY
POLICY !!Pictures
EXPLAIN !!PicturesExplain
PART !!PicturesPath EDITTEXT REQUIRED EXPANDABLETEXT
DEFAULT !!PicturesDefault
VALUENAME "My Pictures"
END PART
END POLICY
POLICY !!Videos
EXPLAIN !!VideosExplain
PART !!VideosPath EDITTEXT REQUIRED EXPANDABLETEXT
DEFAULT !!VideosDefault
VALUENAME "My Video"
; Kein Druckfehler: der Wert heißt My Video (Singular)
END PART
END POLICY
END CATEGORY
; Definitionaller String ariablen (!!)follgen
; Siehe .adm-Datei auf dem Begleitmedium
Mit dem Skript und der Verwaltungsvorlage können Sie ohne Zeitverzögerung Datenspeicher verlagern
und Benutzer dorthin leiten – sowohl unter Windows XP als auch unter Windows Vista. Und da sagte
man, das sei nicht möglich! (Tatsächlich hat »man« das nie gesagt ... aber man hat es auch nicht leichtgemacht.)
Zusammenfassung
In dieser Lösung ging es im Detail um Funktionalität, Konfiguration und Geschäftsszenarien, die Richtlinien für die Ordnerumleitung voraussetzen. Wir haben uns die Feinheiten und Macken der Erweiterung
zur Ordnerumleitung und die Standardeinstellungen angesehen, die für Ihre Situation meistens nicht passen. Außerdem ging es um die Umleitung der Ordner Bilder, Musik und Videos mit Gruppenrichtlinien
und mit der Registrierung.
Mit den in diesem Kapitel bereitgestellten Werkzeugen und Anleitungen können Sie, wenn Sie wollen,
eine umfassende Ordnerumleitung vornehmen, die alle wesentlichen Speicher für Benutzerdaten und
3.6 Konfigurieren von Offlinedateien 237
-einstellungen außer Ntuser.dat umfasst. Leider verfügen Sie noch nicht über alle nötigen Informationen für die Entscheidung, welche Ordner Sie umleiten sollten. Warten Sie also mit dem Einrichten der
Umleitung, bis Sie die kommenden Lösungen durchgearbeitet haben.
Beachten Sie, dass die Umleitung des Ordners Application Data in dieser Lösung nicht erwähnt wurde.
Sie können ihn umleiten, werden aber feststellen, dass es wahrscheinlich noch zu früh im Lebenszyklus
Ihrer Anwendungen ist, um es mit voller Überzeugung zu tun. In späteren Lösungen dieser Gruppe geht
es um Entwurfsüberlegungen zu servergespeicherten Profilen, Offline- und lokalen Dateien. In ihrer
Gesamtheit ermöglichen Ihnen diese Informationen die Entscheidung, welche Ordner umgeleitet, welche
auf dem Server gespeichert werden und welche lokal bleiben sollen.
3.6 Konfigurieren von Offlinedateien
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Offlinedateien, Synchronisierung, csccmd.exe
Zusammenfassung
Aufzeigen der Feinheiten, Tricks und Stolperfallen bei Offlinedateien und Synchronisierung, damit Sie die Technologie mit
Ihren Unternehmensanforderungen in Einklang bringen können
Vorteile
Verfügbarkeit der Benutzerdaten und -einstellungen in umgeleiteten Ordnern für Laptopbenutzer
Einführung
Eine Aufgabe des UDS-Frameworks ist die Unterstützung von Benutzern, die ohne Verbindung zum
Netzwerk arbeiten, womit insbesondere Laptopbenutzer gemeint sind. Jeder Benutzerdatenspeicher,
auf den der Zugriff in erster Linie im Netzwerk stattfindet, muss offline verfügbar gemacht werden.
Dazu gehören natürlich gerade umgeleitete Ordner. Bei bestehender Netzwerkverbindung greifen die
Benutzer direkt auf dem Server auf die Dateien in den umgeleiteten Ordnern zu. Diese Dateien müssen
auch ohne Netzwerkverbindung zugänglich sein.
Die Windows-Funktion der Offlinedateien soll Benutzer unterstützen, die ohne Netzwerkverbindung
arbeiten. Sie macht die im Netzwerk gespeicherten Dateien und Ordner sichtbar und bietet Zugriff
darauf, indem sie die Dateien (mitsamt ihren Berechtigungen) in einem Offline-Cache zwischenspeichert (standardmäßig C:\Windows\CSC), der selbst verschlüsselt werden kann.
Netzwerkdateien werden durch die Synchronisierung in den Offlinecache kopiert, bei der Änderungen
zwischen den lokal zwischengespeicherten und den Netzwerkdateien repliziert werden. Windows aktiviert Offlinedateien standardmäßig, die Funktion kann aber auch vom Benutzer auf einem lokalen
Computer oder von einem Netzwerkadministrator für einen freigegebenen Ordner eingerichtet werden.
Offlinedateien können zwar in verschiedenen Situationen sinnvoll und vorteilhaft sein, das UDS-Framework nutzt sie jedoch insbesondere, um mobilen Benutzern das Zwischenspeichern ihrer umgeleiteten
Datenspeicher zu ermöglichen. Für dieses Szenario sind Einrichtung und Verwaltung im Allgemeinen
unkompliziert. Sollen beispielsweise die Daten und Einstellungen eines einzelnen Benutzers für den Offlinezugriff zwischengespeichert werden, brauchen wir uns nicht groß Gedanken über Konflikte aufgrund
von Änderungen an Dateien zu machen, denn an der Datei arbeitet nur ein Benutzer, der entweder online
oder offline ist.
238 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Hinter der Anleitung, die ich in dieser Lösung bereitstelle, steckt eine Menge Technologie und Konfiguration. Wenn Sie sich umfassend über Einzelheiten der Offlinedateien und ihrer Einrichtung informieren wollen, empfehle ich Ihnen die Erörterung dieses Themas in Jeremy Moskowitz' Buch Group
Policy: Management, Troubleshooting and Security For Windows Vista, Windows 2003, Windows XP
and Windows 2000 (Wiley 2007).
Grundlagen des Caches
Der Offlinecache (standardmäßig C:\Windows\CSC) dient dazu, Dateien aus Netzwerkfreigaben zu
speichern. Sie werden mitsamt den Zugriffsebenen (Berechtigungen) synchronisiert. Die Dateien können und sollten Sie aber nicht direkt im Ordner CSC öffnen, sondern über den umgeleiteten Ordner, den
UNC-Pfad oder das zugeordnete Laufwerk, das Sie benutzen würden, wenn Sie Verbindung zum Netzwerk hätten. Zu den erstaunlichsten Fähigkeiten der Offlinedateien gehört es, dass diese mit und ohne
Netzwerkverbindung im selben Namespace dargestellt werden. Eine Liste der Dateien, die Sie offline
verfügbar gemacht haben, mit dem Pfad zum Dateiursprung und ihrem aktuellen Status können Sie
unter Windows XP auf der Registerkarte Offlinedateien des Systemsteuerungsprogramms Offlinedateien sehen, unter Windows Vista im Systemsteuerungsprogramm Offlinedateien. Diese Darstellung
der Offlinedateien ist für die Verwaltung und Unterstützung sinnvoll, aber auf die Dateien selbst sollten
Sie weiterhin in ihrem eigenen Namespace zugreifen.
Grundlagen der Zwischenspeicherung
Die Funktion Offlinedateien unterstützt zwei Arten von Zwischenspeicherung: die aktive und die passive.
Aktives Zwischenspeichern bedeutet, dass ein Benutzer eine Datei offline verfügbar macht, indem er mit
der rechten Maustaste darauf klickt und im Kontextmenü Immer offline verfügbar (unter Windows XP
Offline verfügbar machen) wählt. Aktiv zwischengespeicherte Dateien bleiben offline verfügbar, bis der
Benutzer die betreffende Option für die jeweilige Datei aufhebt. Administratoren können auch mithilfe
einer Gruppenrichtlinie festlegen, dass eine Datei ständig offline zugänglich ist.
Beim passiven Zwischenspeichern werden Dateien dagegen synchronisiert und in den Cache kopiert,
nachdem in einer Netzwerkfreigabe ein Zugriff auf sie erfolgt ist. Damit soll sichergestellt werden, dass
Dateien, die allein dadurch als wichtig gelten, dass vor kurzem jemand darauf zugegriffen hat, verfügbar bleiben, wenn der Benutzer vom Netzwerk getrennt wird.
Unter Windows XP ist die Menge der Dateien, die passiv zwischengespeichert werden können, auf
einen einstellbaren Prozentsatz der Größe des Datenträgers begrenzt, auf dem der Ordner CSC liegt,
standardmäßig 10%. Wird diese Menge überschritten, werden die »ältesten« Dateien (deren Zugriff am
längsten zurückliegt) aus dem passiven Cache gelöscht, um Platz für weitere zu machen. Das aktive
Zwischenspeichern ist von dieser Einstellung nicht betroffen – der Benutzer kann so viele Dateien aktiv
zwischenspeichern, wie die lokale Festplatte aufnimmt.
Unter Windows Vista wird die Speicherung der Offlinedateien anders gehandhabt. Es gibt nun eine auswählbare Menge Speicherplatz (die bei der Installation des Betriebssystems als Prozentsatz angegeben
wird), den sich die aktiv und passiv zwischengespeicherten Dateien teilen. Passiv zwischengespeicherte
Dateien können einen von Ihnen wählbaren Prozentsatz des Caches für Offlinedateien nutzen. Ist dieser
voll und speichert das System eine neue Datei passiv, wird eine ältere passiv abgelegte Datei gelöscht.
Ist der Speicher voll und versucht ein Benutzer, eine weitere Datei aktiv zwischenzuspeichern, wird er
darüber informiert.
3.6 Konfigurieren von Offlinedateien 239
Grundlagen der Synchronisation
Die Synchronisation wird unter Windows XP von der Synchronisationsverwaltung gehandhabt. Sie
können für jede einzelne Freigabe und für jede Netzwerkverbindung festlegen, wann sie stattfinden
soll: bei der An- oder Abmeldung, nach Zeitplan oder in Leerlaufphasen. Außerdem können Sie die
Synchronisierung manuell starten und die gewünschten Freigaben auswählen.
Windows Vista verfügt über eine in fast jeder Beziehung verbesserte Synchronisierung. Sie ist erheblich effizienter und belastbarer und läuft größtenteils störungsfrei und unsichtbar im Hintergrund ab.
Die Benutzerschnittstelle enthält unter Vista keine Möglichkeit, eine Synchronisierung bei der Abmeldung einzurichten – sämtliche Dateien sollten bereits synchronisiert sein. Das Synchronisierungscenter
von Vista verschiebt etwaige Konflikte in eine Warteschlange und ermöglicht Ihnen, die Synchronisierung manuell zu starten. Außerdem gibt es zahlreiche APIs für die Synchronisierung, mit denen Sie
Skripts für fast alles schreiben können (auch für die Synchronisierung beim Abmelden).
Grundlagen des Offlinemodus
Wenn ein Server ausfällt, ist ein Dateizugriff im Cache möglich. Wie Ihr Computer z.B. im Flugzeug
feststellt, dass er sich nicht mehr im Netzwerk befindet, in den so genannten »Offlinemodus« übergeht
und auf Dateien im Cache zugreift, ist relativ leicht verständlich. In den Fällen, in denen der Benutzer
mit einem Server verbunden ist, der vom Netz geht, oder in denen die Verbindung zum Server ausfällt,
wird es komplizierter. Der Computer führt dann einen so genannten Zustandsübergang in den Offlinemodus durch. Noch komplizierter sind Szenarien, in denen der Benutzer über eine langsame Leitung
mit dem Server verbunden ist – wie kann der Benutzer das System davon überzeugen, die Offlinekopie
zu benutzen, wenn der Client meint, er solle online sein, aber die Geschwindigkeit beim Zugriff auf die
Serverkopie der Datei fürchterlich schlecht ist?
Zu den zahlreichen Verbesserungen von Windows Vista bei Offlinedateien zählt die Handhabung des
Zustandsübergangs, des Offlinemodus und der Feststellung langsamer Verbindungen. Es gibt zwar
auch für Windows XP Einstellungen und Tricks, mit denen Sie spielen können, aber bei Windows Vista
haben Sie weit weniger Probleme, und fast jede Einstellung lässt sich mit Gruppenrichtlinien festlegen.
Nutzen von Offlinedateien für das UDS-Framework
Ich empfehle Ihnen noch einmal dringend¸ umfassende Informationen über die gerade skizzierten Konzepte sowie über alle Aspekte der Einrichtung und Verwaltung von Offlinedateien bei Jeremy Moskowitz nachzulesen. Im Rahmen unserer Erörterung von Offlinedateien zur Unterstützung einer UDSInfrastruktur möchte ich mich auf wesentliche Punkte, die in Unternehmen zu berücksichtigen sind, und
häufig gemachte Fehler konzentrieren, die sich vermeiden lassen.
Lassen Sie zu, dass umgeleitete Ordner automatisch offline zur Verfügung stehen
Wenn Sie einen Ordner mithilfe von Gruppenrichtlinien für einen Windows XP- oder Windows VistaClient umleiten, wird er standardmäßig offline verfügbar gemacht. Für Laptopbenutzer ist dies im
Allgemeinen erwünscht. Die UDS-Anforderungen legen fest, dass Benutzer auch ohne Netzwerkverbindung Zugriff auf ihre Daten und Einstellungen haben sollen, was durch dieses Standardverhalten
sichergestellt wird.
240 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Im Container Benutzerkonfiguration\Richtlinien\Administrative Vorlagen\System\Ordnerumleitung im
Gruppenrichtlinienverwaltungs-Editor finden Sie die Gruppenrichtlinieneinstellung Umgeleitete Ordner nicht automatisch offline verfügbar machen, die das System daran hindert, umgeleitete Ordner wie
Dokumente und Desktop automatisch offline verfügbar zu machen.
Mithilfe der Registrierung umgeleitete Ordner werden nicht automatisch
zwischengespeichert
Die vorstehende Erörterung gilt für Ordner, die aufgrund von Richtlinieneinstellungen umgeleitet werden. Aus Lösung 3.5 wissen wir jedoch, dass die Umleitung auch durch Registrierungseinstellungen im
Schlüssel User Shell Folders erfolgen kann. Diese Ordner werden nicht automatisch zwischengespeichert, was Sie aber ganz gern möchten! Für Windows XP-Clients ist dies besonders wichtig, weil Sie
die Ordner Favoriten, Musik, Videos und Bilder möglicherweise mithilfe der Registrierung umleiten.
Sorgen Sie administrativ dafür, dass bestimmte Dateien oder Ordner
offline zur Verfügung stehen
Glücklicherweise können Sie mit der Richtlinieneinstellung Administrativ zugewiesene Offlinedateien
unter Benutzerkonfiguration\Richtlinien\Administrative Vorlagen\Netzwerk\Offlinedateien erzwingen,
dass diese mit der Registrierung umgeleiteten Ordner oder andere Netzwerkressourcen offline zur
Verfügung stehen. Beim Aktivieren der Richtlinie können Sie UNC-Pfade zu Ressourcen hinzufügen,
die Benutzern im Gültigkeitsbereich des Gruppenrichtlinienobjekts offline zugänglich gemacht werden
sollen (siehe Abbildung 3.20).
Abbildung 3.20 Diese administrativ zugewiesenen Offlinedateien erzwingen,
dass ein Ordner offline zur Verfügung steht.
3.6 Konfigurieren von Offlinedateien 241
In dieser Richtlinieneinstellung können Sie Variablen wie %USERNAME% verwenden, eine großartige
Sache, die die Dokumentation nicht so deutlich herausstellt. Haben Sie den Windows XP-Ordner Favoriten mithilfe der Registrierung umgeleitet, können Sie also mit der in Abbildung 3.20 gezeigten Art
von Einstellung dafür sorgen, dass er offline zur Verfügung steht.
Sehen Sie eine lange Erstsynchronisation vor, wenn umfangreiche Ordner
offline verfügbar gemacht werden
Stellen Sie sich die übliche Größe der Benutzerordner Desktop und besonders Dokumente vor. Bei der
ersten Umleitung werden Benutzerordner offline verfügbar gemacht, was eine Synchronisierung auslöst, die häufig einige Zeit dauert. Denken Sie daran, dies bei der Zeitplanung für die Bereitstellung
umgeleiteter Ordner zu berücksichtigen.
Offline zur Verfügung stehende Ordner werden auf jedem Computer synchronisiert,
an dem sich der Benutzer anmeldet
Wenn umgeleitete Ordner aufgrund von Gruppenrichtlinien automatisch offline verfügbar gemacht
werden, entweder mit Richtlinien für die Ordnerumleitung oder durch administrative Zuweisung, gelten diese Richtlinien für einen Benutzer. Jeder Computer, an dem er sich anmeldet, versucht jetzt, die
Ordner zwischenzuspeichern, sodass Datendateien weit verbreitet werden, während sich die Benutzer
innerhalb des Unternehmens bewegen. Natürlich lassen sich die Offlinedateien verschlüsseln, aber die
Verschlüsselung ist angreifbar (besonders unter Windows XP, das den Cache mit dem Systemkonto
verschlüsselt). Außerdem kostet die Verbreitung eine Menge Plattenplatz.
Sorgen Sie dafür, dass umgeleitete Ordner nicht automatisch auf jedem
Computer verfügbar gemacht werden
Dieser Vorschlag sollte inzwischen selbstverständlich sein. Denken Sie an den armen Computer im
Konferenzraum. Immer wenn sich ein Benutzer anmeldet, um eine Präsentation vorzuführen, wird eine
Komplettsynchronisierung gestartet. Die Festplatte füllt sich (bei Windows XP wortwörtlich), Zeit wird
verschwendet, Daten werden möglicherweise offen gelegt. Das ist einfach unerwünscht.
Geben Sie an, wo umgeleitete Ordner offline verfügbar gemacht werden sollen
Sicher stimmen Sie meiner Empfehlung zu, das UDS-Framework so zu konfigurieren, dass Offlinedateien für umgeleitete Ordner aktiviert werden, wo es wirklich sinnvoll ist: für Benutzer, die am
eigenen Laptop arbeiten.
Verwalten Sie Offlinedateien nach dieser Spezifikation
Nachdem Sie festgelegt haben, auf welchen Computern umgeleitete Ordner offline zur Verfügung
stehen sollen und auf welchen nicht, können Sie Ihre Umgebung entsprechend einrichten. Dafür sind
die beiden folgenden Einstellungen vorgesehen.
Die Richtlinieneinstellung Umgeleitete Ordner nicht automatisch offline verfügbar machen Noch
einmal: Diese Einstellung bezieht sich nicht auf Computer, sondern auf Benutzer. Das ist unglücklich, weil es ein wenig Kreativität erfordert, einem Benutzer seine umgeleiteten Ordner offline auf
seinem Laptop zugänglich zu machen, aber nicht auf sämtlichen stationären Computern, an denen
er sich anmeldet.
242 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Die Richtlinieneinstellung Die Funktion "Offlinedateien" zulassen bzw. nicht zulassen Diese Einstellung, die unter Computerkonfiguration\Richtlinien\Administrative Vorlagen\Netzwerk\Offlinedateien zu finden ist, schaltet die Funktion Offlinedateien für Clients im Gültigkeitsbereich der
Richtlinieneinstellung vollkommen aus, wenn sie deaktiviert ist. Dass es sich um eine Computerrichtlinie handelt, ist großartig, aber dass nur »alles oder nichts« geht, ist unglücklich.
Außerdem gibt es mehrere Werkzeuge zur Definition des Gültigkeitsbereichs von Systemen:
Sicherheitsgruppen Gruppen können zum Filtern von Gruppenrichtlinienobjekten eingesetzt werden.
WMI-Filter (Windows Management Instrumentation) Dabei handelt es sich um Abfragen.
Geben sie ein logisches true zurück, wird das Gruppenrichtlinienobjekt angewendet. WMI-Filter
verursachen in der Verarbeitung hohen Aufwand, weil ihre Ausführung mehrere Prozessorzyklen
dauert. Außerdem sind sie schwierig zu schreiben und lassen sich je nachdem, was abgefragt wird,
nur schwer genau genug gestalten, um zuverlässig zu arbeiten.
Beide Werkzeuge werden in Lösungsgruppe 10 erörtert. Angesichts dieser Einstellungen und Werkzeuge
empfehle ich Ihnen einen der Ansätze in den folgenden Abschnitten, um das Verhalten von Offlinedateien und umgeleiteten Ordnern in Ihrer Umgebung zu steuern.
Deaktivieren Sie Offlinedateien auf allen Systemen außer Laptops
Die eine Option ist das Abschalten von Offlinedateien auf allen Systemen außer Laptops, wofür es eine
Reihe guter Argumente gibt. Die Funktion der Offlinedateien kann zwar Vorteile für andere Szenarien
bringen, eignet sich aber in der Praxis am besten für die Arbeit mit Laptops. Sind Ihre Organisationseinheiten so strukturiert, dass sich alle Laptops in einer handhabbaren Anzahl von Organisationseinheiten
befinden, können Sie Offlinedateien für sämtliche Computer mit einem Gruppenrichtlinienobjekt deaktivieren, das sehr weit oben in Ihrem Active Directory angesiedelt ist – vielleicht sogar in der gesamten
Domäne. Anschließend erstellen Sie ein Gruppenrichtlinienobjekt, das Offlinedateien zulässt (indem Sie
die Richtlinie Die Funktion "Offlinedateien" zulassen bzw. nicht zulassen aktivieren), und legen seinen
Gültigkeitsbereich auf die Organisationseinheiten mit Laptops fest. Dieses Gruppenrichtlinienobjekt hat
bei der Verarbeitung Vorrang, weil es für die Organisationseinheiten mit Laptopobjekten gilt. Die Laptops bilden also eine Ausnahme von der Regel und erlauben Offlinedateien.
Wenn Ihre Organisationseinheiten komplexer strukturiert sind und sich die Laptops nicht isolieren
lassen, legen Sie ein Gruppenrichtlinienobjekt an, das die Einstellung Die Funktion "Offlinedateien"
zulassen bzw. nicht zulassen deaktiviert, wodurch Offlinedateien insgesamt ausgeschaltet sind. Legen
Sie seinen Gültigkeitsbereich so fest, dass er sich auf alle Rechner außer Laptops erstreckt, indem Sie
es mit Sicherheitsgruppen oder via WMI filtern.
Gültigkeitsbereich mit Sicherheitsgruppenfilterung Verwenden Sie eine Sicherheitsgruppe, die die
Laptops umfasst, und geben Sie Ihr die Verweigerungsberechtigung Gruppenrichtlinie anwenden. Die
Richtlinie wird von allen Systemen angewendet, die nicht Mitglieder der betreffenden Gruppe sind. Ich
verwalte meine Umgebung lieber mit Erlaubnissen als mit Verboten, weil es sicherer und leichter zu
handhaben ist, und mag diesen Ansatz daher. Er klingt zwar, als werde etwas verboten, aber ich verbiete
eine Richtlinie, die Offlinedateien deaktiviert – eine doppelte Verneinung. Wenn ich einen Computer in
die Gruppe aufnehme, aktiviere ich für ihn die Verwendung von Offlinedateien. Die Alternative ist
natürlich eine Sicherheitsgruppe, die sämtliche stationären und anderen Computer umfasst, für die
Offlinedateien deaktiviert werden sollen. Filtern Sie das Gruppenrichtlinienobjekt so, dass es nur auf
diese eine Sicherheitsgruppe angewendet wird.
3.6 Konfigurieren von Offlinedateien 243
Gültigkeitsbereich mit WMI-Filter Sie können auch eine WMI-Abfrage verwenden, die alle
Systeme sucht, für die Offlinedateien nicht aktiviert werden sollen. Beispielsweise können Sie eine
Abfrage schreiben, die stationäre Systeme an der Eigenschaft SystemEnclosure erkennt. Ein Beispiel
finden Sie im Buch von Jeremy Moskowitz. Zu erwarten, dass eine solche Abfrage in jedem Einzelfall
funktioniert, ist aber gewagt. Mehr über WQL (SQL für WMI) finden Sie unter http://msdn2.microsoft.com/en-us/library/aa394606.aspx.
Der folgende Tipp nutzt WMI-Abfragen, die für Sie hilfreich sein können: Fragen Sie anhand des
Computernamens. Wenn Ihre Namenskonvention ähnlich aussieht wie bei einigen meiner Kunden, bei
denen jeder Laptopname mit dem Buchstaben L beginnt, auf den die Inventarnummer des Laptops
folgt, kommen Sie zu einer recht gut funktionierenden WMI-Abfrage:
Select * From Win32_ComputerSystem Where Name LIKE 'L%'
Das Prozentzeichen ist ein Jokerzeichen ähnlich dem Sternchen in der Befehlszeile. Diese Abfrage gibt
für jeden Computer true zurück, dessen Name mit L beginnt. Damit haben Sie Ihre Laptops!
Wenn Sie damit fertig sind, erstellen Sie zwei Gruppenrichtlinienobjekte. Das erste deaktiviert Offlinedateien durch Deaktivieren der Richtlinieneinstellung Zulassen oder nicht zulassen. Es gilt aufgrund
der standardmäßigen Zugriffssteuerungsliste für Gruppenrichtlinienobjekte, die die Zulassungsberechtigung Gruppenrichtlinie anwenden für Authentifizierte Benutzer einschließt, für alle Computer. Ein
zweites Gruppenrichtlinienobjekt mit höherem Rang aktiviert Offlinedateien durch Aktivieren der
Richtlinieneinstellung Zulassen bzw. nicht zulassen. Es wendet den gerade erwähnten WMI-Filter an.
Nachteilig ist beim WMI-Ansatz erstens, dass Sie möglicherweise nicht das Glück haben, eine einfache
Methode (wie den Computernamen) zum Ermitteln von Systemen mit den gewünschten Gültigkeitsbereichen zu finden. Außerdem kann irgendwann der Fall eintreten, dass ein stationärer Computer Offlinedateien nutzen soll oder dass, was wahrscheinlicher ist, ein oder mehrere Laptops keine Offlinedateien
erhalten sollen. Der Sicherheitsgruppenansatz lässt sich auf lange Sicht einfacher handhaben. Die eine
Gruppe legt fest, wer Offlinedateien nutzen darf; ihr wird die Berechtigung verweigert, das Gruppenrichtlinienobjekt anzuwenden, das Offlinedateien deaktiviert. Die in dieser Gruppe zusammengefassten
Computer weisen daher die standardmäßige Windows-Konfiguration für Offlinedateien auf, nämlich den
aktivierten Zustand.
Deaktivieren Sie die automatische Zwischenspeicherung umgeleiteter Ordner
auf allen Systemen außer Laptops
Dieser Ansatz arbeitet mit der benutzerbezogenen Richtlinieneinstellung Umgeleitete Ordner nicht
automatisch online verfügbar machen. Sie legen ein Gruppenrichtlinienobjekt an, das diese Einstellung
aktiviert, deaktivieren auf diese Weise das Zwischenspeichern umgeleiteter Ordner und wenden das
Objekt auf alle Systeme außer Laptops an. Da es sich um eine Benutzereinstellung handelt, die bei der
Anmeldung mit den zugehörigen Anmeldeinformationen angewendet wird, können Sie das Gruppenrichtlinienobjekt nicht mit einer Sicherheitsgruppe aus Computerobjekten filtern, sondern müssen
entweder eine WMI-Abfrage oder die Loopback-Gruppenrichtlinienverarbeitung verwenden.
Gültigkeitsbereich mit WMI-Filter WMI-Abfragen stellen eine einfache Methode dar, ein benutzerbezogenes Gruppenrichtlinienobjekt anhand von Computereigenschaften zu filtern, wenn Sie einen funktionierenden WMI-Filter erstellen können. Erinnern Sie sich an die WMI-Abfrage aus dem vorherigen
244 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Abschnitt, die Laptops ermittelte? Hier haben wir nun ein Gruppenrichtlinienobjekt, das das automatische Zwischenspeichern umgeleiteter Ordner ausschaltet. Wir müssen es auf alle Systeme mit Ausnahme
von Laptops anwenden:
Select * From Win32_ComputerSystem Where NOT Name LIKE 'L%'
Loopback-Gruppenrichtlinienverarbeitung Ausführlich wird die Loopback-Gruppenrichtlinienverarbeitung in Lösungsgruppe 10 behandelt. Wenn Sie sie für ihre stationären und mobilen Computer einrichten, können Sie Sicherheitsgruppen mit den Systemen verwenden, die das automatische Zwischenspeichern umgeleiteter Ordner zulassen bzw. nicht zulassen sollen. Dieser Ansatz ähnelt dem weiter vorn
mit der Filterung anhand von Sicherheitsgruppen, abgesehen davon, dass jener Offlinedateien mithilfe
einer computerbezogenen Richtlinieneinstellung vollkommen ausschaltete. Jetzt gehen wir gezielter vor
und legen nur fest, ob umgeleitete Ordner automatisch zwischengespeichert werden sollen oder nicht,
was eine benutzerbezogene Einstellung ist. Wenn für Ihre Clients der Loopback-Modus für Gruppenrichtlinien aktiviert ist (im Zusammenführungsmodus, damit die Gruppenrichtlinien der Benutzer weiterhin korrekt angewendet werden), haben Sie daher die Wahl zwischen folgenden Vorgehensweisen:
„ Anlegen eines einzigen Gruppenrichtlinienobjekts, das die Richtlinie Umgeleitete Ordner nicht
automatisch offline verfügbar machen in Kraft setzt und damit das automatische Zwischenspeichern
umgeleiteter Ordner ausschaltet. Filtern Sie das Gruppenrichtlinienobjekt, um es nur auf eine Sicherheitsgruppe mit Systemen anzuwenden, die umgeleitete Ordner nicht zwischenspeichern sollen.
„ Anlegen zweier Gruppenrichtlinienobjekte. Das erste aktiviert die Richtlinie Umgeleitete Ordner
nicht automatisch offline verfügbar machen und gilt für alle Clients, vielleicht sogar für die gesamte
Domäne. Das zweite Gruppenrichtlinienobjekt deaktiviert dieselbe Einstellung und aktiviert
dadurch das Zwischenspeichern umgeleiteter Ordner. Es wird anhand einer Gruppe mit Systemen
gefiltert, die umgeleitete Ordner zwischenspeichern sollen, und hat Vorrang vor dem ersten
Gruppenrichtlinienobjekt.
Wie wir in Lösungsgruppe 10 sehen werden, ist die Loopback-Gruppenrichtlinienverarbeitung im
Zusammenführungsmodus eine großartige Methode zur Verwaltung Ihrer Systeme. Hier kann sie eingesetzt werden, um unnötiges Speichern umgeleiteter Benutzerordner auf Konferenzraumcomputern
und anderen Systemen zu verhindern.
Speichern Sie umgeleitete Ordner manuell zwischen
Die dritte Option ist ein glattes Nein zu dem Versuch, es zum Funktionieren zu bringen. Stellen Sie eine
domänenweite Richtlinie auf, die die Einstellung Umgeleitete Ordner nicht automatisch offline verfügbar machen in Kraft setzt. Weisen Sie anschließend Ihre Laptopbenutzer an, mit der rechten Maustaste
auf ihre Ordner Dokumente, Desktop usw. zu klicken und Offline verfügbar machen zu wählen. Das ist
zwar ein manuelles Verfahren, bietet aber große Vorteile:
„ Ordner und Dateien werden nur auf den Systemen und von den Benutzern zwischengespeichert, die
sie benötigen.
„ Die Benutzer bekommen eine schnelle und einfache Einführung in Offlinedateien, Synchronisierung,
Zwischenspeicherung und Offlinearbeit.
„ Die (möglicherweise länger dauernde) Erstsynchronisierung wird vollständig vom Benutzer
gesteuert.
3.6 Konfigurieren von Offlinedateien 245
Die Benutzer haben die Wahl, ob sie ganze Ordner oder nur bestimmte Unterordner offline verfügbar
machen.
Wenn Sie wollen, können Sie mit dem Programm csccmd.exe, das Bestandteil des Windows Server
2003 Resource Kits (für Windows XP) ist, Skripts schreiben, um die Ordner Desktop und Dokumente
offline verfügbar zu machen. Für Windows Vista erledigen Sie dies mit VBScript. Auf der LösungsWebsite zu diesem Buch finden Sie Beispiele.
Nachdem wir gesehen haben, wie wir Wildwuchs bei Offlinedateien verhindern, können wir uns den
Fragen zuwenden, die auftreten, sobald wir Dateien zwischengespeichert haben.
„
Verhindern Sie, dass Windows XP alle Dateien beim Abmelden synchronisiert
Stellen Sie sich vor, Sie haben Ihren gesamten Ordner Dokumente offline verfügbar gemacht. Er ist
möglicherweise ziemlich groß und umfasst einige hundert oder gar tausend Dateien. Standardmäßig
synchronisieren Windows XP-Systeme alle Dateien (wirklich alle) bei der Abmeldung. Nun kopiert
die Synchronisierung nur geänderte Dateien, geht dabei aber alle Dateien sowohl auf dem Server als
auch im lokalen Cache durch, um zu ermitteln, was sich geändert hat. Selbst wenn nur eine Datei
betroffen ist, kann die Suche ewig dauern. Das ist ein bedeutender Schwachpunkt bei Offlinedateien
unter Windows XP.
Der Trick besteht darin, die Einstellung Alle Offlinedateien vor der Abmeldung synchronisieren auszuschalten. Sie finden sie auf der Registerkarte Offlinedateien des Dialogfelds Ordneroptionen
(in Abbildung 3.21 links). Es handelt sich dabei um eine andere Einstellung als Die ausgewählten Objekte
automatisch synchronisieren: Bei der Abmeldung vom Computer, die im Dialogfeld Synchronisationseinstellungen der Synchronisationsverwaltung erscheint (in Abbildung 3.21 rechts). Wenn die Synchronisierung für alle Dateien aktiviert ist, ist der Vorgang langwierig. Ist diese Option deaktiviert und die Synchronisierung geschieht überhaupt bei der Abmeldung (wie es die Synchronisationsverwaltung vorsieht),
werden nur Dateien, die der Benutzer auf dem Server tatsächlich angefasst hat, im Cache synchronisiert.
Abbildung 3.21 Optionen für die Handhabung der Synchronisierung bei der An- und Abmeldung
246 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Wichtig Ich empfehle Ihnen, die Synchronisierung für Windows XP-Clients mit der Einstellung Die ausgewählten Objekte automatisch synchronisieren: Bei der Abmeldung vom Computer im Dialogfeld Synchronisationseinstellungen zu versehen. Achten Sie nur darauf, dass Sie das Kontrollkästchen neben Alle Offlinedateien vor dem Abmelden synchronisieren im Dialogfeld Ordneroptionen für den betreffenden Ordner
deaktivieren.
Die Einstellung Alle Offlinedateien vor dem Abmelden synchronisieren lässt sich mit einer Gruppenrichtlinie verwalten. Deaktivieren Sie die Richtlinieneinstellung Alle Offlinedateien vor der Abmeldung
synchronisieren, die Sie in den Ordnern Benutzerkonfiguration und Computerkonfiguration im Pfad
Richtlinien\Administrative Vorlagen \Netzwerk\Offlinedateien finden.
Verhindern Sie unnötige Fehlermeldungen von blockierten Dateitypen
Vor Windows Vista wurde von der Synchronisierung bestimmter Dateitypen abgeraten. Insbesondere die
meisten Datenbankformate, darunter PST- und MDB-Dateien, wurden standardmäßig ausgeschlossen,
was auf der Annahme beruhte, dass die Benutzer derartige Dateien in freigegebenen Ordnern offline
verfügbar machen könnten. Unterwegs würden sie möglicherweise Änderungen vornehmen, während an
der Serverkopie anderes geändert würde. Die Behebung von Konflikten wäre in solchen Szenarien ausgesprochen schwierig, sodass die Dateitypen ganz und gar von der Synchronisierung ausgenommen
wurden.
Hier benutzen wir Offlinedateien aber für das UDS-Framework. Ein Benutzer nimmt nur seine eigenen
Dateien mit, sodass keine separaten Änderungen an den Kopien auf dem Server erfolgen. Es gibt praktisch keine Gelegenheit, dass Konflikte entstehen. Unter Windows XP können Sie daher angeben,
welche Dateitypen blockiert werden sollen, indem Sie die Richtlinieneinstellung Nicht zwischengespeicherte Dateien unter Computerkonfiguration\Richtlinien\Administrative Vorlagen\Netzwerk\
Offlinedateien aktivieren. Wenn Sie die Liste der blockierten Dateitypen leer lassen, dürfen sämtliche
Dateien aller Typen zwischengespeichert werden.
Welche Dateitypen blockiert werden sollen, können Sie auch mithilfe einer durch Semikola getrennten
Liste angeben. In diesem Fall müssen Sie alle standardmäßig blockierten Typen, die Sie blockieren wollen, erneut eingeben, weil die Liste die Standardwerte überschreibt. Standardmäßig werden folgende
Typen von der Synchronisierung ausgenommen: SLM, MDB, LDB, MDW, MDE, PST und DB?.
Ich habe gute Erfahrungen damit gemacht, einfach die Richtlinie zu aktivieren und die Liste leer zu
lassen, wodurch die Blockierung für alle Dateitypen aufgehoben wird und diese nervigen Fehlermeldungen aufgrund von Blockierungen aufhören. Wie bei allen Empfehlungen und Lösungen in dieser
technischen Referenz müssen Sie es natürlich in Ihrer Umgebung gründlich testen.
Bieten Sie Windows XP-Benutzern eine Möglichkeit, um selbst offline zu gehen
Sowohl Windows XP als auch Windows Vista versuchen, die Geschwindigkeit von Verbindungen festzustellen, wenn ein Server online ist. Die Einstellungen zum Ermitteln langsamer Verbindungen werden im Buch von Jeremy Moskowitz ausführlich beschrieben. Unter Windows Vista sind sie ziemlich
ausgefeilt und sollten Ihnen gute Dienste leisten. Unter Windows XP ist das nicht so gut. Viele meiner
Kunden haben Offlinedateien eingerichtet und hatten anschließend Probleme bei der Verbindung über
ein virtuelles privates Netzwerk (VPN). Die VPN-Verbindung war schnell genug, um Windows XP zu
überzeugen, dass es online ist, was Synchronisierungen und die Offlinenutzung von Dateien auslöste.
Sie war aber noch langsam genug, um all diese Aktionen unerträglich schleppend zu machen.
3.6 Konfigurieren von Offlinedateien 247
Um zu erzwingen, dass eine Freigabe offline geht, wenn Windows meint, sie sollte online sein, gibt es
den Befehl csccmd.exe, den Microsoft kürzlich aktualisiert hat (siehe den Knowledge Base-Artikel
884739 unter der Adresse http://support.microsoft.com/kb/884739). Sorgen Sie dafür, dass Ihre Kunden die neueste Version haben. Erstellen Sie dann Batchdateien für Benutzer, um sie von den Namespaces zu trennen, die offline verfügbar gemacht werden sollen:
csccmd /DISCONNECT:"\\contoso.com\users\%username%\documents"
csccmd /DISCONNECT:"\\contoso.com\users\%username%\desktop"
Verwalten Sie Benachrichtigungen über Offlinedateien
Windows XP bombardiert sie übermäßig mit Unterbrechungen und Meldungen. Sprechblasen informieren Sie darüber, dass Sie offline sind (oder online oder dass Sie synchronisieren müssen), Dialogfelder zeigen Ihnen den Verlauf der Synchronisierung. Die Liste ist noch länger. Mit den Ordnereinstellungen für die Offlinedateien in der Gruppenrichtlinie (sowohl unter Benutzerkonfiguration als auch
unter Computerkonfiguration) können Sie festlegen, welche Meldungen angezeigt werden.
Denken Sie beim Verschieben von Quellen an zwischengespeicherte Dateien
In Lösung 3.4 ging es darum, dass Offlinedateien möglicherweise angepasst werden müssen, wenn
Benutzer auf einen anderen Server oder an einen anderen Standort wechseln und sich der Namespace
ihrer umgeleiteten Ordner ändert. Die Funktion Offlinedateien hält den vollständigen UNC-Pfad der
zwischengespeicherten Dateien fest. Wenn er sich ändert, sieht diese Funktion den neuen Ort als neue
Quelle an und hält den alten Ort einfach für unerreichbar. Sie müssen der Funktion mitteilen, dass sich
die Dateien, von denen sie meint, sie kämen von Ort A, jetzt an Ort B befinden. Das Dienstprogramm
csccmd.exe enthält den Befehl /MOVE, der genau dies ermöglicht. Es funktioniert allerdings nur für
Windows XP. Für Windows Vista-Clients benötigen Sie ein Skript. Sie finden es unter der Adresse
http://blogs.technet.com/filecab/archive/2007/03/29/updating-your-offline-files-cache-in-windowsvista-to-point-to-a-new-server.aspx.
Offlinedateien
Ich möchte noch einmal wiederholen, dass ich ein großer Fan von Offlinedateien bin. Wenn sie gut
eingerichtet sind, leisten sie hervorragende Dienste, insbesondere für Laptopbenutzer. Das WENN ist
jedoch entscheidend. Wie Sie aus der angeführten Liste sehen, gibt es viel zu bedenken und zahlreiche
Standardwerte zu ändern, die nicht recht zu dem Vorhaben passen, umfangreiche Ordner (beispielsweise Desktop und Dokumente) offline verfügbar zu machen. Sie sollten alle Einstellungsmöglichkeiten für Offlinedateien ausschöpfen, um die gewünschten Ergebnisse zu erreichen. Auf Windows XPClients sind sie ziemlich gut, wenn alles erledigt ist, und auf Windows Vista-Clients sind sie wirklich
großartig.
Gehen Sie beim Entwerfen gründlich vor
Nehmen Sie sich die Zeit, das Buch von Jeremy Moskowitz zu lesen, und achten Sie dabei auf die
wesentlichen Punkte, die ich in den vorherigen Abschnitten angerissen habe. Arbeiten Sie alle Details,
die er erörtert, und die Optionen für die Einrichtung und Handhabung von Offlinedateien, Synchronisierung, Offlinemodus und Aufdeckung langsamer Verbindungen gründlich durch.
248 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Informieren und schulen Sie sorgfältig
Denken Sie unbedingt daran, einen Plan für Information und Schulung der Endbenutzer aufzustellen.
Begeistern Sie die Laptopbenutzer für die Produktivitätsvorteile der Offlinearbeit und die Einfachheit
der Synchronisierung. Achten Sie darauf, dass Sie die Benutzer darin schulen, wie sie Dateien offline
verfügbar machen, wann die Synchronisierung erfolgen soll und wie sie offline arbeiten. Am wichtigsten
ist jedoch, dass die Benutzer wissen, welche Dateitypen sie zwischenspeichern sollen und welche nicht.
Die Funktion Offlinedateien gilt nicht für alle Dateien
Einige Dateitypen lassen sich einfach nicht zufrieden stellend als Offlinedateien nutzen. Es gibt Anwendungen, die den Übergang von der Online- zur Offlineverwendung nicht mögen, wenn eine Datei geöffnet ist. Manche Dateien sind so groß, dass die Synchronisierung ewig dauert, obwohl Windows Vista
dies durch ein Synchronisierungsmodul gewaltig verbessert, das auf Blockebene arbeitet. Wieder andere
Anwendungen funktionieren offline nicht vernünftig.
Offline verfügbare umgeleitete Ordner stellen zwar für die meisten Klassen von Benutzerdaten die
Lösung dar, aber die 80/20-Regel sorgt dafür, dass es Ausnahmen gibt. Die Ordner im servergespeicherten Profil des Benutzers (siehe Lösung 3.7) sowie der Ordner Lokale Dateien (siehe Lösung 3.9) sind
die erforderlichen alternativen Datenspeicher für Dateien, die sich als Offlinedateien nicht gut handhaben lassen.
Zusammenfassung
Die Windows-Funktion Offlinedateien ist eine erhebliche Wohltat für Laptopbenutzer. Sie speichert
Dateien aus Netzwerkfreigaben zwischen und ermöglicht ihre Verwendung im selben Namespace
(Benutzerdatenspeicher, zugeordnete Laufwerke und UNC-Pfade) wie bei Bestehen einer Netzwerkverbindung, während der Benutzer offline ist. Wenn die Synchronisierung gut eingerichtet ist, funktioniert sie erfolgreich und effizient. Windows Vista bringt mit Verbesserungen an jedem Aspekt dieser
Technologie noch einen Tick mehr. Sie werden feststellen, dass Offlinedateien ein wertvoller und willkommener Bestandteil Ihres UDS-Frameworks sind, und dass sich Dateien, die sich für diese Funktion
nicht gut eignen, mithilfe des servergespeicherten Profils und des Ordners Lokale Dateien handhaben
lassen, die weiter hinten in dieser Lösungsgruppe behandelt werden.
3.7 Entwerfen und Einrichten von servergespeicherten Profilen
Die Lösung im Überblick
Typ
Anleitung und Skripts
Funktionen und Werkzeuge
Servergespeicherte Benutzerprofile
Zusammenfassung
Verwaltung der in der Registrierung und wahrscheinlich in
Anwendungsdaten (unter Windows Vista AppData\Roaming)
gespeicherten Benutzereinstellungen durch Einrichten servergespeicherter Profile
Vorteile
Verfügbarkeit, Mobilität und Ausfallsicherheit für Benutzereinstellungen und -anpassungen
3.7 Entwerfen und Einrichten von servergespeicherten Profilen
249
Einführung
Servergespeicherte Profile werden eingerichtet, um die Anforderungen des UDS-Frameworks an
Benutzereinstellungen umzusetzen. Sie sorgen dafür, dass die primären Benutzerspeicher für Einstellungen – der Ordner AppData (unter Windows Vista technisch der Ordner AppData\Roaming, den seine
Fans vorher »Anwendungsdaten« nannten) und die Registrierungsdatei (Ntuser.dat) – zur Verfügung
stehen, wenn sich der Benutzer an einem beliebigen Computer innerhalb der Domäne anmeldet. Meldet
er sich an einem neuen System an, wird das Profil dort synchronisiert, bevor der Desktop erscheint. Die
Synchronisierung des Profils bei der An- und Abmeldung stellt sicher, dass der Netzwerkspeicher und
die lokal zwischengespeicherte Kopie des Profils aktualisiert werden. Nach der Anmeldung greift der
Benutzer über die lokale Kopie auf die Dateien in den Einstellungsspeichern zu, bei der Abmeldung
werden alle Änderungen in den auf dem Server gespeicherten Profilordner übertragen.
Die Empfehlung für das UDS-Framework lautet, servergespeicherte Profile zur Unterstützung von
AppData und Ntuser.dat einzurichten. In Lösung 3.5 haben Sie erfahren, dass Sie den Ordner Favoriten
umleiten können, und zwar unter Windows Vista mithilfe von Gruppenrichtlinien und unter Windows
XP mit Registrierungswerten (die sich sogar durch Gruppenrichtlinien steuern lassen). Tun Sie dies
nicht, so wollen Sie ihn wahrscheinlich auf dem Server ablegen, was auch für Cookies möglich ist. Alle
anderen Ordner sind vom Speichern auf dem Server ausgeschlossen, damit das Profil möglichst klein
bleibt und die Leistung ausreicht.
Bei diesen Empfehlungen handelt es sich jedoch nur um Leitlinien, die meines Erachtens für die meisten Leser zutreffen. Nach dem Durcharbeiten weiterer Lösungen in dieser Sammlung kommen Sie
möglicherweise zu der Entscheidung, dass Ihre Umgebung eine Ausnahme von der Regel bildet und
auch Datenordner wie Dokumente oder Desktop oder sogar das Startmenü auf dem Server gespeichert
werden sollen.
Die Struktur des Windows Vista-Benutzerprofils
Ein Benutzerprofil ist ein Namespace mit Ordnern zur Isolierung und Strukturierung von Benutzerdaten
und -einstellungen. Die einzelnen Profile werden standardmäßig unter einem einzigen Stammordner auf
der lokalen Festplatte des Clients abgelegt, der vor Windows Vista Dokumente und Einstellungen,
seitdem jedoch Benutzer heißt.
Zum Zweck der Abwärtskompatibilität unterhält Windows Vista eine NTFS-Verknüpfung Dokumente
und Einstellungen, die auf den Ordner Benutzer zeigt. Verknüpfungen sind Umleitungen in einen
anderen Namespace. Wenn für eine ältere Anwendung hartkodiert ist, dass sie nach C:\Dokumente und
Einstellungen\<Benutzername>\<Ordnerpfad>\<Dateiname> suchen soll, wechselt sie vom Benutzer unbemerkt zu C:\Users\<Benutzername>\<Ordnerpfad>\<Dateiname>.
Unter dem Ordner Benutzer finden Sie eine Sammlung sprechend benannter Ordner. Das Windows
Vista-Benutzerprofil fasst einige der Ordner zusammen, die sich in älteren Windows-Versionen einige
Ebenen weiter unten im Benutzerprofil befanden, sodass Sie intuitiver und schneller an häufig aufgesuchte Orte gelangen. Die Struktur des Benutzerprofils sehen Sie in Abbildung 3.22.
250 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Abbildung 3.22 Die Struktur des Benutzerprofils
In Tabelle 3.1 finden Sie die Namen häufig vorkommender Benutzerdatenordner und ihre Speicherorte
unter Windows Vista und Windows XP.
Tabelle 3.1 Häufige Datenordner unter Windows Vista und Windows XP
Windows Vista
Windows XP
Ordnername
Ort (Benutzer\Benutzername\...)
Ordnername
Ort (Benutzer\Benutzername\...)
Desktop
Desktop
Desktop
Desktop
Dokumente
Dokumente
Eigene Dokumente
Eigene Dokumente
Favoriten
Favoriten
–
Favoriten
Bilder
Bilder
Eigene Bilder
Eigene Dokumente\Eigene Bilder
Musik
Musik
Eigene Musik
Eigene Dokumente\Eigene Musik
Videos
Videos
Eigene Videos
Eigene Dokumente\Eigene Videos
Downloads
Downloads
–
–
3.7 Entwerfen und Einrichten von servergespeicherten Profilen
251
Tabelle 3.1 Häufige Datenordner unter Windows Vista und Windows XP (Fortsetzung)
Windows Vista
Windows XP
Ordnername
Ort (Benutzer\Benutzername\...)
Ordnername
Ort (Benutzer\Benutzername\...)
Kontakte
Kontakte
–
–
Suchvorgänge
Suchvorgänge
–
–
Links
Links
–
–
Gespeicherte
Spiele
Gespeicherte Spiele
–
–
Eine Reihe weiterer Profilordner wurde unter Windows Vista in Unterordner von AppData verschoben.
AppData ist in drei Unterordner unterteilt: Roaming, Local und LocalLow. Der erste enthält computerunabhängige Einstellungen für den jeweiligen Benutzer und sollte ihn als Bestandteil seines servergespeicherten Profils begleiten, die beiden anderen dind für computerabhängige Einstellungen da, die nicht auf
dem Server gespeichert zu werden brauchen, wie den Ordner TEMP und die temporären Internetdateien
des Benutzers. Beide Ordner werden automatisch aus dem servergespeicherten Profil herausgehalten.
LocalLow ist einer der wenigen Orte, indie Anwendungen schreiben können, die auf der niedrigen
(sichersten) Integritätsstufe ausgeführt werden, beispielsweise Internet Explorer 7 im abgesicherten
Modus.
Tabelle 3.2 ordnet die Windows XP-Ordner ihren Entsprechungen in Windows Vista und höher zu.
Tabelle 3.2 2: Windows Vista-Entsprechungen für Windows XP-Ordner
Windows XP-Ordner
Windows Vista-Ordner
Anwendungsdaten
AppData\Roaming
Lokale Einstellungen
AppData\Local
Lokale Einstellungen\Anwendungsdaten
AppData\Local
Lokale Einstellungen\Verlauf
AppData\Local\Microsoft\Windows\History
Lokale Einstellungen\Temp
AppData\Local\Temp
Lokale Einstellungen\Temporary Internet Files
AppData\Local\Microsoft\Windows\Temporary Internet Files
Cookies
AppData\Roaming\Microsoft\Windows\Cookies
Netzwerkumgebung (NetHood)
AppData\Roaming\Microsoft\Windows\Network Shortcuts
Druckumgebung (PrintHood)
AppData\Roaming\Microsoft\Windows\Printer Shortcuts
Recent
AppData\Roaming\Microsoft\Windows\Recent
Send To
AppData\Roaming\Microsoft\Windows\Send To
Startmenü
AppData\Roaming\Microsoft\Windows\Startmenü
Vorlagen
AppData\Roaming\Microsoft\Windows\Templates
252 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Im Stamm des Profils befindet sich Ntuser.dat, die Registrierungsdatei, die in HKEY_CURRENT_USER
geladen wird, wenn sich der Benutzer anmeldet. Natürlich gibt es zahlreiche Einstellungen in der Registrierung, die Konfigurationen und Anpassungen des Benutzers wiedergeben. Wollen Sie Verfügbarkeit,
Mobilität und Ausfallsicherheit der Benutzereinstellungen gewährleisten, können Sie nicht auf diese
Datei verzichten.
Außerdem finden Sie Kompatibilitätsverknüpfungen, die für ältere Ordnernamen stehen, darunter
Standardbenutzer zu Standard für das Standardbenutzerprofil, eine symbolische Verknüpfung für Alle
Benutzer, die zu C:\Program Data führt, und viele Verknüpfungen im Stamm des Benutzerprofils (beispielsweise Anwendungsdaten und Eigene Dokumente), die auf die neuen entsprechenden Namespaces zeigen. Die Kompatibilitätsverknüpfungen für Anwendungen, die es unter Windows Vista gibt,
z.B. Eigene Dokumente, haben keinen Listenzugriff, weil sonst Anwendungen, die keine Verknüpfungen kennen, fehlerhaft reagieren könnten. Der Ordner, auf den die Verknüpfung zeigt, in diesem
Fall also Dokumente, unterliegt solchen Einschränkungen nicht.
Die Bestandteile von Benutzerprofilen
Meldet sich ein Benutzer an einem Windows-System an, synchronisiert Windows entweder ein servergespeichertes Profil oder erstellt ein lokales Profil für ihn. Sehen wir uns diesen Vorgang kurz an. Sie
sollten ihn aus früheren Windows-Versionen kennen, aber ich nutze diese Wiederholung, um Sie mit
den Änderungen in Windows Vista vertraut zu machen.
Standardbenutzerprofil
Wenn sich ein Benutzer an einem Computer anmeldet, prüft Windows, ob für ihn ein lokales Profil vorliegt. Wenn nicht, wird auf der Grundlage des Standardbenutzerprofils, das entweder in der Freigabe
NETLOGON des Domänencontrollers oder als C:\Users\Default (bzw. in älteren Windows-Versionen
als Vista C:\Dokumente und Einstellungen\Default User) auf der lokalen Festplatte gespeichert ist, ein
Profil für ihn angelegt.
Shellordner
Außerdem sorgt Windows dafür, dass Shellordner erstellt werden, darunter die aus den weiter vorn in
dieser Lösung abgedruckten Tabellen. Fehlt in der Benutzerkopie des Standardprofils beispielsweise
der Ordner Links, legt Windows ihn an.
Synchronisation servergespeicherter Profile
Anschließend ermittelt Windows anhand der Eigenschaft Profilpfad (Profile Path) des Benutzerkontos,
ob auf einem Netzwerkserver ein Profil zu finden ist. Wenn ja, wird es mit dem lokalen Benutzerprofil
synchronisiert, wobei der Profilzusammenführungsalgorithmus sicherstellt, dass alle seit der letzten
Anmeldung an dem betreffenden Computer aktualisierten Dateien lokal aktualisiert werden. Hat das
lokale Profil vorher noch nicht bestanden, bewirkt die Synchronisierung des Servers mit der neuen
Benutzerkopie des Standardprofils, dass das servergespeicherte Profil durch vollständige Synchronisation heruntergeladen wird. Elemente, die für das Standardprofil spezifisch sind, bleiben jedoch erhalten
und werden Bestandteile des Benutzerprofils.
3.7 Entwerfen und Einrichten von servergespeicherten Profilen
253
Öffentliches Profil
Das öffentliche Profil enthält Datenspeicher, die dazu gedacht sind, allen Benutzern eines Computers
zur Verfügung zu stehen, nämlich Öffentliche Dokumente, Öffentliche Downloads, Öffentliche Musik,
Öffentliche Bilder und Öffentliche Videos. Die Elemente im Ordner Öffentlicher Desktop erscheinen auf
dem Desktop aller Benutzer, die sich an dem betreffenden Computer anmelden – es handelt sich um die
Entsprechung des Ordners All Users\Desktop der Systeme vor Windows Vista.
Der Ordner All Users\Startmenü in Windows XP und Windows Server 2003 wird ebenfalls mit dem
Startmenüordner des Benutzers zusammengeführt. Dieser öffentliche Ordner ist jetzt unter C:\Program
Data\Microsoft\Windows\Startmenü zu finden.
Der Ordner C:\ProgramData selbst entspricht dem Ordner All Users\Anwendungsdaten früherer
Windows-Versionen, in dem Anwendungseinstellungen abgelegt sind, die für alle Benutzer eines Computers gelten.
Zusammenfassung: Profilerstellung
Letztendlich beginnt jedes Benutzerprofil als Kopie eines anderen Profils: des Standardprofils in der
Freigabe NETLOGON des Domänencontrollers oder auf der lokalen Festplatte oder eines servergespeicherten Profils, auf das die Eigenschaft Profilpfad des Benutzerobjekts verweist. Die Benutzeroberfläche
führt Elemente aus den Ordnern Öffentlicher Desktop und Startmenü des öffentlichen Profils mit den entsprechenden Ordnern des Benutzers zusammen. Der Zugriff auf Dateien im Benutzerprofil erfolgt lokal,
es sei denn, die Ordner wurden umgeleitet. Änderungen des Profils werden bei der Abmeldung mit dem
servergespeicherten Profil des Benutzers synchronisiert, wenn die Konfiguration dies vorsieht.
Konfigurieren der nicht servergespeicherten Ordner
Mithilfe von Gruppenrichtlinien können Sie festlegen, dass außer den Ordnern, die Windows standardmäßig ausschließt (unter Windows XP Lokale Einstellungen, unter Windows Vista AppData\Local und AppData\LocalLow), bestimmte weitere Ordner nicht auf dem Server gespeichert werden. Dazu benötigen Sie
die Einstellung Verzeichnisse aus servergespeichertem Profil ausschließen, die Sie unter Benutzerkonfiguration\Richtlinien\Administrative Vorlagen\System\Benutzerprofile finden. Da diese Einstellung benutzerspezifisch ist, können Sie je nach der Rolle des Benutzers unterschiedliche Ordner auf dem Server ablegen. Geben Sie Ordnernamen relativ zum Benutzerprofil an, z.B. AppData\Roaming\Microsoft\Windows\
Cookies. In Abbildung 3.23 sehen Sie ein Beispiel, das den Ordner Cookies sowohl unter Windows XP als
auch unter Windows Vista von der Speicherung auf dem Server ausschließt.
Welche Ordner Sie wählen, hängt von Ihrem UDS-Entwurf ab, aber ich empfehle Ihnen, alle Windows
XP-Profilordner außer Anwendungsdaten und Favoriten auszuschließen. (Denken Sie daran, dass
Desktop und Dokumente umgeleitet sind.) Ich schließe generell Ordner wie Netzwerkumgebung,
Druckumgebung, Recent, Send To, Startmenü und Vorlagen aus (der Letztere enthält nur Windows-,
aber keine Microsoft Office-Vorlagen). Windows Vista führt neue Profilordner ein. Welche davon auf
dem Server gespeichert, umgeleitet oder ausgeschlossen (d.h. nur lokal unterhalten) werden sollen,
entscheiden Sie anhand Ihrer Unternehmensbedürfnisse.
254 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Abbildung 3.23 Diese Richtlinie schließt den Ordner Cookies von der Serverspeicherung aus.
Konfigurieren servergespeicherter Profile
Um einen Benutzer mit einem servergespeicherten Profil auszustatten, brauchen Sie nur den Pfad zum
entsprechenden Ordner im Attribut Profilpfad des Benutzers abzulegen, das Sie auf der Registerkarte
Profil des Benutzerkontos finden (siehe Abbildung 3.24).
Um die Anforderung zu erfüllen, physische Speicherorte von UDS-Konfigurationszeigern zu trennen,
verwenden Sie einen DFS-Namespace. Beachten Sie die Benutzung der Variable %username% in
Abbildung 3.24, die automatisch durch den Prä-Windows 2000-Anmeldenamen des Benutzers (die
Eigenschaft sAMAccountName) ersetzt wird.
Um das Profil eines Benutzers am Speicherort abzulegen, muss sich der Benutzer zunächst an seinem
Computer anmelden (nachdem Sie den Profilpfad eingerichtet haben). Meldet er sich dann ab, wird das
lokale Profil mit dem auf dem Server synchronisiert.
Wichtig Achten Sie darauf, dass sich der Benutzer an dem Computer anmeldet, der den Pfad zu dem
servergespeicherten Profil enthält, nachdem Sie ihn eingerichtet haben, und sich dann wieder dort abmeldet.
Wenn das servergespeicherte Profil mit Inhalt gefüllt ist, überschreibt es lokal zwischengespeicherte Profile
desselben Benutzers, wenn sich dieser an anderen Computern anmeldet.
3.7 Entwerfen und Einrichten von servergespeicherten Profilen
255
Abbildung 3.24 Profilpfad eines Benutzers
Erkennen der V2-Endung von servergespeicherten
Windows Vista-Profilen
Der Namespace des Windows Vista-Benutzerprofils ist nicht mit Windows XP-Profilen kompatibel.
Ist für einen Benutzer auf einem Windows Vista-Client ein Profilpfad angelegt, hängt Windows Vista
deshalb die Endung .V2 daran an. Meldet sich James Fine aus Abbildung 3.24 beispielsweise an einem
Client mit Windows Vista an, sucht dieser eigentlich nach dem Profil \\contoso.com\users\jfine\profile.v2. Dieses Verhalten lässt sich nicht ändern, und Sie sollten die Erweiterung .V2 nicht selbst an
den Profilpfad des Benutzerkontos anhängen.
Vereinheitlichen der Arbeitspraxis von Windows XP- und
Windows Vista-Benutzern
Die Profile unter Windows XP und Windows Vista sind zwar nicht miteinander kompatibel, aber das
bedeutet nicht, dass Sie für Benutzer, die sich auf beiden Plattformen anmelden, kein einigermaßen einheitliches Verhalten einrichten können. Der Schlüssel dazu heißt Ordnerumleitung. Alle umgeleiteten
Ordner stehen den Benutzern beider Plattformen ohne irgendwelche Probleme zur Verfügung. Leiten Sie
also so viele Ordner um, wie Sie können: auf jeden Fall Dokumente und Desktop, Anwendungsdaten,
falls es bei Ihnen klappt (siehe die folgende Erörterung) sowie Favoriten, Bilder, Musik und Videos (mit
Ordnerumleitungsrichtlinien für Windows Vista bzw. mit der Registrierung für Windows XP, wie in
256 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Lösung 3.5 ausführlich beschrieben wurde). Sie können sogar so weit gehen, dass Sie Shellordner wie
Cookies, Send To und weitere umleiten.
Lediglich die Datei Ntuser.dat kann nicht freigegeben werden. Auch gut. Meine Erfahrung mit der
betriebssystemübergreifenden Freigabe von Registrierungsdateien besagt, dass sie – selbst wenn es
klappt – keine Ergebnisse bringt, die die Mühe lohnen.
Wenn Sie für Favoriten und andere Shellordner für Windows XP-Clients nicht die Umleitung mithilfe
der Registrierung benutzen, können Sie sie in das servergespeicherte Windows XP-Profil aufnehmen.
In diesem Fall können Sie Umleitungsrichtlinien einsetzen – die nur für Windows Vista-Clients gelten –
und die Ordner auf ihren Speicherort im servergespeicherten Windows XP-Profil zeigen lassen. Mit
anderen Worten: Windows XP bekommt die Ordner über das servergespeicherte Profil, während
Windows Vista sie in die Speicher des servergespeicherten Profils umleitet.
Legenden über servergespeicherte Profile
Die Implementierung servergespeicherter Profile ist vom technischen Standpunkt aus einfach. Problematisch kann jedoch die Unternehmenspolitik sein. Wenn es in Ihrer Organisation noch keine servergespeicherten Profile gibt, liegt es vermutlich an mindestens einem folgender Faktoren, die ich als
FOLKLORE bezeichne:
„ F – Fantasterei oder mangelndes Faktenwissen
„ O – Ownership (Besitz)
„ L – Leadership (Führung)
„ K – Knowledge (Wissen)
„ L – Legende oder Geschichte
„ O – Obsolete Methoden oder Denkweisen
„ R – Religiöser Einfluss
„ E – Entschuldigungen/Erwartungen
Jeder dieser Aspekte kann dazu führen, dass ein perfekter Entwurf oder eine perfekte Komponente verworfen wird. Nach meiner Erfahrung fallen servergespeicherte Profile am wahrscheinlichsten Legenden
zum Opfer. Sie haben sich in der Windows NT-Ära einen schlechten Ruf erworben – teilweise mit Recht.
Heute stellen sie eine zuverlässige Komponente eines UDS-Frameworks dar, wenn sie in Übereinstimmung mit UDS-Anforderungen und -Entwurf korrekt umgesetzt werden. Sowohl mit dem Entwurf als
auch mit der Leistung servergespeicherter Profile gab es früher erhebliche Probleme.
Erstens gab es weder einen Zusammenführungsalgorithmus noch eine Synchronisierung, sondern das
gesamte Profil wurde bei der Anmeldung auf den Client kopiert und bei der Abmeldung auf den Server
zurückkopiert, was jeweils zu ärgerlichen Verzögerungen führte.
Meldete sich zweitens ein Benutzer gleichzeitig an mehreren Computern an, war der letzte, von dem er
sich abmeldete, wegen der fehlenden Synchronisierung bei allen Dateien Sieger, was sich katastrophal
auswirken konnte. Seit Windows 2000 sorgt der Zusammenführungsalgorithmus dafür, dass jede einzelne Datei korrekt synchronisiert wird. Die einzige Datei, bei der mehrere parallele Anmeldungen
problematisch sind, ist die Registrierungsdatei. Da alle Benutzereinstellungen in einer einzigen Datei,
nämlich Ntuser.dat, gespeichert sind, lädt der letzte Computer, von dem sich der Benutzer abmeldet,
seine Kopie davon auf den Server und überschreibt damit diejenigen anderer Computer. Dass dies
erhebliche oder auch nur spürbare Probleme hervorruft, ist wenig wahrscheinlich.
3.7 Entwerfen und Einrichten von servergespeicherten Profilen
257
Drittens war kein Ordner von der Speicherung auf dem Server ausgenommen, sodass selbst Ordner mit
Datenmüll wie Temp und Temporary Internet Files dort landeten, was die Ordner weiter aufblähte und die
Wartezeit beim An- und Abmelden verlängerte. Wurden Benutzerdokumente nicht im Basisverzeichnis
des Benutzers im Netzwerk abgelegt, sondern im Benutzerprofil, konnte das Profil enorm groß werden.
Umfangreiche Profile sind viertens immer noch anfälliger gegen Beschädigungen, was zum Eingreifen
des Helpdesks und damit zu Kosten führt.
IT-Fachleute fühlten sich daher von servergespeicherten Profilen in den 90er Jahren zu Recht verärgert.
Aber, aber ... wir befinden uns inzwischen fast im zweiten Jahrzehnt des 21. Jahrhunderts. Das ist eine
neue Welt, ganz anders als damals.
Das K für Knowledge (Wissen) ist ein weiterer Faktor, der Diskussionen über servergespeicherte Profile vom Kurs abbringen kann. Sie wissen, dass Ordner aus servergespeicherten Profilen ausgeschlossen und vollkommen aus dem servergespeicherten Profil heraus umgeleitet werden können. Daher ist
Ihnen auch bekannt, dass sich servergespeicherte Profile so weit bearbeiten lassen, dass selbst das Profil
des erfahrensten Vielnutzers klein genug ist, um sich schnell synchronisieren zu lassen, selbst auf
Systemen, an denen er sich zum ersten Mal anmeldet. Ein kleineres Profil bedeutet auch geringeren
Speicherbedarf und weniger Anfälligkeit für Beschädigungen und die damit verbundene Problembehebung. Die Anwendung von Kenntnissen bei der Erstellung eines wirkungsvollen Entwurfs für servergespeicherte Profile bringt Sie auf dem Weg zum Erfolg voran.
Die Vorteile servergespeicherter Profile
Servergespeicherte Profile sind die einzige praktische Methode, um die Anforderungen an Verfügbarkeit und Ausfallsicherheit der in der Registrierung gespeicherten Benutzereinstellungen zu erfüllen.
Jede Benutzeranpassung, die HKEY_CURRENT_USER beeinflusst, wird in der Datei Ntuser.dat des
Benutzers im Stamm seines Benutzerprofils gespeichert. Diese Registrierungsdatei muss unter allen
Umständen im Netzwerk verfügbar sein.
Im Profil gibt es jedoch noch weitere Ordner, die auf dieselbe Weise verfügbar gemacht werden müssen.
Das beste Beispiel ist Favoriten. Betreibt ein Kunde beruflich Internetrecherche und verliert er aus
irgendeinem Grund diesen Ordner, ist er sehr wahrscheinlich höchst verärgert. Der Ordner kann unter
Windows XP nicht mithilfe von Gruppenrichtlinien umgeleitet werden, sodass die Speicherung auf dem
Server eine praktikable Lösung für die Erfüllung der UDS-Anforderungen darstellt. Möglicherweise
entscheiden Sie sich auch dafür, den Ordner Cookies dort abzulegen, auch wenn ich ihn als verzichtbar
ansehe und meistens davon ausschließe. Falls Sie einige Lösungen beim Lesen überschlagen, sollten Sie
trotzdem nicht auf die Darstellung in Lösung 3.5 verzichten, wie Sie Shellordner wie Favoriten, Cookies
und andere unter Windows XP mit dem Registrierungsschlüssel User Shell Folders umleiten.
Windows Vista brachte eine Reihe neuer Benutzerprofilordner mit, die Sie unter dem Aspekt des hier
und in Lösung 3.6 Gesagten daraufhin bewerten können, ob sie auf dem Server gespeichert, umgeleitet
oder lokal abgelegt werden sollen.
Verwalten des Ordners mit den Anwendungsdaten (AppData\Roaming)
Der nächste Großeinsatz für servergespeicherte Profile nach Ntuser.dat findet im Ordner Anwendungsdaten statt (seit Windows Vista AppData\Roaming). Dieser Ordner enthält zahlreiche wichtige Einstellungen und Anpassungen – darunter Benutzerwörterbücher, Vorlagen und andere Einstellungen für
Microsoft Office, Verschlüsselungsschlüssel und mehr. Gehen diese Daten verloren, kann die Produktivität darunter leiden.
258 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Windows-Clients unterstützen zwar die Umleitung des Ordners Anwendungsdaten, aber nach meiner
Erfahrung laufen immer noch einige Anwendungen damit nicht gut. Darüber hinaus muss der Ordner mit
der Funktion Offlinedateien zwischengespeichert werden, damit die Anwendungsdaten auch ohne Netzwerkverbindung zur Verfügung stehen (beispielsweise auf Laptops). Während der Übergangsphase gibt
es wieder Schwierigkeiten mit einigen Anwendungen, besonders, wenn ein Client mit zwischengespeicherten Anwendungsdaten Verbindungsprobleme hat, die dazu führen, dass er mehrfach zwischen
Online- und Offlinemodus wechselt.
Zusammenfassend ist zu sagen, dass Probleme mit dem Ordner Anwendungsdaten in erster Linie an den
Anwendungen selbst liegen (insbesondere daran, ob sie mit dem umgeleiteten Ordner funktionieren) und
in zweiter an Herausforderungen im Zusammenhang mit dem Wechsel in den Offlinemodus. Probleme
mit dem Zwischenspeichern des Ordners und der Arbeit ohne Netzwerkanbindung treten bei Windows
XP eher auf als bei Windows Vista, das erhebliche Verbesserungen für sämtliche Aspekte der Offlinedateien mit sich gebracht hat. Bevor Sie versuchen, den Ordner Anwendungsdaten umzuleiten, was voraussetzt, ihn für Benutzer ohne Netzwerkverbindung (am Laptop) offline verfügbar zu machen, müssen
die Anwendungen gründlich darauf getestet werden, ob sie Netzwerkumleitung und Offlinemodus unterstützen.
Noch eine Bemerkung: Windows Vista weist eine neue Gruppenrichtlinieneinstellung auf: Nur bei der
An- und Abmeldung zu synchronisierende Netzwerkverzeichnisse. Mithilfe dieser in Lösung 3.9 erläuterten Einstellung können Sie Probleme mit Anwendungen reduzieren, die nicht gut funktionieren,
wenn der Ordner Anwendungsdaten in einen Netzwerkordner umgeleitet wird.
Zusammenfassung
Um die Anforderungen an das UDS-Framework zu erfüllen, werden servergespeicherte Profile eingesetzt, die die Verfügbarkeit der Registrierungsdatei des Benutzers, Ntuser.dat, und ihre Synchronisierung mit einem Netzwerkspeicher erledigen. Außerdem wird der Ordner Anwendungsdaten (bzw. unter
Windows Vista AppData\Roaming) in das Profil aufgenommen, bis die Anwendungen gründlich auf
die Unterstützung von Ordnerumleitung und Offlinemodus getestet sind. Für Windows XP-Clients wird
der Ordner Favoriten entweder durch Ändern des betreffenden Werts im Registrierungsschlüssel User
Shell Folders umgeleitet (siehe Lösung 3.5 auf Seite 217) oder auf dem Server gespeichert.
Da umfangreiche Benutzerdatenspeicher (Dokumente und Desktop) umgeleitet werden, ist das servergespeicherte Profil nicht groß – es enthält nur Einstellungen und vielleicht den Ordner Favoriten. Ältere
Klagen über servergespeicherte Profile, die mit der Synchronisierungsdauer und der Gefahr von Beschädigungen zusammenhingen, sind durch das Heraushalten großer Mengen von Benutzerdaten aus den
Profilen so gut wie gegenstandslos geworden. Auch andere Ordner – z.B. Druckumgebung, Netzwerkumgebung und Cookies – lassen sich durch Gruppenrichtlinien von der Speicherung auf dem Server
ausschließen.
Werden servergespeicherte Profile in dieser Art eingerichtet, erfolgen Speicherung und Zugriff auf
Benutzerdaten in erster Linie auf dem System des Benutzers. Die Synchronisierung des Profils bei der
An- und Abmeldung gewährleistet, dass alle Änderungen in den Profilordner auf dem Server übertragen
werden. Meldet sich ein Benutzer an einem neuen System an, wird sein Profil mit dem neuen System
synchronisiert, bevor der Desktop erscheint.
3.8 Verwalten lokal gespeicherter Benutzerdaten 259
3.8 Verwalten lokal gespeicherter Benutzerdaten
Typ
Anleitung und Skripts
Funktionen und Werkzeuge
Ordnerumleitung, Verknüpfungen, Ausschließen von Ordnern aus
dem servergespeicherten Profil
Zusammenfassung
Anlegen von Datenspeichern für Benutzerdaten, die nicht im
Netzwerk abgelegt werden sollen, und Umleiten aller Shellordner,
die in diese Kategorie fallen
Vorteile
Erfüllen der Richtlinien über IT-Sicherheit und Nutzung der technischen Einrichtungen
Einführung
Wenn ich mit Kunden an der Umsetzung von Frameworks für Benutzerdaten und -einstellungen arbeite,
lautet einer der ersten Einwände dagegen: »Wir wollen aber nicht, dass Benutzer den Dateityp XYZ im
Netzwerk ablegen!« Dabei wird vorausgesetzt, dass sämtliche Benutzerdaten auf dieselbe At und Weise
gehandhabt werden müssen. Manche Administratoren glauben dies, weil ziemlich häufig alle Benutzerdaten im Benutzerprofil gespeichert werden, von denen wir anscheinend behaupten, dass sie entweder
umgeleitet oder auf dem Server gespeichert werden, was zu einer Kopie auf den Netzwerkservern führt.
Aus genau diesem Grund sollte eine Anforderung an ein Framework für Benutzerdaten und -einstellungen folgendermaßen lauten: »Das UDS-Framework erfüllt die Unternehmensrichtlinien für IT-Sicherheit und die Nutzung der technischen Einrichtungen in Bezug auf die Speicherung von Dateien im
Netzwerk.« Es gibt tatsächlich zwei dringende Gründe, bestimmte Daten nicht auf Servern abzulegen:
Datensicherheits- und IT-Nutzungsrichtlinien. Richtlinien für die Datensicherheit sollten so formuliert
sein, dass sie klar definieren, wie bestimmte Datenklassen gehandhabt werden. Möglicherweise gibt es
besonders sensible Daten, die – aus welchem Grund auch immer – weder auf einem Netzwerkserver
liegen noch auf einem Computer der betreffenden Umgebung zugänglich sein sollen. Meine Erfahrung
besagt jedoch, dass es sich bei Dateien, die unter die Datensicherheitsrichtlinien fallen, normalerweise
um die wertvollsten Datenbestände eines Unternehmens handelt, weshalb sie gerade geschützt, gesichert und präzise verwaltet werden sollten. Aufgaben dieser Art lassen sich wirkungsvoller erledigen,
wenn sich die Daten doch auf einem Server befinden. Eigentlich geht es eher darum, den Zugriff auf die
Daten zu beschränken – also um eine Frage von Sicherheit oder Berechtigungen. Es kann gut sein, dass
solche Daten nicht in einem servergespeicherten Profil oder einem umgeleiteten Ordner untergebracht
werden sollten, sondern in einem eigenen Datenspeicher.
Es ist wahrscheinlicher, dass IT-Richtlinien und Nutzungsfragen bestimmen, was auf Netzwerkservern
gespeichert werden kann und was nicht. Nehmen wir als Beispiel die Musiksammlungen von Mitarbeitern. Die meisten Unternehmen, mit denen ich zusammengearbeitet habe, äußerten Bedenken, die
Musik von Benutzern auf den Servern ablegen zu lassen – wegen des Speicherbedarfs und möglicher
Verletzungen des Urheberrechts. Oft betrachten Firmen Mediendateien – Bilder, Musik und Videos –
nicht als geschäftliche, sondern als private Daten, und die IT-Richtlinien untersagen häufig, private
Daten auf Servern abzulegen.
Daten, die ausschließlich auf einem Clientsystem gespeichert und weder auf dem Server abgelegt noch
umgeleitet werden sollen, bezeichne ich als rein lokale Benutzerdaten.
260 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Wichtig »Rein lokale Benutzerdaten« ist ein allein für unsere Darstellung eines UDS-Frameworks gültiger
Begriff; es handelt sich nicht um einen offiziellen Terminus von Microsoft. Gemeint sind Daten, die weder auf
dem Server abgelegt noch umgeleitet werden.
In dieser Lösung betrachten wir Möglichkeiten, rein lokale Daten zu verwalten, die »niemals« auf Servern gespeichert werden sollen. Die Anführungszeichen um »niemals« benutze ich, weil es in der EDV
nur wenige knallharte Regeln gibt und ich meine, dass Sie sämtliche Benutzerdaten mitnehmen sollten,
wenn ein Benutzer einen neuen Computer bekommt – auch Dateien wie private Musiksammlungen. Ich
erwähne dies nur, weil Benutzer unsere Kunden sind und das Löschen oder der Verlust der Musik eines
Benutzers mit Sicherheit einen unglücklichen Kunden hinterlässt. Eigentlich geht es in dieser Lösung
also um Benutzerdaten, die im Normalfall nicht auf Servern gespeichert werden sollen.
Welche Daten sollen nur lokal verwaltet werden?
Im ersten Schritt ermitteln Sie, bei welchen Daten das Speichern auf Netzwerkservern verhindert
werden soll. Als Beispiel verwende ich Musik-, Bild-, Video- und verschiedene private (also nicht
unternehmensbezogene) Dateien und bezeichne sie in ihrer Gesamtheit als rein lokale Daten.
Welche Daten Sie als rein lokal betrachten, sollte direkt von den Datensicherheits- und IT-Nutzungsrichtlinien bestimmt werden. Fehlen solche Richtlinien oder beziehen Sie bestimmte Datenklassen in
die privaten Dateien ein, die nicht darunter fallen, stoßen Sie wahrscheinlich auf Widerstand. Ich
empfehle Ihnen, Richtlinien aufzustellen, falls es keine gibt, oder vorhandene nötigenfalls zu erweitern,
damit hinter Ihrer Entscheidung, die betreffenden Datenklassen getrennt zu verwalten, ein Unternehmensziel steht.
Entwerfen einer Ordnerstruktur für rein lokale Daten
Welche Ordner Sie zur Aufnahme rein lokaler Daten anlegen, hängt vermutlich in erster Linie von der
Parallelität zwischen den betreffenden Datenklassen und den Profilordnern in Windows Vista und Ihrer
Planung für den Wechsel zu Windows Vista ab.
Rein lokale Medienordner
Sehen Sie Bilder, Musik und Videos als rein lokal an, sollten Sie daran denken, dass Windows Vista für
solche Dateien explizit Ordner anlegt, die Sie problemlos verwenden und von der Speicherung auf dem
Server ausnehmen können. Unter Windows XP handelt es unglücklicherweise um Unterordner von
Eigene Dokumente. In dieser Lösung gehen wir davon aus, dass Sie irgendwann auf Windows Vista
umsteigen, und legen daher weiter hinten eine Windows XP-Profilordnerstruktur an, die diejenige von
Windows Vista nachbildet und damit die Migration auf Windows Vista vereinfacht. Anschließend
behandeln wir die betreffenden Ordner als rein lokal.
Private Nichtmediendateien
Möglicherweise haben Sie weitere Datenklassen als Bilder, Musik und Videos, die Sie als rein lokal
behandeln wollen. In unserem Beispiel ist es eine Klasse für die verschiedenen privaten Dateien, bei
Ihnen sind es möglicherweise mehrere.
Sie müssen eine Ordnerstruktur entwerfen, um diese Nichtmedienklassen rein lokaler Daten unterzubringen, die den Zweck des Ordners und die Art der aufzunehmenden Daten verdeutlicht. Idealerweise sollten
Sie den Benutzern auch verdeutlichen, dass die Pflege der Daten nicht Sache des Unternehmens ist.
3.8 Verwalten lokal gespeicherter Benutzerdaten 261
Gibt es wie in unserem Beispiel nur eine Nichtmedienklasse, empfehle ich einen einzigen Ordner Private Dateien. Ich habe auch Ordnernamen wie Lokale Daten, Lokale Daten ohne Sicherung und Eigene
lokale Daten als Vorschlag oder in Gebrauch erlebt und kann mir auch den Namen Rein lokale Daten
vorstellen.
Wir legen also einen Ordner Private Dateien auf der obersten Ebene des Benutzerprofils an, der nicht
umgeleitet wird und mithilfe der in Lösung 3.6 vorgestellten Gruppenrichtlinie von der Speicherung auf
dem Server ausgenommen wird. Wir erstellen ihn im Benutzerprofil, damit er durch die Zugriffssteuerungsliste des Profils geschützt ist, die gewährleistet, dass nur der Benutzer und die Administratorengruppe des Computers Zugriff darauf haben. Aus den in den Anforderungen in Lösung 3.1 angesprochenen Gründen sollte der Ordner nicht im Stamm des Festplattenlaufwerks angelegt werden.
Ich empfehle grundsätzlich, den Ordner Private Dateien als Profilordner der obersten Ebene anzulegen
– also unter Windows Vista z.B. C:\Users\<Benutzername>\Private Dateien bzw. unter Windows XP
C:\Dokumente und Einstellungen\<Benutzername>\Private Dateien. Technisch gesehen gehen Sie das
Risiko ein, mit einer Anwendung in Konflikt zu geraten, die einen eigenen Ordner mit diesem Namen an
derselben Stelle erwartet, aber dieses Risiko ist gering, und außerdem erkennen Sie es beim Testen der
neuen Anwendung.
Solche Risiken lassen sich reduzieren, indem Sie im Benutzerprofil einen Ordner mit Ihrem Firmenname
anlegen und den Ordner Private Dateien darin unterbringen – beispielsweise C:\Users\<Benutzername>\<Firma>\Private Dateien. Dieser Ansatz zeigt eine gewisse Eleganz, weil Sie möglicherweise
weitere benutzerspezifische Ordner anlegen, die Sie dann unter einem gemeinsamen Ordner zusammenfassen können. Lösung 3.9 behandelt den Ordner Lokale Dateien, der als gleichrangiger Ordner unter
einem gemeinsamen übergeordneten Ordner möglicherweise eleganter ist – beispielsweise
C:\Users\<Benutzername>\<Firma>\Lokale Dateien.
Bei mehreren Nichtmedienklassen privater Dateien haben Sie die Wahl: Sie können für jede Dateiklasse einen Profilordner der obersten Ebene oder einen Ordner innerhalb eines Stammordners (z.B.
Rein lokal) anlegen und dadurch alle privaten Dateien zentral zusammenfassen. Beide Möglichkeiten
sehen Sie in Abbildung 3.25.
Abbildung 3.25 Zwei Möglichkeiten einer Dateistruktur für private Dateien
262 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Für welche Möglichkeit sollen Sie sich entscheiden? Ich vermute, dass ist eher eine Geschmacksfrage
als alles andere, und Sie können natürlich auch eine Mischung aus Ordnern oberster Ebene und Unterordnern eines gemeinsamen Ordners entwerfen.
Hinweis Wenn Sie Entwickler haben, können Sie sie bitten, in die MSDN-Dokumentation der Known
Folders in Windows Vista zu schauen. Windows Vista bietet die Möglichkeit, offizielle Profilordner, die so
genannten Known Folders, mit Eigenschaften anzulegen, die das Speichern auf dem Server verhindern, z.B.
Flags. Solche Ordner können auch die Umleitung unterstützen. Diese Idee lässt sich ohne Weiteres in Form
von firmenspezifischen Ordnern dieser Art ausbauen.
Einrichten von Ordnern für rein lokale Dateien
Nachdem Sie festgelegt haben, welche Dateitypen Sie rein lokal verwalten wollen, und eine Ordnerstruktur für diese Daten entworfen haben, können Sie die Änderungen umsetzen, was mehrere Schritte
erfordert:
Anlegen der Ordner: Sie legen die eigentlichen Ordner im Dateisystem an.
Verschieben der Daten in die neuen Ordner: Dann werden die Benutzerdaten in die neuen Ordner
verschoben.
Sicherstellen, dass die Anwendungen die verschobenen Medienordner finden: Jede Anwendung,
die ihre Daten an einer Stelle sucht, die verschoben wurde, muss aktualisiert werden.
Umleiten von rein lokal behandelten Windows XP-Medienordnern: Medienordner wie Eigene
Musik, Eigene Bilder und Eigene Videos können an den neuen Ort umgeleitet werden, den Sie für
diese Dateien angelegt haben.
Vorsehen von Möglichkeiten zum Auffinden verschobener Ordner: Sorgen Sie für einen sichtbaren, leicht auffindbaren Pfad zu den neu angelegten Ordnern.
Ausschließen rein lokaler Ordner aus servergespeicherten Profilen: Nutzen Sie die Gruppenrichtlinieneinstellung Verzeichnisse aus servergespeichertem Profil ausschließen, die Sie unter Benutzerkonfiguration\Richtlinien\Administrative Vorlagen\System\Benutzerprofile finden.
Die beiden ersten Schritte sind einfach; die anderen vier untersuchen wir gleich.
Sicherstellen, dass die Anwendungen die verschobenen
Medienordner finden
Nehmen wir an, Sie haben eine Datenklasse, die Sie als rein lokal behandeln. Sie haben dafür einen
Ordner innerhalb des Benutzerprofils angelegt und die Daten aus dem Ordner Dokumente dorthin
überführt. Bestimmte Anwendungen haben sich möglicherweise den Speicherort der Dateien gemerkt,
sodass eine Umleitung erforderlich sein kann. Wie Sie die Anwendung auf den neuen Ort zeigen lassen, hängt vollkommen von ihr selbst ab. Häufig müssen Registrierungswerte aktualisiert oder eine
Konfigurationsdatei (INI oder XML) geändert werden.
Im Allgemeinen finden Anwendungen Ordner entweder über einen hartkodierten Pfad oder durch
Auflösen des Speicherorts eines Shellordners. Um Shellordner geht es im nächsten Abschnitt. Die dort
behandelten Konzepte können Sie auf alle Anwendungen übertragen, die Shellordner nutzen. Hartkodierte Pfade lassen sich sehr erfolgreich finden, indem Sie die Registrierung nach Instanzen des alten
Pfades durchsuchen und dann auf der Festplatte (auch in Systemdateien und -ordnern sowie verborgenen Dateien und Ordnern) nach Dateien suchen, die den alten Pfad enthalten.
3.8 Verwalten lokal gespeicherter Benutzerdaten 263
Beim Entwerfen Ihres UDS-Frameworks testen Sie auch Anwendungen, die von der Verlagerung ihrer
Datenspeicher betroffen sein können. Sie wollen sicherstellen, dass sie an einen benutzerdefinierten Ort
umgeleitet werden können und weiter erwartungsgemäß funktionieren. Diese Aufgabe sollte jedoch
nicht übermäßig schwer sein, weil das Wesentliche an »rein lokalen« Ordnern der Umstand ist, dass sie
von Umleitung und Speicherung auf dem Server ausgenommen sind. Wahrscheinlich haben Sie nicht
besonders viele Unternehmensanwendungen, die mit einer so eingeschränkten Skala von Datenarten
interagieren muss.
Umleiten von rein lokal behandelten Windows XP-Medienordnern
Behandeln Sie Windows Vista-Ordner als rein lokal, sollte alles klar sein. Sie müssen lediglich dafür
sorgen, dass sie nicht den Richtlinien für die Ordnerumleitung unterliegen, und sie anschließend aus
den servergespeicherten Profilen ausschließen, wie weiter hinten erörtert wird.
Unter Windows XP müssen Sie jedoch die Medienordner umleiten, die Sie als rein lokal behandeln
wollen, damit sie keine Unterordner von Eigene Dokumente mehr sind, und die neuen Speicherorte
dann aus dem servergespeicherten Profil ausschließen.
Um Shellordner wie Bilder, Musik und Videos für Windows XP-Clients umzuleiten, schlagen Sie in
Lösung 3.5 auf Seite 217 nach. Ich habe sogar eine benutzerdefinierte Vorlage (ADM-Datei) bereitgestellt, mit der Sie die Medienordner umleiten können. Verlagern Sie sie einfach an einen Ort im Benutzerprofil, beispielsweise %USERPROFILE%\<Ordnername>, anstatt in einen Netzwerkspeicher
(siehe Abbildung 3.26).
Abbildung 3.26 Umleiten eines Shellordners an einen anderen lokalen Speicherort
264 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Vorsehen von Möglichkeiten zum Auffinden verschobener Ordner
Die beiden vorherigen Abschnitte haben Ihnen gezeigt, wie Sie dafür sorgen, dass Anwendungen Ihre
rein lokalen Ordner finden: Umleiten von Shellordnern durch Ändern ihrer Registrierungswerte oder
Suchen der Einstellungen, die die konkrete Anwendung nutzt, um auf ihre Datenspeicher zu zeigen.
Verschieben Sie jedoch Ordner – beispielsweise Musik, Bilder und Videos – wissen die Benutzer nicht
mehr, wo sie sie suchen sollen. Sie müssen in der Benutzerschnittstelle leicht auffindbare Pfade zu den
verschobenen Ordnern bereitstellen. Ich stelle Ihnen zwei Ansätze vor, die Ihnen genug Möglichkeiten
bieten sollten, um eine in Ihrer Situation funktionierende Lösung zu erstellen.
Zuerst nehmen wir als Beispiel den Ordner Eigene Musik, aber für jeden anderen Ordner, den Sie an anderer Stelle speichern, können Sie ähnliche Konzepte und Techniken einsetzen. Windows XP-Benutzer sind
daran gewöhnt, den Ordner Eigene Musik und seine Kameraden im Ordner Eigene Dokumente zu finden.
Haben Sie nun einen neuen Ordner für Musik angelegt – beispielsweise %USERPROFILE%\Musik –,
um ihn rein lokal zu verwalten, müssen Sie den Benutzern eine Möglichkeit bieten, sich zu ihrer Musiksammlung durchzuklicken.
Ich empfehle Ihnen, den ursprünglichen Ordner Eigene Musik zu löschen. Die Musikdateien sollten sich
schon an ihrem neuen Speicherort befinden. Auf diese Weise sehen die Benutzer genau das, was sie schon
immer gesehen haben: etwas, das wie ein Ordner aussieht und ihre Musiksammlung zugänglich macht.
Das zweite Beispiel gilt für Windows Vista, dessen Benutzeroberfläche ein oft übersehenes und höchst
ergiebiges Element aufweist, das Fenster Linkfavoriten (in Abbildung 3.27 links oben). Um den Benutzern einen sichtbaren, leicht zu findenden Pfad zum Speichern ihrer privaten Dateien zur Verfügung zu
stellen, habe ich in diesem Fenster einen Link erstellt, der auf unseren rein lokalen Ordner für private
Dateien zielt – %userprofile%\Private Dateien. Um einen solchen Link anzulegen, tragen Sie einfach
eine Verknüpfung in den Ordner Links im Windows Vista-Benutzerprofil ein.
Abbildung 3.27 Der Bereich Linkfavoriten in Windows Vista
3.9 Verwalten von nur lokal zugänglichen Benutzerdaten 265
Hinweis Hinweise in der Benutzeroberfläche sind eine großartige Methode, den Benutzern Nachrichten zu
übermitteln. Obwohl der rein lokale Ordner möglicherweise Private Dateien heißt, können wir die Verknüpfung, die den Linkfavoriten anlegt, Private Dateien regelmäßig sichern! nennen und die Benutzer so daran
erinnern, dass sie selbst dafür zuständig sind, Sicherungskopien für den Inhalt des Ordners zu erstellen.
Informieren und Schulen der Benutzer
Wie bei allen Aspekten eines Frameworks für Benutzerdaten und -einstellungen sollten Sie Informationsquellen für die Benutzer bereitstellen und sie im Umgang mit den UDS-Datenspeichern schulen.
Dass es rein lokale Daten gibt, hat einen Grund – die Unterstützung bestimmter Datenklassen, die aufgrund von Datensicherheits- oder IT-Nutzungsrichtlinien nicht auf dem Server abgelegt oder umgeleitet werden sollen. Überzeugen Sie sich davon, dass die Benutzer wissen, um welche Datenarten es
sich handelt und welche Speicher Sie dafür angelegt haben. Da rein lokale Daten nur auf dem System
des Benutzers gespeichert werden, sollten Sie die Benutzer außerdem daran erinnern, dass sie selbst
für die Sicherung der Daten zuständig sind, die sie bei Ausfall oder Verlust der Hardware nicht verlieren möchten.
Zusammenfassung
In vielen Unternehmen gibt es Datenarten, die nicht auf Netzwerkservern gespeichert werden sollen
und deshalb nur auf der lokalen Festplatte eines Benutzers abgelegt werden können. Zu diesen rein
lokalen Daten zählen häufig die Musiksammlungen von Benutzern (Ordner Musik oder Eigene Musik),
gelegentlich auch Bilder, Videos und manche Typen privater Dateien. Um die Erfüllung der Richtlinien
für Datensicherheit und IT-Nutzung zu fördern, müssen Sie etwas mit diesen Daten unternehmen, d.h.
sie verschieben, damit sie weder auf dem Server abgelegt noch umgeleitet werden. Außerdem müssen
Sie es Benutzern und Anwendungen leicht machen, die neuen Ordner zu finden.
3.9 Verwalten von nur lokal zugänglichen Benutzerdaten
Die Lösung im Überblick
Typ
Anleitung und Skripts
Funktionen und Werkzeuge
Servergespeicherte Benutzerprofile, Offlinedateien, Gruppenrichtlinien, Verknüpfungen
Zusammenfassung
Anlegen eines oder mehrerer lokaler Ordner innerhalb des Benutzerprofils, die von der Speicherung auf dem Server ausgenommen
werden. Sie sind für Daten da, auf die der lokale Zugriff möglich
sein muss, die aber trotzdem verwaltet werden müssen, um die
Anforderungen des UDS-Frameworks an Verfügbarkeit, Mobilität
und Ausfallsicherheit zu erfüllen.
Vorteile
Unterstützung von Anwendungen oder Verfahren, die lokalen
Datenzugriff erfordern
266 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Einführung
Von den Unternehmensanforderungen an ein UDS-Framework, die in Lösung 3.1 aufgestellt wurden,
konzentrierten sich die meisten auf die Sicherheit, Ausfallschutz und Mobilität von Benutzerdaten, was
zu einem Entwurf führt, in dem Benutzerdatenspeicher wie Dokumente und Desktop auf Server als primären Speicherort umgeleitet werden. Für die meisten Benutzerdaten in Netzwerken mit angemessener
Verbindung zwischen Benutzern und UDS-Servern sollte dies ausreichen, um die Anforderungen zu
erfüllen.
Aber keine Regel ohne Ausnahme. Weiter vorn haben wir Beispiele von Benutzern angeführt, die Videodateien bearbeiten. Diese Art beruflicher Tätigkeit wird qualvoll, wenn nicht unmöglich, wenn zwischen
der Anwendung und den Daten eine Netzwerkleitung liegt, weshalb Speicherung und Zugriff auf solche
Daten lokal erfolgen sollten. Ein weiteres Beispiel, das ich in einigen Unternehmen erlebe, ist der
Wunsch, auf Outlook- oder andere E-Mail-Archive lokal zuzugreifen, damit es schneller geht.
Aus diesem Grund lautete eine der Anforderungen an das Framework: »Das UDS-Framework unterstützt die Verwaltung von Ausnahmen.« Nehmen wir an, dass die Daten in diesem Szenario für den
Benutzer wichtig und für das Unternehmen wertvoll sind, müssen wir den Benutzern eine geregelte
Methode zur Verfügung stellen, für solche Daten das Modell der umgeleiteten Ordner zu umgehen,
sodass sie lokal darauf zugreifen können. Wir müssen aber auch dafür sorgen, dass Datensicherungen
angelegt werden, um die Anforderungen an Ausfallsicherheit und Mobilität zu erfüllen.
In dieser Lösung untersuchen wir Möglichkeiten für die Verwaltung von Daten, die lokal zugänglich
sein sollen, aber regelmäßig im Netzwerk gesichert werden müssen, also anders als die rein lokalen
Daten in Lösung 3.8, die ausschließlich auf der Clientfestplatte liegen. In der nächsten Lösung erfahren
wir genau, wie wir Datensicherungen in Netzwerkspeichern durchführen.
Festlegen des Namens für den Order mit lokalen Dateien
Unabhängig davon, welchen Entwurf Sie nach der Bewertung der in Kürze vorgestellten Möglichkeiten
wählen, müssen Sie entscheiden, wie Sie die Ordner nennen, die Sie zur Verwaltung der Daten in dieser
Kategorie einsetzen wollen. Der Name sollte einen oder mehrere der folgenden Aspekte deutlich
machen:
„ Der Datenzugriff erfolgt nicht über das Netzwerk, sondern auf der lokalen Festplatte.
„ Es werden mit gewisser Regelmäßigkeit Datensicherungen erstellt.
„ Die Ordner sollen keine neuen lokalen Speicher für alle Benutzerdaten werden, sondern ausschließlich für diejenigen, auf die lokaler Zugriff erforderlich ist.
„ Die Ordner sollen nicht als alternative »lokale Kopiermöglichkeit« für Offlinedateien von Benutzern behandelt werden, die offline arbeiten.
„ Die Ordner sollen nur so lange benutzt werden, wie der aktive Zugriff auf die Daten andauert. Wenn
die Arbeit abgeschlossen ist, sollen die Daten in einen Speicher übertragen werden, der mit umgeleiteten Ordnern verwaltet werden kann.
„ Die Art der Daten, die Benutzer in den betreffenden Ordnern unterhalten können.
Ich habe noch keinen Namen für diese Art Ordner gesehen, der klarer Sieger war. Anscheinend funktionieren Namen folgender Art:
„ Lokale Dateien (oder Daten)
„ Gesicherte lokale Dateien (oder Daten)
3.9 Verwalten von nur lokal zugänglichen Benutzerdaten 267
Lokale Arbeit oder Lokal arbeiten
„ Lokale Unternehmensdateien (im Gegensatz zu Private Dateien)
In dieser Lösung wählen wir einen Namen und bleiben dabei: Lokale Dateien.
„
Option 1: Verwenden eines Ordners mit servergespeichertem Profil
Die erste Option ist die unkomplizierteste: Verwenden Sie einen Ordner, der mithilfe servergespeicherter
Profile verwaltet wird. Wie in Lösung 3.7 erörtert, synchronisieren diese bei der An- und Abmeldung die
Dateien des Netzwerkspeichers und der lokal zwischengespeicherten Kopie des Benutzerprofils.
Solange der Benutzer angemeldet ist, greift er auf den lokalen Cache zu.
Sie können beispielsweise im Benutzerprofil einen neuen Ordner Lokale Dateien anlegen. Solange er
nicht ausdrücklich mit einer Gruppenrichtlinie vom Speichern auf dem Server ausgenommen ist, wird
er dort abgelegt.
Der Nachteil der Serverspeicherung ist die Synchronisierung bei jeder An- und Abmeldung, die sich
nicht wirklich abstellen lässt und besonders problematisch wird, wenn die Dateien im Ordner Lokale
Dateien umfangreich sind: Wenn die Benutzer ihr System herunterfahren, dauert die Übertragung auf
den Server ziemlich lange. Ungeduldige Benutzer schalten den Rechner möglicherweise einfach aus
oder bekommen heraus, dass das Herunterfahren schneller geht, wenn sie die Verbindung zum Netzwerk kappen, was in beiden Fällen die Integrität und die Brauchbarkeit des Benutzerprofils auf dem
Server bedroht.
Sind Anzahl und Größe der Dateien in einem Ordner Lokale Dateien voraussichtlich annehmbar, ist ein
Ordner mit servergespeichertem Profil jedoch mit Sicherheit die einfachste Lösung.
Option 2: Nutzen von Offlinedateien (nur Windows Vista)
Dieser Ansatz ist erst seit Windows Vista möglich und eine gute Möglichkeit für Situationen, in denen
der Zugriff auf eine Datei auf einer Netzwerkfreigabe problematisch ist. Unter Windows Vista gibt es
die neue Gruppenrichtlinieneinstellung Nur bei der An-/Abmeldung zu synchronisierende Netzwerkverzeichnisse.
Sie funktioniert für umgeleitete Ordner, die offline verfügbar gemacht wurden. Wie in Lösung 3.6
erwähnt, führt Windows dies standardmäßig automatisch durch, wenn Benutzerordner umgeleitet werden. Wird der Ordner Dokumente umgeleitet, stellt Windows ihn also offline zur Verfügung. Anschließend können Sie mit dieser Gruppenrichtlinieneinstellung festlegen, auf welche Unterordner von Dokumente (oder anderer Netzwerkordner wie AppData, Desktop usw.) offline zugegriffen werden soll, auch
wenn der Server erreichbar ist. Änderungen an darin enthaltenen Dateien werden nur bei der An- und
Abmeldung synchronisiert. Das Ergebnis ist ein servergespeichertes Profil wie ein Unterordner innerhalb eines sonst umgeleiteten Ordners. Raffiniert, oder?
Sie finden die Richtlinie unter Benutzerkonfiguration\Richtlinien\Administrative Vorlagen\System\Benutzerprofile – eine nicht gerade einleuchtende Stelle für eine Offlinedateieinstellung. Aktivieren Sie sie und
legen Sie mithilfe von Netzwerkordnernamen und Pfaden zu Unterordnern die gewünschten Ordner fest.
Abbildung 3.28 konfiguriert den Ordner Dokumente\Lokale Dateien für den lokalen Zugriff und die Synchronisierung nur bei der An- und Abmeldung.
268 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Abbildung 3.28 Die Option Nur bei der An-/Abmeldung zu synchronisierende Netzwerkverzeichnisse
Der vollständige Pfad im Textfeld der Abbildung lautet \\contoso.com\Users\%username%\Documents\Local Files.
Außerdem können Sie mit dieser Option den Ordner AppData in Situationen umleiten, in denen Anwendungen bei Nichtverfügbarkeit des Servers nicht zufrieden stellend laufen (siehe Lösung 3.7). Sie können
dann einfach festlegen, dass der AppData-Unterordner für die betreffende Anwendung nur bei der Anund Abmeldung synchronisiert wird. Dadurch werden jedoch nicht Probleme mit Anwendungen behoben, die hartkodierte Pfade wie C:\Dokumente und Einstellungen\<Benutzername>\Anwendungsdaten
verwenden, um den Ordner AppData zu finden.
So weit, so gut, doch was ist jetzt der Nachteil? Erstens funktioniert dies nur unter Windows Vista.
Zweitens findet bei jeder An- und Abmeldung eine Synchronisierung statt (vorausgesetzt, der Benutzer
hat eine Verbindung zum Netzwerk), was wiederum zeitaufwändig sein kann, wenn die Dateien dieser
Klasse umfangreich sind.
Drittens sind die Pfade, die in diese Richtlinie eingetragen werden müssen, vollständige UNC-Pfade,
wodurch Ihre Einrichtung des Gruppenrichtlinienobjekts für die Ordnerumleitung schwieriger werden
kann als nötig. Lassen Sie mich das erklären. Bei der einfachen Ordnerumleitung, bei der die Ordner aller
Benutzer an einen gemeinsamen Stammpfad umgeleitet werden – z.B. \\contoso.com\Benutzer\%username%\Dokumente – haben Sie noch Glück. Sie können genau diesen Pfad in die Richtlinieneinstellung
Nur bei der An-/Abmeldung zu synchronisierende Netzwerkverzeichnisse übernehmen.
Wollen Sie jedoch eine erweiterte Umleitung durchführen, bei der mehrere Sicherheitsgruppen unterschiedliche Zielorte haben (beispielsweise \\contoso.com\users\sydney\%username%\documents und
\\contoso.com\users\new york\%username%\documents), wird es schwieriger. Entweder müssen Sie
jeden möglichen Pfad (in diesem Beispiel die beiden Pfade mit Sydney und New York) in die Einstellung
aufnehmen oder auf die erweiterte Ordnerumleitung verzichten und stattdessen getrennte Gruppenrichtlinienobjekte einrichten – für jede Sicherheitsgruppe eins mit einfacher Ordnerumleitung, das durch
3.9 Verwalten von nur lokal zugänglichen Benutzerdaten 269
Filtern nur für diese Gruppe gilt und bei dem das Ziel der Ordnerumleitung und die Einstellung Nur bei
der An-/Abmeldung zu synchronisierende Netzwerkverzeichnisse denselben UNC-Pfad enthalten. Noch
ein guter Grund mehr, den DFS-Namenraum für Ihr UDS-Framework vollständig aufgelistet einzurichten anstatt auf Elemente wie Standorte aufzubauen.
Option 3: Erstellen eines lokalen Ordners, der auf einem
Netzwerkspeicher gesichert wird
Die dritte Möglichkeit für die Arbeit mit lokalen Dateien besteht darin, den primären Speicher, in dem
der Zugriff erfolgt, auf der lokalen Festplatte zu erstellen und anschließend die Dateien im Netzwerk zu
sichern. Diese Option ist am kompliziertesten in der Einrichtung, bietet jedoch die meiste Flexibilität
und Kontrolle. Außerdem funktioniert sie unter Windows XP und Windows Vista (und allen anderen
Windows-Versionen). Da es je nach den konkreten Erfordernissen so viele Varianten gibt, führe ich
Ihnen ein Szenario vor, das sämtliche wesentlichen Fragen berührt. Danach können Sie Ihren Bedarf
analysieren und einen entsprechenden Entwurf erstellen, der die in Ihrem Unternehmen bestehenden
Probleme berücksichtigt. Wir gehen in unserem Szenario davon aus, dass der lokale Zugriff auf mehrere Datenarten erforderlich ist: umfangreiche Videodateien und PST-Dateien von Microsoft Outlook.
Es handelt sich um sowohl für den Benutzer als auch für das Unternehmen wichtige Bestände, weshalb
sie nicht mit dem Risiko des vollständigen Verlusts bei einem Hardwareausfall rein lokal abgelegt werden sollen. Stattdessen wollen wir sicherstellen, dass eine Kopie der Dateien im Netzwerk vorhanden
ist.
Erstellen des lokalen Ordners
Zuerst muss der lokale Ordner angelegt werden, der als Stamm für die Daten dieser Klasse fungieren
soll. Natürlich dürfen es auch mehrere sein. Um in den Windows Vista-Namespace zu passen, soll
er %userprofile%\Local Files heißen. Er ist außerhalb der umgeleiteten Ordner untergebracht – eine
Umleitung darf nicht stattfinden –, befindet sich aber innerhalb des Benutzerprofils, sodass laut Berechtigung nur der Benutzer Zugriff hat.
Ausnehmen des Ordners von der Serverspeicherung
Anschließend schließen wir den Ordner mit der in Lösung 3.7 vorgestellten Richtlinie Verzeichnisse
aus servergespeichertem Profil ausschließen aus den servergespeicherten Profilen der Benutzer aus.
Aufstellen von Verfahren und Werkzeugen zur Datensicherung und Synchronisation
Da die Daten dieser Kategorie vom UDS-Framework verwaltet werden, müssen Sie dafür sorgen, dass
sie in angemessenen Abständen regelmäßig in einem Netzwerkspeicher gesichert oder synchronisiert
werden, damit sie auf anderen Computern zur Verfügung stehen und bei Hardwareausfall oder Verlust
auf einem Benutzersystem noch vorhanden sind. Optionen für die Sicherung und Synchronisierung
werden in Lösung 3.10 behandelt.
Erstellen von sichtbaren Navigations- und Zugriffspunkten in der Benutzeroberfläche
Da der Ordner Lokale Dateien nicht in einem umgeleiteten oder servergespeicherten Ordner untergebracht ist, müssen Sie dafür sorgen, dass die Benutzer ihn leicht finden. Dazu können Sie Verknüpfungen
oder unter Windows Vista symbolische Links in geeigneten Benutzershellordnern platzieren. Sie können
beispielsweise im Ordner Dokumente eine Verknüpfung oder einen symbolischen Link Lokale Dateien
mit dem betreffenden Pfad auf der lokalen Festplatte erstellen.
270 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Unter Windows Vista können Sie außerdem den Bereich Linkfavoriten benutzen, den Sie in Abbildung
3.29 gesehen haben. Um dort einen Link einzufügen, geben Sie einfach eine Verknüpfung in den Ordner
Links im Benutzerprofil ein.
Zusammenfassung
Diese Lösung enthielt eine Anleitung zum Anlegen eines Datenspeichers für den lokalen Zugriff für
Situationen, in denen die Kernverwaltungskomponenten des UDS-Frameworks – umgeleitete Ordner,
Offlinedateien und Synchronisierung – nicht so gut geeignet sind. Die erste Möglichkeit ist das Anlegen eines neuen Ordners im Benutzerprofil und die Synchronisierung der lokalen Änderungen mit
dem servergespeicherten Profil durch die standardmäßige Profilzusammenführung. Die zweite Möglichkeit, die nur unter Windows Vista zur Verfügung steht, besteht darin, Unterordner eines umgeleiteten Ordners so einzurichten, das sie nur bei der An- und Abmeldung synchronisiert werden und der
Zugriff lokal erfolgt, solange eine Netzwerkverbindung besteht. Am flexibelsten ist die dritte Möglichkeit: Sie lässt sich sowohl unter Windows XP als auch unter Windows Vista implementieren und
stützt sich zur Synchronisierung des lokalen Datenspeichers mit dem auf dem Server nicht auf die
Standardmechanismen, sodass Sie die Synchronisierung voll und ganz nach den Erfordernissen der
jeweiligen Datenklasse einrichten und handhaben können. In Lösung 3.10 werden einige Werkzeuge
für die Synchronisierung der lokalen mit den Serverspeichern vorgestellt.
3.10 Sichern von lokalen Datenspeichern zur Erhöhung
von Verfügbarkeit, Mobilität und Ausfallsicherheit
Die Lösung im Überblick
Typ
Anleitung und Skripts
Funktionen und Werkzeuge
Robocopy, VBScript, zeitgeplante Aufgaben, Gruppenrichtlinien
für Anmelde- und Startskripts
Vorteile
Verwaltung von UDS-Daten, die sich mit umgeleiteten Ordnern,
Offlinedateien und servergespeicherten Profilen nicht besonders
gut handhaben lassen
Einführung
Wahrscheinlich stoßen Sie auf einige wenige Klassen von Benutzerdaten, die sich mit umgeleiteten
Ordnern oder Offlinedateien nicht besonders gut handhaben lassen, weshalb der Zugriff darauf in einem
Primärspeicher auf dem lokalen System erfolgen muss. Sollen diese Dateien vom UDS-Framework
verwaltet werden – und unterliegen sie deshalb dessen Anforderungen an Verfügbarkeit, Mobilität und
Ausfallsicherheit –, ist ein Mechanismus erforderlich, um sie auf dem serverbasierten Datenspeicher
zu sichern. Dabei darf es sich aber nicht um eine Sicherungsdatei in einem Stück wie eine BKF- oder
WIM-Datei handeln, sondern um eine Kopie der einzelnen Dateien auf dem Server, die bei Bedarf den
einfachen Zugriff ermöglicht.
In dieser Lösung geht es um die Bestandteile einer Datensicherung. Wie diese genau aussieht, hängt
von den konkreten Anforderungen Ihres Unternehmens ab. Wahrscheinlich gibt es mehrere Varianten
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit, Mobilität und Ausfallsicherheit 271
für unterschiedliche Datenklassen – möglicherweise sichern Sie bestimmte Datenklassen alle drei Tage,
andere nur alle zwei Wochen.
Windows unterstützt zahlreiche Geschäftsszenarien mit servergespeicherten Profilen, Offlinedateien und
umgeleiteten Ordnern. Gibt es für Ihre Situation eine proprietäre Technologie oder Funktion, sollten Sie
sie nutzen. Wahrscheinlich treffen Sie aber auch auf Ausnahmesituationen, zu deren Bewältigung diese
Lösung beitragen soll.
Festlegen der Ziele einer Synchronisationslösung
Diese Lösung ist dazu gedacht, die Anforderungen an Verfügbarkeit, Mobilität und Ausfallsicherheit
von Daten zu erfüllen (d.h. dafür zu sorgen, dass die Daten auf einem Server gesichert werden), auf die
der Zugriff lokal stattfinden muss und bei denen die automatische Synchronisierung durch servergespeicherte Profile (Synchronisierung bei der An- und Abmeldung) und Offlinedateien (einzurichten
unter Windows XP, im Hintergrund unter Windows Vista) keine vertretbaren Ergebnisse liefert. In diese
Kategorien fallen die beiden folgenden Szenarien:
„ Dateien, die beim Zugriff über das Netzwerk keine akzeptable Leistung aufweisen
„ Dokumente für Anwendungen, die sich nicht akzeptabel in den Offlinemodus versetzen lassen,
wenn ein Server offline geht
Wenn die Dateien klein sind, können sie in beiden Fällen Bestandteil eines servergespeicherten Benutzerprofils oder unter Windows Vista Unterordner eines Benutzerdatenspeichers wie Dokumente werden, für
den die Synchronisierung bei der An- und Abmeldung eingerichtet ist. Die eigentliche Herausforderung
besteht also im Umgang mit großen Dateien, die bei der Synchronisierung untragbar große Verzögerungen verursachen. Das wichtigste Ziel dieser Lösung lautet daher, einem Administrator oder Benutzer
die flexible Handhabung des Zeitpunkts von Sicherungen oder Synchronisierungen zu ermöglichen.
Idealerweise sollte unsere Lösung mehrere Zeitoptionen bieten:
„ Sicherung nach Zeitplan
„ Sicherung beim Start, bei der Anmeldung, beim Sperren einer Arbeitsstation oder aufgrund eines
anderen Ereignisses
„ Sicherung zu Leerlaufzeiten
„ Manuelles Sichern
Außerdem schlage ich folgende Anforderungen vor:
„ Für alle Sicherungsoperationen werden dieselben Werkzeuge eingesetzt.
„ Die Sicherung kann für eine angegebene Gruppe von Ordnern innerhalb des Benutzerprofils oder
einen beliebigen Unterordner dieser Ordner durchgeführt werden.
„ Die Ergebnisse werden protokolliert, sodass wir den Erfolg oder (wichtiger) Fehlschlag einer Sicherung überwachen können.
„ Namespace und Dateien sollten auf dem Server und auf dem lokalen Client identisch sein, damit ein
Zugriff auf einzelne Dateien möglich ist.
„ Sicherungsoperationen sollten Synchronisierungstechniken nutzen, die das Sichern unveränderter
Dateien vermeiden.
Wenn Ihr Sicherungsmodell komplex ist, möchten Sie sicher Dienstprogramme für die Synchronisierung von Dateien und Ordnern kennen lernen. Mein persönlicher Favorit ist BeyondCompare (von
272 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
www.scootersoftware.com). SyncToy 1.4 von Microsoft, das auf der Microsoft-Website zum kostenlosen Herunterladen bereitsteht, läuft unter Windows XP und Windows Vista, ist einigermaßen gut
ausgestattet und lässt sich anpassen und automatisieren.
Unser Sicherungsmodell ist jedoch ganz einfach: Spiegeln Sie den lokalen Datenspeicher auf den Server.
Der Server fungiert als Sicherung, um unsere Anforderungen an Ausfallsicherheit und Verfügbarkeit zu
erfüllen. Wir erwarten nicht, dass wir Konflikte beheben müssen, die durch einander ausschließende
Änderungen im lokalen und im Serverspeicher entstehen – nur eine einfache Sicherung. Deshalb können
wir zum Erreichen unserer Ziele einfache Werkzeuge einsetzen. Mit ein klein wenig Anpassung lassen
sich diese so erweitern, dass sie die Besonderheiten Ihrer Situation berücksichtigen.
Verwenden von Robocopy als Sicherungsmodul
Zu den Windows Server 2003 Resource Kit Tools (http://www.microsoft.com/downloads/info.aspx?
na=22&p=1&SrcDisplayLang=en&SrcCategoryId=&SrcFamilyId=&u=%2fdownloads%2fdetails.aspx%3fFamilyID%3d9d467a69-57ff-4ae7-96eeb18c4790cffd%26DisplayLang%3den) gehört
robocopy.exe, das sich auf Windows XP-Rechner kopieren lässt. Bei Windows Vista und Windows Server 2008 ist es Bestandteil des proprietären Befehlssatzes.
Robocopy verhält sich zu XCopy wie XCopy zu Copy – es ist der nächste logische Schritt. Es handelt
sich um ein umfassendes, reich mit Funktionen ausgestattetes Synchronisierungswerkzeug, das in manchen Umgebungen als Ersatz für die FRS-Replikation (File Replication Services) von DFS-Ordnern
und die Synchronisierung von Offlinedateien oder ähnliche Angebote von Drittherstellern eingesetzt
wird. Robocopy ist den eher standardmäßigen Kopierwerkzeugen überlegen, weil es tatsächlich synchronisiert. Sie können es anweisen, Dateien zu überspringen, die nicht geändert wurden, was bei Ordnern, in denen nur wenige Daten modifiziert wurden, zu einer erheblich schnelleren Sicherung führt.
Wie bei allen Befehlen ist die beste Methode, etwas über Robocopy zu erfahren, die Befehlszeileneingabe robocopy.exe /?. Mit folgender Syntax werden zwei Ordner synchronisiert:
robocopy.exe <Quelle> <Ziel> /MIR [Optionen ...]
Ohne Optionen synchronisiert der Befehl das Ziel- mit dem Quellverzeichnis, sodass anschließend beide
identisch sind – Dateien, die sich unterscheiden, werden durch die Quelldatei ersetzt, alle Dateien, die in
der Quelle vorhanden sind, aber nicht im Ziel, werden in das Ziel kopiert, und alle Dateien im Ziel, die
keine Entsprechung in der Quelle haben, werden gelöscht. Bei Verbindungsproblemen unternimmt
Robocopy alle 30 Sekunden einen neuen Versuch, und zwar eine Million Male. Mit Optionen können
Sie diese Verhaltensweisen und weitere ändern. Die folgenden drei finde ich besonders hilfreich:
/COPYALL oder /COPY:DATSO Die Option /COPYALL lässt Robocopy die Datei mit sämtlichen
Attributen kopieren, einschließlich der Berechtigungen (DACL), der Überwachung (SACL) und
der Besitzdaten. Versucht ein Standardbenutzer, diese Option zu verwenden, schlägt Robocopy
fehl, weil dieser nicht das Recht hat, Überwachungseinstellungen zu kopieren. Die höchste Kopieroption für Standardbenutzer lautet /COPY:DATSO. Sie kopiert alle Attribute außer der Überwachung: Daten, Attribute, Zeitstempel, Sicherheit (Zugriffssteuerungslisten) und Besitz.
/R:<x> Die Option /R legt die Anzahl neuer Versuche fest. Ich bezweifle, dass Sie Robocopy wirklich
eine Million Male ausführen lassen wollen, wenn der Zugriff auf einen Speicherort nicht möglich ist.
/W:<t> Mit /W legen Sie die Wartezeit zwischen den einzelnen Versuchen in Sekunden fest.
Wenn Robocopy ausgeführt wird, erstellt es ein umfangreiches Protokoll seiner Aktionen – ideal für die
Anforderung, die Synchronisierung zu protokollieren und zu überwachen.
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit, Mobilität und Ausfallsicherheit 273
Verwenden von Folder_Synch.vbs als Wrapper für Robocopy
Ich kenne zahlreiche Skripts, die versuchen, zwei Ordner zu synchronisieren, aber gefühlsmäßig verwende ich ein Werkzeug von Microsoft, wenn es eines gibt – insbesondere eins, das jetzt unterstützt
wird! Deshalb habe ich ein Skript auf der Grundlage von Robocopy erstellt, das uns hilft, die Anforderungen unserer Synchronisationslösung zu erfüllen. Es heißt Folder_Synch.vbs und ist im Ordner
Scripts des Begleitmediums zu finden. Ein einfacher Einsatz sieht folgendermaßen aus:
cscript //nologo Folder_Synch.vbs /source:"Quellordner"
/target:"Zielordner"
Wird das Skript von der Befehlszeile aus aufgerufen, spiegelt es die Quelle auf das Ziel, sodass das Ziel
anschließend mit der Quelle identisch ist. Die folgenden Zeilen des Skripts sind die wichtigsten:
' KONFIGURATIONSBLOCK
sRobocopyOptions = "/COPY:DATSO /R:1 /W:30"
iRobocopyTimeout = 10
' ENDE KONFIGURATIONSBLOCK
sSource = <Code zur Ermittlung des Quellordners>
sTarget = <Code zur Ermittlung des Zielordners >
sCommand = "robocopy.exe """ & sSource & """ """ & sTarget & """ /MIR " & sRobocopyOptions
aResults = Execute_Capture(sCommand, iRobocopyTimeout * 60, True)
Im Konfigurationsblock legen Sie die Optionen für den Befehl Robocopy fest. Wie im vorigen
Abschnitt erwähnt, verwende ich vorzugsweise /COPY:DATSO, /R und /W, die Robocopy anweisen,
alle Dateiattribute bis auf die Überwachung zu kopieren, weil Standardbenutzer dafür keine ausreichenden Privilegien haben, und um bei Fehlern eine bestimmte Anzahl erneuter Versuche für die Kopieraktion mit einer bestimmten Wartezeit durchzuführen. Außerdem können Sie angeben, wie viele Minuten Robocopy laufen soll, bevor es abgebrochen wird, wobei Sie darauf achten müssen, dass die Zeit
für die größten zu synchronisierenden Ordner ausreicht.
Der Quell- und der Zielordner werden ermittelt, und dann wird eine Befehlszeile für Robocopy
erstellt. Der Befehl wird durch eine benutzerdefinierte Funktion gestartet, die ich geschrieben habe,
Execute_Capture. Sie startet den Befehl, lässt ihn eine Weile laufen, bevor sie ihn beendet, und gibt
dann das Ergebnis zurück.
Vergleichen Sie die wenigen Zeilen des vorstehenden Codes mit der Größe des Skripts Folder_Synch.vbs,
so stellen Sie einen gewaltigen Unterschied fest. Der übrige Code enthält Unterstützung für eine Vielzahl
von Szenarien, die den Quell- und den Zielordner jeweils anders übergeben, sowie die Protokollierung
und die Fehlermeldungen. Einzelheiten dazu werden weiter hinten in dieser Lösung erörtert.
Mit wenigen Codezeilen haben wir also die Grundlage für einen hilfreichen Mechanismus geschaffen,
mit dem wir Ordner außerhalb von servergespeicherten Profilen und umgeleiteten Ordnern synchronisieren können. In den folgenden Abschnitten sehen wir uns die Anpassung und Benutzung des Werkzeugs für verschiedene Synchronisierungsszenarien an.
Bereitstellen von Folder_Synch.vbs und Robocopy
Bevor Sie lokale Datenspeicher mit Folder_Synch.vbs auf Netzwerkservern sichern, müssen Sie das
Skript sowie robocopy.exe bereitstellen. Da das Skript in zahlreichen Situationen ausgeführt wird, ist es
empfehlenswert, es auf jedem Client in einem bekannten Pfad abzulegen – beispielsweise in Windows\
274 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
System32 in einem Unterordner von Programme oder AppData. Ich empfehle einen Unterordner von
Programme oder AppData (unter Windows XP Anwendungsdaten), weil es wahrscheinlich noch mehr
individualisierte Werkzeuge gibt, die Sie für alle Clients erstellen und verwalten wollen. Programme
hat den Vorteil, dass es sich um einen bekannten Pfad handelt, der sich anhand einer Umgebungsvariablen finden lässt (%PROGRAMFILES%). Das gilt auch für AppData (%APPDATA%), aber dieser
Ordner kann außerdem umgeleitet oder im Benutzerprofil auf dem Server gespeichert werden. Stellen
Sie sich die damit verbundenen Vorteile vor: Wenn Sie eine neue Version eines Skripts bereitstellen
müssen, brauchen Sie es nur in den Benutzerordnern für Anwendungsdaten in ihren servergespeicherten Profilen abzulegen – den einzelnen Client brauchen Sie nicht mehr anzufassen! Solange das Werkzeug oder Skript nicht so groß ist, dass es bei der Synchronisierung gewaltige Verzögerungen auslöst,
und solange es nicht installiert werden muss (wie bei MSI- oder setup.exe-Dateien) ist die Verteilung
von Skripts an Benutzer über AppData eine wirkungsvolle und effiziente Methode.
Sie müssen nicht nur das Skript verfügbar machen, sondern auf Windows XP- und Windows Server
2003-Systemen auch Robocopy bereitstellen, das Sie in den Windows Server 2003 Resource Kit Tools
finden. Kopieren Sie es dort in den Systempfad (System32). Nehmen Sie aber nicht die Version von
robocopy.exe, die Sie auf Computern mit Windows XP oder Windows Vista finden – sie ist nicht mit
älteren Windows-Versionen kompatibel.
Wie und wann soll Folder_Synch.vbs für die einzelnen
lokalen Speicher ausgeführt werden?
Wenn den Clients das Skript und robocopy.exe zur Verfügung stehen, können Sie überlegen, wie und
wann Sie Ordner von der lokalen Festplatte mit Folder_Synch.vbs auf einer Netzwerkfreigabe sichern
wollen. Wie oft Sie synchronisieren und welche Ordner Sie einbeziehen, hängt ganz von Ihren Unternehmensanforderungen ab. Es gibt keine bewährte Vorgehensweise außer der, dass eine Sicherung
weniger häufig stattfinden sollte als täglich. Haben Sie vor, einen Ordner täglich zu sichern, sollten Sie
lieber überlegen, ihn auf dem Server zu speichern oder, falls Sie mit Windows Vista arbeiten, einen
Offlineordner einzurichten, der nur bei der An- und Abmeldung synchronisiert wird.
Das Skript lässt sich manuell oder automatisch starten. In den folgenden Abschnitten schauen wir uns
verschiedene Möglichkeiten an.
Manuelles Starten von Folder_Synch.vbs
Zuerst nehmen wir uns das manuelle Starten des Skripts vor. Sie können es in einem beliebigen Ordner
ablegen und sogar leichter erkennbar umbenennen, beispielsweise Diesen_Ordner_sichern.vbs. Beachten Sie, dass ich von »synchronisieren« zu »sichern« übergegangen bin. Vom technischen Standpunkt
aus verwendet das Skript zwar den Synchronisierungsalgorithmus von Robocopy, synchronisiert also.
Ich stelle es den Benutzern jedoch lieber als »Sicherungswerkzeug« vor, um es von der Synchronisationsverwaltung (Windows XP) bzw. dem Synchronisationscenter (Windows Vista) abzusetzen. Insbesondere wenn die Benutzer dazu übergehen, einen Doppelklick darauf auszuführen, wie wir in diesem
Abschnitt zeigen, halte ich es für hilfreich, in einer Art über das Werkzeug zu sprechen, die hervorhebt,
dass Daten von der lokalen Festplatte auf dem Server gesichert werden.
Wenn das Skript mit einem Doppelklick gestartet wird, synchronisiert es den Ordner, in dem es sich
befindet. Es bezieht immer die gesamte Ordnerstruktur ein, weil im Robocopy-Befehl innerhalb des
Skripts die Option /MIR verwendet wird. Dieses Verhalten wird durch folgende Codezeilen ausgelöst:
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit, Mobilität und Ausfallsicherheit 275
bInteractive = (WScript.FullName <> WScript.Path & "\cscript.exe")
' QUELLE UND ZIEL AUSWERTEN
If Not bInteractive Then
…
Else
' Nicht interaktiv - von WScript aufgerufen
If WScript.Arguments.Count = 0 Then
' Ein Doppelklick auf das Skript hat stattgefunden
' oder es wurde anderweitig ohne Argumente aufgerufen.
' Damit wird ein Szenario unterstützt, in dem der Benutzer das Skript
' "Dies sichern" startet. Wir gehen also davon aus, dass wir den Ordner
' sichern sollen, der dem Skript übergeordnet ist.
sSource = FSO.GetParentFolderName(Wscript.ScriptFullName)
Zuerst untersucht das Skript, mit welchem Befehl es gestartet wurde. Beginnt er nicht mit cscript.exe,
setzt es die globale Variable bInteractive auf True, was das Skript als interaktiv gestartet kennzeichnet
(beispielsweise durch Doppelklick). Dann wird die Variable sSource auf den dem Skript übergeordneten
Ordner gesetzt. Robocopy nutzt sie zur Angabe des Quellordners, der mit einem Zielordner synchronisiert werden soll.
Wo steckt aber das Ziel? Wird das Skript mit cscript aufgerufen, wie weiter hinten erläutert wird, werden
die Optionen /<Quelle> und /<Ziel> angegeben, sodass buchstäblich alles möglich ist. Wird es jedoch
interaktiv gestartet, z.B. mit Doppelklick, verhält es sich anders. Das Skript wurde unter der Voraussetzung erstellt, dass es nur innerhalb eines UDS-Frameworks interaktiv benutzt wird – d.h., nur Unterordner des Benutzerprofilstamms dürfen synchronisiert werden. Außerdem wird angenommen, dass für den
Benutzer nur ein Ordner auf dem Netzwerkserver vorhanden ist, in dem alle synchronisierten Ordner
angelegt werden. Dieser wird als Synchronisationsstamm bezeichnet und im Skript durch die Variable
sUserSyncRoot dargestellt. Anders ausgedrückt: Jeder Benutzer hat einen Stammordner für die Sicherung seiner lokalen Dateien. Sein Synchronisationsstamm auf dem Server entspricht dem Stammordner
seines lokalen Profils, und der Namespace unterhalb von sUserSyncRoot ist mit dem unterhalb seines
lokalen Profilstamms identisch.
An einem Beispiel wird das Ganze leichter verständlich. Nehmen wir an, wir haben im Stamm der umgeleiteten Ordner jedes Benutzers einen Ordner Sicherungen erstellt – beispielsweise \\contoso.com\Benutzer\%username%\Sicherungen. Ein Beispiel sehen Sie in Abbildung 3.29. Wenn Sie nun einen Ordner
mit dem Pfad %userprofile%\Lokale Dateien haben und diesen synchronisieren, geschieht dies in einem
Ordner Lokale Dateien unterhalb seines Synchronisationsstamms (sUserSyncRoot), also in \\<Pfad zum
Synchronisationsstamm des Benutzers>\Lokale Dateien. In unserem Beispiel wäre das \\contoso.com\Benutzer\%username%\Sicherungen\Lokale Dateien (siehe Abbildung 3.29).
Abbildung 3.29 Der Synchronisationsstamm eines Benutzers
276 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Nicht jeder Ordner wird mithilfe des Skripts synchronisiert, aber Ordner, bei denen es auf diese Weise
geschieht, erscheinen unterhalb des Synchronisationsstamms in derselben Hierarchie wie unterhalb des
Benutzerprofils.
Der Zielordner wird im Skript durch die Variable sTarget dargestellt. Wenn das Skript interaktiv gestartet
wird, ermittelt es das Ziel mit folgendem Code:
Set WSHShell = CreateObject("WScript.Shell")
sUserProfile = WSHShell.ExpandEnvironmentStrings("%userprofile%")
sUser = WSHShell.ExpandEnvironmentStrings("%username%")
sUserSyncRoot = "\\contoso.com\users\" & sUser & "\backups"
sUserLocalRoot = sUserProfile
sTarget = sUserSyncRoot & Mid(sSource, Len(sUserLocalRoot)+1)
If Not FolderPath_Create(sTarget) Then ...
Die beiden ersten Zeilen bezeichnen den Pfad zum lokalen Profil des Benutzers (in diesem Fall
C:\Users\<Benutzername>), die dritte den Benutzernamen, der anschließend verwendet wird, um den
in der Variable sUserSyncRoot abgelegten Pfad zum Synchronisationsstamm zu ermitteln. Diese Variable ist auf den Profilpfad des Benutzers gesetzt.
Das Wunder geschieht in den beiden letzten Zeilen, die dafür sorgen, dass im Synchronisationsstammordner des Benutzers derselbe Namespace erscheint wie im Benutzerprofil. Der in der Variable sSource
abgelegte Pfad zum Quellordner verliert den Teil, der den Pfad zum Benutzerprofil bildet, sodass lediglich der relative Pfad zum Quellordner unterhalb des Benutzerprofils übrig bleibt und dann an den Pfad
des Synchronisationsstamms des Benutzers angehängt wird. Die letzte Zeile des vorstehenden Codeabschnitts ruft die Funktion FolderPath_Create auf, die prüft, ob der Zielpfad existiert, und andernfalls
die Ordnerstruktur anlegt. Dies ist bei der ersten Ausführung des Skripts von Bedeutung, damit der Zielordner tatsächlich besteht, bevor Robocopy ihn benutzt.
Rechtsklicken und Sichern eines Ordners mit einem Shellbefehl
Außerdem lässt sich das Skript Folder_Synch.vbs als Shellbefehl benutzen. Sie können Benutzern
erlauben, mit der rechten Maustaste auf einen Ordner zu klicken und einen Befehl auszuwählen, beispielsweise Sichern, um das Skript zu starten und den ausgewählten Ordner mit dem Synchronisationsstamm zu synchronisieren. Natürlich sollen die Benutzer nicht jeden Ordner synchronisieren können,
sondern nur Speicher lokaler Dateien innerhalb des Benutzerprofils, weshalb das Skript eine Logik
enthält, die feststellt, welche Ordner gesichert werden dürfen.
Diese Methode ist zwar in ihrer Integration in die Benutzeroberfläche gekonnt, hat aber den Nachteil,
dass der Shellbefehl Sichern für jeden Ordner angezeigt wird. Wird er ausgeführt, informiert er den
Benutzer, wenn für den ausgewählten Ordner keine Sicherung angelegt werden darf, aber es gibt keine
Möglichkeit, die Anzeige des Befehls ohne erhebliche Entwicklungsarbeit einzuschränken.
Um einen Shellbefehl hinzuzufügen, müssen Sie den Schlüssel Folder von HKEY_Classes_Root
ändern, was Anmeldeinformationen als Administrator voraussetzt. Suchen Sie im Registrierungseditor
HKEY_Classes_Root\Folder\shell und legen Sie einen neuen Schlüssel mit dem Namen Sichern an
(oder einem beliebigen anderen für den Befehl). Erstellen Sie einen neuen Stringwert, der wscript.exe
mit dem vollen Pfad zum Skript gefolgt von %1 aufruft (beides in Anführungszeichen, weil die Pfade
möglicherweise Leerzeichen enthalten).
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit, Mobilität und Ausfallsicherheit 277
Alternativ können Sie im Editor eine Zusammenführungsdatei für die Registrierung mit folgendem
Text schreiben:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Folder\shell\Back Up\command]
@="wscript.exe \"%APPDATA%\\Contoso\\Utilities\\folder_synch.vbs\" \"%1\""
Ersetzen Sie den Befehl (Sichern) im Registrierungspfad durch den von Ihnen gewünschten Befehlsnamen und ersetzen Sie den Pfad in der letzten Zeile (“%APPDATA%\Contoso\Utilities\folder_synch.vbs”) durch den Pfad, für den Sie das Skript bereitgestellt haben. Speichern Sie die
Datei mit der Erweiterung REG und übernehmen Sie sie durch einen Doppelklick oder durch Ausführen von regedit.exe /s <Dateiname> in die Registrierung.
Wenn Ihnen Zusammenführungsdateien für die Registrierung nicht geläufig sind, wundern Sie sich
vielleicht über die Menge der umgekehrten Schrägstriche im vorstehenden Beispiel. Anführungsstriche
werden technisch nur am Anfang und Ende des Stringwerts verwendet. Muss der Wert selbst Anführungsstriche enthalten, werden diese internen Zeichen durch ein Maskierungszeichen gekennzeichnet,
das hier zufällig der umgekehrte Schrägstrich ist. Daher ergibt \"%1\" beim Zusammenführen mit der
Registrierung "%1". Wollen Sie einen umgekehrten Schrägstrich im String haben, müssen Sie ihn selbst
mit umgekehrten Schrägstrichen maskieren, was zwei umgekehrte Schrägstriche ergibt. Deshalb wird
aus %APPDATA%\\contoso\\utilities in der Registrierung %APPDATA%\contoso\utilities.
Der Shellbefehl erscheint in jedem Objekt der Klasse Ordner. Wird er ausgewählt, startet er das Skript
und übergibt ihm den Pfad zum gewählten Ordner als Parameter %1.
Nachdem Sie den Shellbefehl hinzugefügt haben, der das Skript startet, müssen Sie auch dafür sorgen,
dass das Skript festlegt, welche Ordner auf diese Art gesichert werden dürfen. Mit den folgenden Codezeilen wird überprüft, ob der übergebene Ordner gültig ist:
sUserLocalRoot = sUserProfile
aSyncFolders = Array("Local Files","Videos")
bSyncSubFolders = True
sSource = WScript.Arguments(0)
bAllowed = False
For Each sSyncFolder In aSyncFolders
' Prüft für jeden in aSyncFolders angegebenen Ordner
' unter dem Stammverzeichnis in sUserLocalRoot,
' ob es eine Übereinstimmung mit sSource gibt
sAllowedFolder = sUserLocalRoot & "\" & sSyncFolder
If StrComp(Left(sSource, Len(sAllowedFolder)), sAllowedFolder, _
vbTextCompare) = 0 Then
If ((bSyncSubFolders) Or _
(Len(sSource) = Len(sAllowedFolder))) Then
bAllowed = True
Exit For
End If
End If
Next
If Not bAllowed Then <dem Benutzer mitteilen, dass der Ordner nicht gesichert werden kann>
278 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
In der Logik der For ... Next-Schleife ist festgelegt, dass das Skript eine Sicherung nur für Unterordner
des Benutzerprofils zulässt, das in der Variable sUserLocalRoot steht. Die Unterordner, die gesichert
werden dürfen, sind in dem Array aSyncFolders zu finden. Sie sind aus dem servergespeicherten Profil
ausgenommen und dürfen nicht umgeleitet werden, sondern werden durch diese Art der Synchronisierung innerhalb des UDS-Frameworks verwaltet. Um das Verhalten des Skripts in diesem (Shellbefehl-)
Szenario anzupassen, brauchen Sie nur noch das Array aSyncFolders so zu ändern, dass es die von Ihnen
gewünschten Ordner enthält.
Hat die Variable bSyncSubFolders den Wert True, kann der Benutzer den Shellbefehl zum Sichern für die
gesamte Ordnerstruktur einsetzen, die mit dem Ordner in aSyncFolders beginnt, sowie für jeden einzelnen Unterordner. Er hat beispielsweise die Möglichkeit, nur den Unterordner %userprofile%\Local
Files\Projects\Team A zu sichern, ohne den gesamten Ordner Projects oder Local Files mitzunehmen.
Setzen Sie bSyncSubFolders auf False, kann der Benutzer die Sicherung nur von den in aSyncFolders
stehenden Ordnern aus starten, nicht jedoch von einem Unterordner aus. In beiden Fällen wird jedoch
nach dem Beginn der Sicherung im Synchronisierungsstammverzeichnis des Benutzers derselbe Namespace angelegt und alle Unterordner des Quellordners synchronisiert.
Die manuellen Optionen für Folder_Synch.vbs im Vergleich
Wir haben nun zwei Optionen kennen gelernt, um Benutzern das manuelle Auslösen der Synchronisierung von Daten in ihren lokalen Dateispeichern mit denen auf dem Server zu ermöglichen. Die erste
umfasst das Ablegen des Skripts in einem Ordner, der anschließend durch Starten des Skripts synchronisiert wird, während bei der zweiten in das Kontextmenü aller Ordner ein Shellbefehl aufgenommen
wird, der das Skript startet und den Ordner synchronisiert, aber nur, wenn dies zulässig ist.
Haben Sie ein einfaches Synchronisierungsmodell, empfehle ich Ihnen die erste Option. Sind beispielsweise alle lokalen Dateien in einem einzigen Stammverzeichnis untergebracht – z.B. %userprofile%\Lokale Dateien –, sollten Sie das Skript dort ablegen und es etwa in Diesen Ordner sichern
umbenennen. Sie brauchen keinen Shellbefehl für jeden Ordner, wenn die Sicherung nur für einen
Ordner zugelassen werden soll. Haben Sie jedoch vor, diesen Ansatz für mehrere Ordner in verschiedenen Bereichen des Benutzerprofils einzusetzen, sind Sie möglicherweise mit dem Shellbefehl
besser bedient.
Noch zwei weitere Optionen sollen hier behandelt werden. Erstens können Sie das Skript so ändern,
dass es nach dem Start automatisch sämtliche Ordner sichert, für die eine Sicherung erforderlich ist,
selbst wenn sie sich in unterschiedlichen Teilen des Benutzerprofils befinden, beispielsweise %userprofile%\Local Files und %userprofile%\Videos. In diesem Fall startet der Benutzer das Skript einmal,
um eine vollständige Sicherung sämtlicher Dateien durchzuführen, die nicht durch servergespeicherte
Profile oder umgeleitete Ordner auf dem UDS-Server gesichert werden. Ich empfehle Ihnen, eine Verknüpfung zu dem Skript an einer gut sichtbaren Stelle anzulegen, etwa auf dem Desktop oder im Startmenü.
Die andere Option ist der Verzicht auf eine manuelle Startmöglichkeit und ein Zeitplan für die Ausführung des Skripts, der dafür sorgt, dass die Benutzerdaten gesichert werden. Sie können das Skript natürlich auch zeitplangesteuert ausführen und zusätzlich das manuelle Auslösen der Synchronisierung
ermöglichen. In den nächsten Abschnitten sehen wir uns Methoden an, das Skript automatisch zu starten.
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit, Mobilität und Ausfallsicherheit 279
Automatisches Ausführen von Folder_Synch.vbs
Beim Entwerfen einer Methode, Folder_Synch.vbs automatisch zu starten, müssen mehrere Probleme
gelöst werden. Das wichtigste ist, dass es einige Zeit dauern kann, die lokalen Dateien mit dem Server
zu synchronisieren. Robocopy kopiert nur geänderte Dateien, aber wenn diese groß sind, kann das recht
lange dauern. Auch wenn der zu synchronisierende Ordner eine große Anzahl Dateien enthält, ist viel
Zeit erforderlich, um festzustellen, was sich geändert hat. Hoffentlich trifft Letzteres nicht auf Ihre Situation zu, weil es nicht notwendig sein sollte, so viele Dateien außerhalb servergespeicherter Profile oder
umgeleiteter Ordner zu verwalten. Sie sollten aber wissen, dass sowohl die Anzahl als auch die Größe
der lokalen Dateien dazu führen können, dass die Synchronisierung lange braucht.
Während der Synchronisierung dürfen die Dateien nicht gesperrt sein, damit sie erfolgreich kopiert
werden können. Idealerweise sollte in dieser Zeit nicht mit den Dateien gearbeitet werden. Wird das
Skript interaktiv gestartet, informiert es die Benutzer darüber. Haben Sie jedoch vor, das Skript automatisch auszuführen, insbesondere, während Benutzer angemeldet sind, müssen Sie darauf achten, ob
gesperrte Dateien die Synchronisierung verhindern, und ggf. überlegen, wie Sie sicherstellen, dass die
Dateien erst gesperrt werden, wenn die Synchronisierung abgeschlossen ist.
Außerdem sollten Sie sicher sein, dass die Synchronisierung vollständig durchgeführt wird. Läuft sie
beim Abmelden oder Herunterfahren, könnte der Benutzer den Computer vom Netzwerk trennen oder
ausschalten.
Abschließend müssen Sie sicherstellen, dass die Synchronisierung tatsächlich stattfindet, denn sonst
werden auf dem Server keine Sicherungen für lokale Dateien angelegt, die vom UDS-Framework verwaltet werden. Wie oft und für welche Dateien dies geschehen muss, machen Sie wiederum am besten
von Ihren Unternehmensanforderungen abhängig.
Im Bewusstsein dieser Probleme können Sie entscheiden, wie das Skript ausgeführt werden soll. Die
Syntax lautet wie folgt:
cscript //nologo "Pfad\Folder_Synch.vbs" /source:"Quellordner"
/target:"Zielordner" /interval:Tage
Beachten Sie das zusätzliche Argument interval, das angibt, wie viele Tage seit der letzten erfolgreichen Sicherung verstrichen sein sollen. Die Synchronisation wird erst gestartet, wenn dieser Zeitraum
vorbei ist. Das Intervall 0 oder das Fehlen des Arguments führt dazu, dass die Synchronisierung ohne
Rücksicht auf die letzte erfolgreiche Durchführung gestartet wird.
Ausführen von Folder_Synch.vbs nach einem Zeitplan
Zum Ausführen des Skripts können Sie eine zeitgeplante Aufgabe einrichten. Die zahlreichen Einstellungen und praktischen Beispiele dafür gehen über den Rahmen dieser Erörterung hinaus und werden in
anderen Lösungen dieser Referenz ausführlich behandelt, sodass ich die Beschreibung für diesen
Zweck von einer höheren Warte fortführe.
Zeitgeplante Aufgaben lassen sich unter Windows XP, Windows Server 2003, Windows Vista und
Windows Server 2008 einrichten. Die beiden letztgenannten unterstützen wesentlich mehr Varianten
und Optionen, sodass Sie überlegen müssen, welche Betriebssysteme im Einsatz sind, um zu ermitteln, wie Sie richtig vorgehen. Aufgaben werden durch einen Trigger gestartet, wozu ein Zeitplan, der
Systemstart, die Anmeldung oder eine Leerlaufphase dienen können. Unter Windows Vista und
280 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Windows Server 2008 gibt es zahlreiche weitere Trigger, darunter die Verbindung mit einer Sitzung,
das Sperren und Entsperren einer Arbeitsstation oder ein Ereignis im Ereignisprotokoll.
Die folgenden Tipps sollen Ihnen helfen, die Zeitplanung auf Ihren Bedarf abzustimmen:
„ Aufgaben lassen sich an der Befehlszeile mit dem Befehl schtasks.exe planen.
„ Eine Aufgabe kann ein Skript starten, das eine Aktion ausführt, die Aufgabe löscht und eine weitere
Aufgabe erstellt. Mit diesem Trick können Sie ein Skript schreiben, das lokale Dateien sichert und
dann für sich festlegt, zu welchem Zeitpunkt es wieder ausgeführt wird. Damit ist eine flexiblere
Zeitplanung möglich als über einen Kalender (täglich, wöchentlich oder monatlich).
„ Unter Windows Vista gibt es eine Option, die das Nachholen von Aufgaben ermöglicht, die ausgefallen sind, weil der Computer keine .Netzwerkverbindung hatte
In Microsoft TechNet finden Sie eine hervorragende Abhandlung über Zeitplanung für Aufgaben und
die Änderungen in Windows Vista und Windows Server 2008 unter http://technet.microsoft.com/en-us/
windowsvista/aa906020.aspx.
Denken Sie auch daran, dass das Ausführen einer Aufgabe nicht zu bedeuten hat, dass etwas geschehen
muss. Sie können beispielsweise eine Aufgabe einrichten, die bei jeder Anmeldung eine Synchronisierung startet. Das Skript können Sie so gestalten, dass es erkennt, wann die letzte erfolgreiche Synchronisierung stattgefunden hat, und dass es die Synchronisierung nur startet, wenn das festgelegte Sicherungsintervall abgelaufen ist. Optionen für die eigenständige Handhabung der Ausführung durch das Skript
finden Sie im nächsten Abschnitt.
Ausführen von Folder_Synch.vbs als Anmelde-, Abmelde-, Startskript
oder Skript zum Herunterfahren
Die Ausführung des Skripts lässt sich auch dadurch handhaben, dass es innerhalb eines Gruppenrichtlinienobjekts als Start-, An- oder Abmeldeskript oder Skript zum Herunterfahren eingerichtet wird. In
diesem Fall müssen Sie sicherstellen, dass die Synchronisierung nicht bei jeder An- und Abmeldung,
bei jedem Start oder bei jedem Herunterfahren durchgeführt wird, sondern dass das Skript erkennen
kann, wann die letzte Synchronisierung stattgefunden hat, und eine neue Sicherung nur auslöst, wenn
das festgelegte Sicherungsintervall abgelaufen ist.
sSuccessFlagFile = "_Contoso Synchronization Success.txt"
sFailureFlagFile = "_Contoso Synchronization Failure.txt"
' Selbstverwaltung
' Ermitteln des festgelegten Sicherungsintervalls für das Skript (in Tagen)
If WScript.Arguments.Named("interval") = "" Then
iBackupInterval = 0
Else
iBackupInterval = CInt(WScript.Arguments.Named("interval"))
End If
' Prüfen der Flagdatei auf die letzte erfolgreiche Synchronisierung
sSuccessFlag = sSource & "\" & sSuccessFlagFile
sFailureFlag = sSource & "\" & sFailureFlagFile
If ((iBackupInterval > 0) And (FSO.FileExists(sSuccessFlag))) Then
Set oFile = FSO.GetFile(sSuccessFlag)
' Ermitteln des Datums im Erfolgsflag
' Nach meiner Erfahrung ist LastModified zuverlässiger als Created.
3.10 Sichern von lokalen Datenspeichern zur Erhöhung von Verfügbarkeit, Mobilität und Ausfallsicherheit 281
dLastSuccess = oFile.DateLastModified
iInterval = Int(Now()- dLastSuccess)
If iInterval < iBackupInterval Then
' Es sollte sich hier um eine zeitgeplante Sicherung handeln.
' Abbrechen, da das Intervall noch nicht abgelaufen ist
sMessage = "The last successful backup occurred on" & VbCrLf & _
Cstr(dLastSuccess) & "." & VbCrLf & _
"The next backup should be made on or after" & VbCrLf & _
CStr(dLastSuccess + iBackupInterval) & "."
Call Notify (sMessage, "SYNCHRONIZATION NOT NEEDED", 30, 64)
If UCase(WScript.Arguments.Named("schedule"))<>"IGNORE" Then
WScript.Quit(0)
End If
End If
End If
Der vorstehende Code speichert das dem Skript übergebene Argument /interval in der Variable iBackupInterval. Anschließend ermittelt es anhand des Zeitstempels der Flagdatei für Erfolg oder Misserfolg
(deren Namen im Konfigurationsblock angepasst werden können), ob eine Synchronisierung erforderlich ist. Ein Sicherungsintervall von 0, das Fehlen des Arguments /interval oder das Fehlen einer Flagdatei führt dazu, dass die Synchronisierung fortgesetzt wird.
Die Flagdateien werden beim Abschluss der Synchronisierung angelegt und sind standardmäßig verborgen. Im Konfigurationsblock können Sie auch festlegen, dass sie streng (mit den Attributen system
und hidden) oder gar nicht verborgen sein sollen.
Protokollieren und Überwachen der Synchronisation
Im Verhältnis zu seiner einfachen Aufgabe, Robocopy zu starten, um eine Sicherungskopie eines lokalen Ordners auf dem Server anzulegen, ist das Skript ziemlich lang. Dies liegt an der Geschäftslogik,
die die interaktive Ausführung unterstützt, bzw. an der Verwendung von cscript mit zahlreichen unterschiedlichen Parametern, und an den Protokollierungsmöglichkeiten, die es unterstützt.
Folder_Synch.vbs legt im Stammverzeichnis des zu synchronisierenden Ordners ein Protokoll an,
dessen Name im Konfigurationsblock festgelegt und in der Variable sSyncLogFileName abgelegt wird.
Ich empfehle Namen wie _Contoso Synchronization Log.txt, damit die Datei an der Spitze der Dateiliste
des Ordners erscheint und sich das Format im Editor leicht öffnen lässt. Da sie Benutzern im Weg wäre
und nur für Personen gedacht ist, die die Synchronisierung überwachen oder Fehler beheben, wird sie
als verborgen eingerichtet. Zwei Parameter im Konfigurationsblock bestimmen, ob sie einfach, streng
oder gar nicht verborgen ist (hidden, system und hidden oder ohne Attribut).
Jede Synchronisierungsoperation wird am Beginn des Protokolls eingetragen, sodass ältere weiter unten
in der Datei stehen. Damit das Protokoll nicht zu umfangreich wird, können Sie eine Maximalgröße einrichten (standardmäßig 2 MB). Erreicht es die in iSyncLogMaxSize festgelegte Größe, werden die ältesten
Informationen gelöscht. Wie viel gelöscht wird, steht im Aufruf der Funktion TextFile_Purge: 25%. Das
ist nicht gerade die raffinierteste FIFO-Logik (First In, First Out), reicht aber, um die Handhabbarkeit der
Protokolldatei zu gewährleisten.
Außerdem legt das Skript eine Flagdatei für Erfolg bzw. Scheitern der Synchronisierung an, deren
Name ebenfalls im Konfigurationsblock festgelegt ist. Wiederum empfehle ich einen Namen, der mit
282 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
einem Unterstrich anfängt, und die Erweiterung TXT. Wie das Protokoll sind auch diese Dateien standardmäßig verborgen und lassen sich im Konfigurationsblock als streng verborgen einrichten.
Die Protokoll- und die Flagdateien werden nach der Synchronisierung auf den Server kopiert, sodass
dort das aktuellste Protokoll vorliegt. Später werden sie lokal aktualisiert und mit xcopy.exe auf den
Server übertragen. Falls Verbindungs- oder sonstige Probleme Dateioperationen auf dem Server verhindern, kann auf diese Weise möglichst viel Information auf dem lokalen Computer festgehalten werden.
Dass die Protokoll- und Flagdateien auf dem Server liegen, macht die Überwachung der Synchronisierung möglich. Nehmen wir an, Sie synchronisieren nur den Ordner Lokale Dateien (%userprofile%\Local Files) der Benutzer, wie er in Lösung 3.9 angelegt wurde. Jeder Benutzer hat auf dem Server
einen Sicherungsordner im Pfad \\contoso.com\users\%username%\backup. Ein Skript, das in den Sicherungsordner im Unterordner Lokale Dateien jedes Benutzers schaut, feststellt, ob eine Datei mit dem
Namen des Flags für erfolgreiche Synchronisierung existiert, und dann deren Zeitstempel untersucht, ist
recht einfach zu erstellen. Aus dem Erfolgs- bzw. Misserfolgsflag und dem zugehörigen Zeitstempel
ergibt sich, ob mit dem Synchronisierungsframework eines bestimmten Benutzers etwas nicht stimmt.
Sie können auch dafür sorgen, dass das Skript seinen Erfolg oder Misserfolg in einer zentralen Datenbank protokolliert, wobei es sich um eine einfache Excel-Datei auf einer zugänglichen Netzwerkfreigabe
oder eine raffinierte zentrale SQL-Datenbank handeln kann. Mit Windows Vista können Sie alternativ
Einträge im Ereignisprotokoll vornehmen, die sich als zentrales Ereignisprotokoll abonnieren lassen.
Ich empfehle Ihnen dringend, sich die Lösungs-Website zu dieser technischen Referenz anzuschauen,
weil ich damit rechne, dass die IT-Fachleute, die diese Lösung lesen, sie um Überwachungs- und
Berichtsfunktionen erweitern.
Zusammenfassung
Diese Lösung gehört zu den umfangreichen und bietet zahlreichen Szenarien viel Gegenwert. Die servergespeicherten Profile, die umgeleiteten Ordner, die Offlinedateien und die Synchronisierung von
Windows sind bemerkenswerte Technologien, die genutzt werden sollten, wo immer sie Ihren Anforderungen gerecht werden. Es gibt jedoch Situationen, in denen der Benutzer nicht direkt auf dem Server
auf eine Datenklasse zugreifen kann (umgeleitete Ordner), in denen sich eine bestimmte Datenklasse
nicht gut in die Offlinenutzung überführen lässt (Offlinedateien) oder in denen sie bei der Synchronisierung Probleme bereitet (servergespeicherte Profile oder Synchronisierung von Offlinedateien), und
zwar meistens wegen der Dateigröße.
Wichtig Diese Lösung bringt die lokalen Dateien der Benutzer auf den Server, um die Anforderungen an die
Ausfallsicherheit der Geschäftsdaten (Sicherung) innerhalb des UDS-Frameworks zu erfüllen. Wir haben
aber noch keine Möglichkeiten der Serverspeicherung bereitgestellt, um den Mobilitätsanforderungen
gerecht zu werden. Anders ausgedrückt: Wie bekommt ein Benutzer seine lokalen Dateien auf den Client
herunter, wenn er sich an einem neuen System anmeldet? Das Skript Folder_Synch.vbs lässt sich so umkehren, dass es einen Mechanismus bereitstellt, mit dem sich Daten aus der Sicherung eines Benutzers im Netzwerk in sein lokales Benutzerprofil übertragen lassen. Sie finden diese Version auf der Lösungs-Website zu
dieser technischen Referenz (www.intelliem.com/resourcekit).
In dieser Lösung wurde ein Skript mit Robocopy als Kern erstellt, um Ihnen die Möglichkeit zu geben,
eine Sicherung für einen lokalen Datenspeicher in einem Ordner im Netzwerk anzulegen. Das Skript
Folder_Synch.vbs kann manuell durch einen Doppelklick in dem zu sichernden Ordner oder mit einem
Shellbefehl gestartet werden, indem Sie mit der rechten Maustaste auf einen Ordner klicken und ihn
3.11 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (II) 283
sichern. Weitere Möglichkeiten sind eine zeitgeplante Aufgabe und die Einbindung des Skripts in die
An- oder Abmeldung bzw. den Start oder das Herunterfahren des Computers, wobei das Skript anhand
eines angegebenen Sicherungsintervalls entscheiden kann, ob eine Synchronisierung erforderlich ist.
Außerdem enthält das Skript ein gewisses Maß an Fehlerprüfung und Protokollierung, um die Überwachung der Sicherungstätigkeit der Benutzer zu ermöglichen.
3.11 Entwerfen von UDS-Komponenten: Vereinbaren
der Anforderungen mit der Technologie (II)
Die Lösung im Überblick
Typ
Anleitung
Funktionen und Werkzeuge
Umgeleitete Ordner, Offlinedateien, servergespeicherte Benutzerprofile, Gruppenrichtlinien
Zusammenfassung
Analyse der Datenspeicher und Datentypen im Unternehmen,
um den idealen Entwurf zur Verwaltung der Benutzerdaten und
-einstellungen zu ermitteln
Vorteile
Überschreiten bewährter Vorgehensweisen, um festzustellen, was
für die konkrete Umgebung wirklich erforderlich ist
Einführung
Bisher haben wir noch keine erschöpfende (und möglicherweise zur Erschöpfung führende) Betrachtung der Bestandteile eines Frameworks für Benutzerdaten und -einstellungen unternommen. Ob Sie es
glauben oder nicht: Wir haben erst an der Oberfläche gekratzt. Sie haben aber hoffentlich genug über die
Komponenten erfahren, um in der Lage zu sein, einen intelligenten, wirkungsvollen Entwurf für das
UDS-Framework in Ihrem Unternehmen zu erstellen. Lösung 3.2 zeigt meinen Vorschlag für ein Framework auf, der meines Erachtens in vielen Unternehmen funktionieren sollte. Jetzt haben Sie alle Teile
des Puzzles gesehen, und es ist an der Zeit, sie zusammenzusetzen, um das perfekte Bild für Ihre Anforderungen zu bekommen.
Die Herausforderung
Microsoft liefert uns zahlreiche Technologien und Funktionen zur Unterstützung von Benutzerdaten und
-einstellungen: Profile, servergespeicherte Profile, umgeleitete Ordner, Offlinedateien, Synchronisierung, Robocopy, Kontingente, Dateiprüfungen, DFS, freigegebene Ordner und NTFS-Ordner. Einige
davon arbeiten nicht gut zusammen. Wir haben mehr als zwei Datenklassen: einige, die umgeleitet und
offline gut funktionieren, und andere, die sich ohne Weiteres umleiten lassen, aber beim Übergang in den
Offlinestatus Probleme bereiten, wovon sich ein Teil nicht vernünftig synchronisieren lässt, ein anderer
lokalen Zugriff erfordert und noch ein dritter auf dem Server überhaupt nicht erwünscht ist. Das ist ein
weites Feld von Variablen, während wir nur wenige Datenspeicher haben, um sie zu unterstützen, insbesondere Desktop und Dokumente.
284 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Ermitteln der gewünschten Klassen von Datenspeichern
Ich schlage ausgehend von den Unternehmensanforderungen und dem Verhalten von Daten folgende
fünf Datenklassen vor:
„ Daten, die die Anforderungen des UDS-Frameworks an Verfügbarkeit, Mobilität, Sicherheit und
Ausfallsicherheit nicht zu erfüllen brauchen. In diese Kategorie fallen die folgenden Arten:
† Daten und Einstellungen im Benutzerprofil, auf die es schlicht nicht ankommt. Sie werden
weiterhin im Benutzerprofil gespeichert, aber von der Serverspeicherung ausgeschlossen.
† Daten, auf die der Benutzer zugreifen muss, die Sie aber aus Gründen der IT-Sicherheit oder der
IT-Richtlinien nicht auf dem Server haben wollen (Private Dateien oder Rein lokal). Diese
Daten werden ebenfalls an Orten im Benutzerprofil verwaltet, die von der Serverspeicherung
ausgeschlossen sind.
„ Daten, die die Anforderungen des UDS-Frameworks an Verfügbarkeit, Mobilität, Sicherheit und
Ausfallsicherheit erfüllen müssen. In diese Kategorie fallen die folgenden Arten:
† Daten, die in umgeleiteten Ordnern gespeichert und in Form von Offlinedateien ohne Netzwerkanbindung verfügbar sein können. Wenn sich Daten mit diesen beiden Funktionen verwalten
lassen, sollten Sie so vorgehen (umgeleitete Ordner).
† Daten, die nicht in umgeleiteten Ordnern untergebracht werden können, für die aber eine regelmäßige Synchronisierung akzeptabel ist. Sie werden im Benutzerprofil untergebracht und auf
dem Server gespeichert (servergespeicherte Profile).
† Daten, die nicht in umgeleiteten Ordnern untergebracht werden können, für die aber auch eine
regelmäßige Synchronisierung (wie bei servergespeicherten oder Offlinedateien) nicht akzeptabel ist. Sie werden im Benutzerprofil gespeichert, aber nicht auf dem Server, und regelmäßig
im Netzwerk gesichert (Lokale Dateien).
Beachten Sie, dass es mindestens zwei Speicher gibt, für die Windows keine direkte Verwaltungsmethode bereitstellt – Lokale Dateien (mit Sicherung) und Rein lokal oder Private Dateien (ohne Sicherung). Für diese Speicher mussten wir die Verwaltungsfunktionen vollkommen selbst erstellen. Wir
haben im Benutzerprofil Unterordner angelegt, sie von der Serverspeicherung ausgeschlossen und ein
Skript entwickelt, um Lokale Dateien regelmäßig im Benutzerordner Sicherungen zu sichern. Außerdem haben wir gelernt, dass wir einen typischen Shellordner wie Eigene Musik¸ wenn wir ihn als rein
lokal oder privat behandeln, an einen lokalen Ort umleiten können, damit er keinen Netzwerkspeicher
als Ziel hat.
Analysieren und Klassifizieren der Benutzerdatenspeicher und Daten
Um Ihnen beim Entwerfen Ihres UDS-Frameworks zu helfen, habe ich ein notwendigerweise komplexes
Entscheidungsdiagramm erstellt (Abbildung 3.30), das Sie durch eine Reihe von Fragen führt, um zu
ermitteln, wie ein bestimmter Datenspeicher oder eine Datei verwaltet werden soll. Um es zu nutzen,
führen Sie es in zwei Phasen aus.
3.11 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (II) 285
PHASE I: Lässt sich dieser Datenspeicher mit Gruppenrichtlinien oder mithilfe der
Registrierung umleiten?
PHASE II: Liegen die Daten in einem umgeleiteten Speicher?
LEGENDE
Speicherort
der Daten
JA
Art der
Synchronisierung
mit dem Server
PHASE I: Nicht anwendbar. Weiter mit JA.
PHASE II: Können die Daten erfolgreich in einem umgeleiteten Ordner
untergebracht werden? (Hängt davon ab, welche Anwendungen
darauf zugreifen.)
A
NEIN
NEIN
Können die Daten in einen anderen Namespace verschoben werden?
(Dies hängt von den Anwendungen ab, die darauf zugreifen.)
JA
JA
NEIN
Der Datenspeicher, in dem sich die Daten befinden,
kann nicht umgeleitet werden. Er muss auf dem
Server abgelegt werden.
Unterliegen der Datenspeicher (Phase I) oder die Daten (Phase II) den Anforderungen
des UDS-Frameworks (benutzerspezifisch, mobil, verfügbar, ausfallgeschützt, sicher usw.)?
NEIN
NEIN
JA
JA
Ist die Zugriffsgeschwindigkeit
auf den Server akzeptabel?
Von der Serverspeicherung
ausgeschlossenes Benutzerprofil
Rein lokal
JA
NEIN
Ist die Synchronisierungsdauer
der Offlinedateien akzeptabel?
Ist die Synchronisierung bei der An-/Abmeldung
als Teil des Benutzerprofils akzeptabel?
NEIN
JA
Laufen die Clients für
diese Daten unter Vista?
JA
JA oder DATEN WERDEN
NICHT OFFLINE BENÖTIGT
Ist der Übergang in den Offlinemodus
und die Arbeit mit Offlinedateien
in einem umgeleiteten Ordner
akzeptabel?
NEIN
NEIN
Für die Serverspeicherung
zugelassenes Benutzerprofil
Lokale Dateien
Zusammenführung des
servergespeicherten Profils
bei An-/Abmeldung
Sicherung
JA
Offlinedateien,
die nur bei
An-/Abmeldung
synchronisiert
werden
Gehe zu
A
NEIN
JA oder DATEN
WERDEN NICHT
OFFLINE
BENÖTIGT
Umgeleiteter Ordner
Offlinedateien
Synchronisierung
Abbildung 3.30 Entscheidungsdiagramm für ein Framework für Benutzerdaten und -einstellungen
286 Lösungsgruppe 3: Verwalten von Benutzerdaten und -einstellungen
Phase I: Analysieren der Verwaltung Ihrer Benutzerdatenspeicher
In der ersten Phase arbeiten Sie das Entscheidungsdiagramm für jeden Windows-Benutzerdatenspeicher durch. Sie wollen ermitteln, wo der betreffende Datenspeicher in seiner Gesamtheit untergebracht
werden soll. Dabei sollten Sie folgende Speicher einbeziehen: Dokumente, Desktop, Anwendungsdaten,
Favoriten, Bilder, Videos, Musik sowie die Registrierungsdatei (Ntuser.dat). Außerdem sollten Sie alle
anderen Benutzerdatenspeicher analysieren, die von Ihrem UDS-Framework verwaltet werden sollen.
In manchen Unternehmen gehört dazu beispielsweise der Ordner Cookies. Möglicherweise entscheiden
Sie sich auch für die neuen Windows Vista-Profilordner, z.B. Gespeicherte Suchvorgänge, Downloads,
Links usw.
Es ist schwierig, sich den Speicher vorzustellen, ohne dabei an die Daten zu denken, die er enthält. In
Phase II betrachten Sie jedoch die Daten in den einzelnen Speichern, um festzustellen, ob sie in dem
betreffenden Speicher verbleiben können oder in einen anderen verlagert werden müssen oder ob es
sogar erforderlich ist, den übergeordneten Speicher zu verschieben. Deshalb sollten Sie die Fragen
beim Durchlaufen der Phase I unter dem Aspekt der 80/20-Regel angehen. Wenn Sie beispielsweise
die Frage bearbeiten, ob die Zugriffsgeschwindigkeit auf dem Server akzeptabel sei, sollten Sie nicht
an den größten, langsamsten und schlimmsten Datenblock im Speicher denken, sondern an die durchschnittlichen Dateien. In dieser Phase geht es um die Regeln – darum, wie der Speicher in seiner
Gesamtheit verwaltet werden soll. Der Ermittlung und Handhabung der Ausnahmen ist Phase II
gewidmet.
Um Ihnen ein Beispiel und eine Anleitung für die erste Phase zu geben, stelle ich Ihnen hier meine Antworten vor:
„ Alle wesentlichen Benutzerdatenspeicher außer Ntuser.dat lassen sich umleiten. Als Speicher landet die Datei Ntuser.dat komplett in der Kategorie Für die Serverspeicherung zugelassenes Benutzerprofil.
„ Wir wissen, dass alle wichtigen Benutzerdatenspeicher umgeleitet werden können – auch Favoriten, Bilder, Musik und Videos. Wo sich keine Richtlinien für die Ordnerumleitung einsetzen lassen,
ist eine Umleitung über die Registrierung möglich. Im Allgemeinen (80% der Fälle) gilt, dass die
Daten in diesen Ordnern in umgeleiteten Ordnern untergebracht werden können und dass die
Geschwindigkeit, die Synchronisierung und der Übergang in den Offlinemodus akzeptabel sind.
Daher gehe ich davon aus, dass alle Shellordner von Benutzern schließlich in der Kategorie Umgeleiteter Ordner landen. Eine Ausnahme bilden Ordner, die Sie herausnehmen, weil Sie sie überhaupt nicht im Netzwerk ablegen wollen. Wollen Sie keine Musiksammlungen von Benutzern auf
Ihren Servern haben, kommen diese Speicher in die Kategorie Rein Lokal. Die zweite Ausnahme
sind Windows XP-Shellordner, die sich nicht mithilfe von Gruppenrichtlinien umleiten lassen.
Wollen Sie sie aus irgendeinem Grund nicht mithilfe der Registrierung umleiten, gelangen sie in
die Kategorie Für die Serverspeicherung zugelassenes Benutzerprofil.
„ Der Ordner Anwendungsdaten (unter Windows Vista AppData\Roaming) ist knifflig. Möglicherweise
wissen Sie nicht genug darüber, wie sich Daten in diesem Speicher in Ihrer Umgebung verhalten,
sodass Sie sich nicht damit trösten können, dass auch nur 80% davon in einem umgeleiteten Ordner
unterzubringen sind. Vielleicht bringen Sie die Anwendungsdaten am Ende, wie ich vorgeschlagen
habe, vorläufig in der Kategorie Für die Serverspeicherung zugelassenes Benutzerprofil unter, bis Sie
Zeit gefunden haben, ihr Verhalten als umgeleiteter Ordner gründlich zu testen.
3.11 Entwerfen von UDS-Komponenten: Vereinbaren der Anforderungen mit der Technologie (II) 287
Phase II: Klassifizieren der Daten
In Phase II geht es um die Ausnahmen von der Regel. Hier fallen die Antworten in hohem Maß unternehmensspezifisch aus. In dieser Phase gehen Sie das Entscheidungsdiagramm für jede unterstützte
Datenart noch einmal durch. Zuerst müssen Sie eine Liste der in Ihrem Unternehmen vorhandenen
Datenarten aufstellen. Hier einige Vorschläge:
„ Umfangreiche Arbeitsdateien Diese Dateien sind ziemlich groß. In dieser technischen Referenz
haben wir auf das Beispiel von Benutzern verwiesen, die mit großen Videodateien arbeiten, die auf
der Serverseite eines umgeleiteten Ordners möglicherweise keine akzeptable Bearbeitungs- oder
Synchronisierungsgeschwindigkeit bieten.
„ E-Mail-Archive Auch E-Mail-Archive sind ziemlich umfangreich. Sie können auch als Bestandteil der gerade erwähnten Sammlung großer Arbeitsdateien gelten, aber ich möchte etwas genauer
darauf eingehen, damit Sie ein Gefühl dafür bekommen, wie Sie Datenarten in Ihrem Unternehmen
identifizieren:
† PST-Dateien von Outlook 2003 Das Entscheidungsdiagramm lässt sich auch auf PSTDateien von Outlook 2003 und früher anwenden. Schon bald werden Sie gefragt: »Können die
Daten in einem umgeleiteten Ordner untergebracht werden?« Für Outlook 2003 müssen Sie die
Frage verneinen, weil es keinen Zugriff auf PST-Dateien im Netzwerk unterstützt. (Das stimmt,
obwohl ich einige Leute kenne, die es tun.) Dann werden Sie gefragt: »Lassen sie sich in einen
anderen Namespace verschieben?« Sicher können Sie PST-Dateien an eine beliebige Stelle verschieben, wobei Sie aus Gründen des Supports wahrscheinlich am besten einen lokalen Speicher wählen. Aber die Dateien sind groß, und die Synchronisierung mit dem Netzwerk im Verlauf der Profilsynchronisierung bei jeder Abmeldung ist wahrscheinlich nicht akzeptabel. Ich
rechne damit, dass Sie PST-Dateien von Outlook 2003 in der Kategorie Lokale Dateien ablegen.
† PST-Dateien von Outlook 2007 Unterdessen unterstützt Microsoft mit Outlook 2007 den
Zugriff auf PST-Dateien im Netzwerk. Die Daten können jetzt also in einem umgeleiteten Ordner untergebracht werden, wir wollen sie verwalten und die Geschwindigkeit ist vermutlich
akzeptabel. Wie steht es aber mit der Synchronisierung? Windows XP-Clients werden allein
dadurch eine Dateiänderung feststellen, dass sie sie mit Outlook anfassen (auch wenn nichts
hinzugefügt, geändert oder gelöscht wurde). Die Synchronisierung von Windows XP will dann
die gesamte PST-Datei in den lokalen Cache kopieren, was das System stark beeinträchtigt.
Deshalb ist die regelmäßige Synchronisierung wahrscheinlich nicht akzeptabel, was auch die
PST-Dateien von Outlook 2007 in die Kategorie Lokale Dateien bringt.
Zusammenfassung
Mithilfe des Entscheidungsdiagramms in Abbildung 3.30 sind Sie in der Lage, erstens jeden Benutzerdatenspeicher und zweitens jede Datenart zu analysieren, die Sie unterstützen. Sie werden verstehen,
warum ich das Framework empfohlen habe, das wir in Lösung 3.2 aufgebaut haben. Noch wichtiger ist,
dass Sie in der Lage sind, meine Vorschläge so zu ändern, dass daraus das bestmögliche Speicher- und
Verwaltungsframework für Benutzerdaten und -einstellungen in Ihrem Unternehmen entsteht. Das Entscheidungsdiagramm gibt Ihnen die Möglichkeit, die Anforderungen an Mobilität, Verfügbarkeit, Ausfallsicherheit und Sicherheit mit unterschiedlichen und gelegentlich problematischen Daten und Technologien in der Praxis in Einklang zu bringen.
289
L Ö S U N G S G R U P P E
4
Dokumentverwaltung und Zusammenarbeit
mit SharePoint
In diesem Kapitel:
Szenarien, Probleme und Lösungen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.1 Erstellen und Einrichten einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.2 Verwalten von Dokumentmetadaten mit Bibliotheks- und Websitespalten . . . . . . . . . . . . . . . . .
4.3 Erstellen von verwalteten Inhaltstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.4 Einrichten mehrerer Vorlagen für eine Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.5 Hinzufügen, Speichern und Hochladen von Dokumenten in einer Dokumentbibliothek . . . . . .
4.6 Erstellen von Verknüpfungen zu Dokumentbibliotheken für Endbenutzer . . . . . . . . . . . . . . . . .
4.7 Isolieren und Verwalten von hochgeladenen Dokumenten in Bibliotheken
mit mehreren Inhaltstypen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.8 Arbeiten mit Dokumenten in einer Dokumentbibliothek . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.9 Überwachen von Änderungen an Bibliotheken und Dokumenten mit Warnungen und RSS . . .
4.10 Steuern der Dokumentbearbeitung durch Auschecken . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.11 Einrichten und Warten des Dokument-Versionsverlaufs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.12 Einrichten der Inhaltsgenehmigung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.13 Einrichten eines Drei-Status-Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.14 Gliedern und Verwalten von Dokumenten mit Ordnern und Ansichten . . . . . . . . . . . . . . . . . . .
4.15 Konfigurieren der WSS-Indizierung von PDF-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4.16 Offline arbeiten mit SharePoint-Dateien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
290
291
300
310
316
318
322
324
326
327
329
333
335
336
340
342
346
Während der ersten zehn oder mehr Jahre der Microsoft Windows-Technologie wurde Gruppenarbeit an
Dokumenten durch freigegebene Ordner unterstützt. Weil sie noch in einigen Zusammenhängen benötigt
werden, habe ich zu freigegebenen Ordnern in der Lösungsgruppe 2, »Verwalten von Dateien, Ordnern
und Freigabe«, eine ausführliche Darstellung gegeben. Dass Windows SharePoint Services 3.0 (WSS)
als integrierte Funktion zu Windows Server 2003 und als herunterladbare Komponente zu Windows
Server 2008 hinzugefügt wurde, ergibt Möglichkeiten zu fortgeschrittener Zusammenarbeit und Dokumentenverwaltung, von denen bei freigegebenen Ordnern nur zu träumen war.
WSS bietet für Unternehmen wertvolle Funktionalität, u.a. Unterstützung für Dokumentbibliotheken
(das Thema dieser Lösung), Listen (sowohl voreingestellte als auch angepasste), Wikis, Blogs, Diskussionsforen, Kalender, Aufgaben, Themenverfolgung, Statistiken und vieles mehr. Der Zugriff auf dies
alles erfolgt durch Webanwendungen, die WSS zur Verfügung stellt, mit einer Instanz von Microsoft
290 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
SQL Server als Back-End und Authentifizierung durch Active Directory oder einen anderen NET 2.0Authentifizierungsanbieter. Microsoft hat außerdem Microsoft Office SharePoint Server 2007 freigegeben, der mit eigener, gebührenpflichtiger Lizenz erhältlich ist. Er basiert auf WSS als Grundlage und
bietet Webinhaltsverwaltung, professionelle Suchfunktionen, Business Intelligence, Webportale und
Unterstützung für Geschäftsvorgänge und Formulare. Aber lassen Sie sich durch den wirklich unglaublichen Office SharePoint Server nicht so sehr ablenken, dass Sie den unerhörten Wert von WSS dabei
aus den Augen verlieren!
Hinweis Wenn ich von Funktionen oder Eigenschaften spreche, die Windows SharePoint Services 3.0 und
Office SharePoint Server 2007 gemeinsam haben, verwende ich den Ausdruck SharePoint statt WSS.
In dieser Lösungsgruppe richten wir eine voll funktionsfähige sichere Dokumentbibliothek ein, demonstrieren Wesentliches zur Dokumentenverwaltung und Zusammenarbeit und lernen das Zusammenspiel
von SharePoint mit Anwendungen kennen, vor allem denen aus Microsoft Office 2007 und 2003. Da Sie
wahrscheinlich mit SharePoint weniger vertraut sind als mit anderen Anwendungen, werde ich gewissermaßen bei Null anfangen, damit Sie, Ihre IT-Organisation und Ihre Endbenutzer auch sicher vom Start
zum Ziel kommen. Dabei werde ich auf einige häufig auftretende Schwierigkeiten hinweisen, denen
Organisationen beim Einrichten von WSS-Dokumentbibliotheken gegenüberstehen, und Lösungen aufzeigen. Sollten Sie mit der SharePoint-Technologie schon vertraut sein, empfehle ich Ihnen, trotzdem
einen Blick auf jede Lösung zu werfen und dabei auf Überschriften und Tipps zu achten, die Ihnen helfen
werden, die Effektivität Ihrer vorhandenen Implementierung zu erhöhen.
Szenarien, Probleme und Lösungen
Bei Szenarien, welche die Einrichtung von SharePoint-Produkten und -Technologien wie z.B. WSSDokumentbibliotheken notwendig machen, dreht es sich um Fragen der Zusammenarbeit und Dokumentverwaltung:
„ Zur Vorbereitung eines Fusionsvertrags benötigt die Rechtsabteilung von Adventure Works eine
Analyse bestehender Vereinbarungen aller Art, z.B. der Verträge mit Lieferanten und Abnehmern.
Leider ist es mühsam, Verträge aufzufinden, die über eine Vielzahl freigegebener Verzeichnisse
verteilt sind. Einmal gefunden, müssen sie einzeln geöffnet und gelesen werden, um kritische
Informationen wie Ablaufdatum und beteiligte Partner des Vertrags zu ermitteln. Die Rechtsabteilung verlangt von der IT-Organisation, ein Verfahren zu unterstützen, das Schlüsselinformationen
zu einem Vertrag besser sichtbar und zugänglich macht, damit Berichte und Analysen in Zukunft
leichter zu gewinnen sind.
„ Angestellte, Manager und Buchhaltungspersonal bei Northwind Traders haben ein manuelles Verfahren zum Weiterleiten von Kostenberichten für die Genehmigung und Rückerstattung unterstützt.
Der manuelle Prozess ist langwierig und problemanfällig, wenn ein Beteiligter beschäftigt oder in
Urlaub ist.
„ Um die Leistungsfähigkeit zu verbessern, beschließt die Gesellschaft, für diesen häufigen und wichtigen Prozess einen automatisierten Arbeitsablauf einzurichten.
„ Die Abteilung für Geschäftsentwicklung der A. Datum Corporation will die Konsistenz von Angeboten für potenzielle Kunden durch eine einheitliche Vorlage für Marketing, Angebote, Verträge
und Terminüberwachung sicherstellen.
4.1 Erstellen und Einrichten einer Dokumentbibliothek 291
Wenn bei Trey Research Produktionspläne entwickelt werden, erfordert die Vielschichtigkeit der
Dokumentation, dass jeweils nur ein Bearbeiter Änderungen vornimmt. Ansonsten wird die Einpassung mehrfacher Änderungen fast unmöglich. Die IT-Organisation muss eine Möglichkeit finden,
sicherzustellen, dass zu jedem Zeitpunkt jeweils nur ein Benutzer ein solches Dokument bearbeitet.
„ Die Nachrichtenabteilung der Proseware Inc., möchte sicherstellen, dass herausgegebenes Werbebegleitmaterial exakt und für die Werbebotschaft und Markenbildung der Gesellschaft repräsentativ
ist. Die Firma hat ein kleines Komitee eingesetzt, das für die Genehmigung jeglicher Änderung am
Begleitmaterial verantwortlich ist, und die IT-Abteilung gebeten abzusichern, dass Benutzer in der
Organisation nur genehmigte Versionen sehen und verwenden.
„ Tailspin Toys hat geschäftsschädigendes Verhalten seitens eines Angestellten entdeckt, der nach
Ansicht der Verwaltung fragwürdige Daten in wichtige Microsoft Excel-Dokumente eingefügt hat.
Die IT-Abteilung wurde gebeten, eine komplette Überwachungsspur der Änderungen an diesem
Dokument bereitzustellen, kann aber nur Versionen liefern, die bei einem wöchentlichen Sicherungsdurchlauf gesichert und gespeichert wurden.
„ Produktmanager bei Contoso Ltd. stehen vor dem Start der nächsten großen Aktion. Der Stichtag
rückt näher, und weil Dokumente, Arbeitsblätter und mit dem Projekt verknüpfte Präsentationen
kurz vor der Fertigstellung stehen, wollen sie von jeder Änderung an den Dokumenten unverzüglich
informiert werden.
„ Überall wünschen sich Benutzer und IT-Profis einen Weg, um Informationen in und über Dokumentenspeicher und Dokumente hinweg leichter finden zu können.
Das sind einige der Szenarien, auf die sich SharePoint-Dokumentbibliotheken anwenden lassen. Sie
werden feststellen, dass Bibliotheken leicht zu erstellen, einzurichten und zu verwalten sind – so leicht,
dass Sie über die umfangreiche Funktionalität, die sie zur Verfügung stellen, erstaunt sein werden.
„
4.1 Erstellen und Einrichten einer Dokumentbibliothek
Die Lösung im Überblick
Typ
Verfahren
Funktionen und Werkzeuge
SharePoint-Sites, Dokumentbibliotheken, Berechtigungen und
Gruppen
Zusammenfassung
Aufbau einer SharePoint-Website und einer Dokumentbibliothek
und Konfiguration der Einstellungen, Berechtigungen und Vorlagen
Vorteile
Richtet eine sichere, gut konfigurierte, URL-geeignete Website
und eine Dokumentbibliothek ein.
Einführung
Bevor wir in die fortgeschrittenere Konfiguration einer Dokumentbibliothek einsteigen können, müssen
wir eine Bibliothek aufbauen und zum Laufen bringen. In dieser Lösung erfassen wir die Prozeduren
zum Erstellen einer Website und einer Dokumentbibliothek. Dann betrachten wir einige der Bibliothekseinstellungen, die Sie vor dem Veröffentlichen einer Bibliothek konfigurieren sollten. Die wichtigste
davon ist natürlich die der Bibliotheksberechtigungen.
292 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Die hier vorgestellten Verfahren sind ziemlich grundlegend. Wenn Sie ein erfahrener SharePoint-Administrator sind, überfliegen Sie am besten rasch die Lösung und achten auf die Tipps. Wenn SharePoint
für Sie neu ist, sollten Sie diese Prozeduren in einer Testumgebung ausprobieren, um mit ihnen vertraut
zu werden.
Hinweis Sie können WSS von der Microsoft-Webseite http://technet.microsoft.com/windowsserver/sharepoint
herunterladen. Dort finden Sie ausführliche Informationen zur WSS-Installation.
Erstellen einer Website
Um eine Website für die Dokumentbibliothek anzulegen, müssen Sie sich mit Anmeldeinformationen
anmelden, die die Berechtigung zum Erstellen von Unterwebsites enthalten. Diese Berechtigung ist der
Gruppe der Besitzer der Website zugeordnet und ist Teil der Berechtigungsebene zum Vollzugriff. Um
das zu erreichen, machen Sie Folgendes:
1. In Internet Explorer verbinden Sie sich mit der Standardwebsite für SharePoint Services, indem Sie
http://<servername> in das Adresstextfeld eingeben. Dann wählen Sie den Erstellen-Befehl. Das
geht auf mehrere Arten:
† Klicken Sie auf die Schaltfläche Websiteaktion auf der rechten Seite der Teamwebsite und wählen
Sie dann Erstellen.
† Klicken Sie auf den Link Alle Websiteinhalte einblenden in der Schnellstartleiste auf der Teamwebsite und dann auf Erstellen in der Symbolleiste.
2. Unterhalb von Webseiten klicken Sie auf den Link für Websites und Arbeitsbereiche.
3. Geben Sie einen Titel für die Website ein.
4. Wahlweise geben Sie eine Beschreibung ein.
5. Geben Sie den URL für die Website ein.
Hinweis Vermeiden Sie in URLs wo immer möglich die Verwendung von Leerzeichen.
6. Wählen Sie die Vorlage Teamwebsite oder eine benutzerdefinierte Vorlage, die Sie für Ihr Unternehmen hergestellt haben.
7. Wählen Sie Berechtigungen wie in übergeordneter Website oder Eigene Berechtigungen verwenden.
Das Sicherheitsmodell von WSS wird später in dieser Lösung besprochen.
8. Sorgen Sie dafür, dass die Auswahl unter Navigation und Navigationsvererbung auf dem Entwurf
der Schnittstelle für Ihre Webseitenbenutzer beruhen.
9. Klicken Sie auf Erstellen.
Erstellen einer Dokumentbibliothek
Um eine Dokumentbibliothek anzulegen, müssen Sie sich mit Anmeldeinformationen bei der Website
anmelden, der die Berechtigung zur Listenverwaltung enthalten. Diese Berechtigung ist der Gruppe der
Besitzer der Website zugeordnet und ist Teil der Entwurfsberechtigung. Gehen Sie wie folgt vor:
1. Wählen Sie den Erstellen-Befehl. Das geht auf mehrere Arten:
† Klicken Sie auf die Schaltfläche Websiteaktion und wählen Sie dann Erstellen.
4.1 Erstellen und Einrichten einer Dokumentbibliothek 293
† Klicken Sie auf den Link Alle Websiteinhalte einblenden in der Schnellstartleiste und dann auf
die Erstellen in der Symbolleiste.
2. Klicken Sie unter Bibliotheken auf Dokumentbibliothek (oder auf Bildbibliothek, falls Sie eine
Bibliothek für Fotos und Grafiken anlegen).
3. Die Seite Neu für die Dokumentbibliothek erscheint. Geben Sie einen Namen für die Bibliothek in
das Namensfeld ein.
Wie wir in dieser Lösungsgruppe sehen werden, lassen sich die meisten Einstellungen auf der Seite
leicht ändern, nachdem die Bibliothek angelegt worden ist. Allerdings ist das Namensfeld ein bisschen störrisch und muss beim ersten Mal auf der neuen Seite für die Dokumentbibliothek korrekt
ausgefüllt werden. Es dient zum Festlegen von Titel und URL der Seite. Der Titel lässt sich nach
Anlegen der Bibliothek leicht ändern, jedoch ist eine Änderung des URLs nicht ganz so einfach.
Der erstellte URL lautet http://sharepoint.server.fqdn/site/name, wobei name für den Eintrag im
Namensfeld auf der neuen Seite der Dokumentbibliothek steht.
Hinweis Ich empfehle, einen URL-geeigneten Namen nach folgenden Richtlinien zu wählen:
Wählen Sie einen kurzen Namen.
Schreiben Sie den Namen entweder in Groß- oder Kleinbuchstaben.
„ Vermeiden Sie Leerzeichen, denn diese müssen manchmal durch das Maskierungssymbol %20
dargestellt werden. Beispielsweise sehen Sie folgenden URL, wenn Sie zu der Dokumentbibliothek
gehen, die auf der Standard-Teamwebsite erstellt wurde: http://sharepoint.server.fqdn/Shared%20
Documents.
Nach Erstellen der Bibliothek können Sie in deren Einstellungen ihren Titel in einen benutzerfreundlicheren
umändern, auch mit Großschreibung und Leerzeichen. Diesen Vorgang beschreibe ich später in dieser
Lösung.
„
„
4. Wahlweise können Sie eine Beschreibung im Textfeld Beschreibung eingeben. Diese erscheint
unterhalb der Kopfzeile der Dokumentbibliothek auf der Seite der Bibliothek.
5. Legen Sie im Abschnitt Navigation fest, ob die Bibliothek als Link in der Schnellstartleiste der
Website erscheinen soll.
6. Wollen Sie die Bibliothek E-Mail-aktivieren, so klicken Sie im Abschnitt Eingehende E-Mail auf Ja
und vergeben einen eindeutigen Postfachnamen für die Bibliothek. Wenn Sie eingehende E-Mails
in der SharePoint-Zentralverwaltung nicht aktiviert haben, ist diese Option nicht sichtbar. Ich
bespreche E-Mail-aktivierte Bibliotheken in Lösung 4.5 auf Seite 318.
7. Den Versionsverlauf können Sie durch Aktivierung von Ja im Abschnitt Dokumentversionsverlauf
einschalten. Ich werde die Versionsliste in Lösung 4.11 auf Seite 333 besprechen.
8. Wählen Sie eine Dokumentvorlage aus der entsprechenden Dropdownliste.
9. Wenn eine Dokumentbibliothek hauptsächlich oder ausschließlich eine Art von Dokumenten enthält,
wie z.B. allgemeine Microsoft Office Word-, Excel- oder PowerPoint-Dokumente, und wenn diese
Art in der Auswahlliste vorkommt, dann wählen Sie sie. Meistens sollten Sie aber, vor allem in den
folgenden Situationen, Keine als Vorlage wählen:
† Die Vorlage für die Dokumentart, die Sie beim Klicken auf die Schaltfläche Neu in der Dokumentbibliothek anlegen wollen, ist nicht aufgeführt.
† Die Bibliothek enthält Dokumente, die nach einer benutzerdefinierten Dokumentvorlage erstellt
wurden (z.B. Verträge, Kostenberichte).
294 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
† Die Bibliothek wird zur Herstellung mehrerer Dokumentarten verwendet.
† Eine Dokumentbibliothek wird ausschließlich durch Hochladen von Dokumenten gefüllt, nicht
aber durch Klicken auf die Schaltfläche Neu.
Ich werde benutzerdefinierte Vorlagen in dieser Lösung und mehrere Vorlagen in Lösung 4.4 auf
Seite 316 untersuchen.
10. Klicken Sie auf Erstellen.
Einstellungen für die Dokumentbibliothek
Nach dem Anlegen einer Dokumentbibliothek sollten Sie ihre Einstellungen einrichten. Die Bibliothek öffnet sich unmittelbar nach dem Aufbau, Sie können sie aber auch über die Schnellstartleiste
erreichen: Entweder klicken Sie auf den Link der Dokumentbibliothek, wenn Sie ihn aktiviert haben,
oder auf Gesamten Websiteinhalt einblenden und dann auf den Link zur Bibliothek. Nach dem Öffnen
der Bibliothek klicken Sie in deren Symbolleiste auf Einstellungen und wählen Einstellungen für
Dokumentbibliothek, wie in Abbildung 4.1 gezeigt.
Abbildung 4.1 Der Befehl Einstellungen für Dokumentbibliothek
Um Einstellungen von Bibliotheken oder Listen zu setzen, benötigen Sie die Listenverwaltungsberechtigung. Diese wird der Besitzergruppe zugewiesen und ist Bestandteil der Designberechtigungsebene.
Ohne diese Berechtigung wird die Schaltfläche Einstellungen nicht angezeigt.
Die Anpassungsseite für die Dokumentbibliothek wird wie in Abbildung 4.2 angezeigt. Ich habe darin
die Einzelheiten zu jedem Abschnittstitel im Interesse besserer Lesbarkeit weggelassen. Den Inhaltstypen-Abschnitt werden Sie dabei nicht sehen, es sei denn, Sie hätten die Option wie in Lösung 4.3 auf
Seite 310 beschrieben aktiviert.
Bevor Sie die Bibliothek für verfügbar erklären, sollten Sie die meisten Einstellungen einrichten. Nachstehende Anleitung weist Sie auf die entsprechenden Lösungen zu den einzelnen Einstellungen hin:
„ Titel, Beschreibung und Navigation: weiter hinten in dieser Lösung
„ Versionierungseinstellungen:
† Inhaltsgenehmigung: Lösung 4.12 auf Seite 335
† Versionsverlauf: Lösung 4.11 auf Seite 333
† Auschecken erfordern: Lösung 4.10 auf Seite 329
„ Erweiterte Einstellungen:
† Inhaltstypen: Lösung 4.3 auf Seite 310
4.1 Erstellen und Einrichten einer Dokumentbibliothek 295
† Dokumentvorlage: weiter hinten in dieser Lösung
† Ordner: Lösung 4.14 auf Seite 340
† Suchen: Lösung 4.15 auf Seite 342
„
„
„
„
„
„
„
„
„
Dokumentbibliothek löschen: selbsterklärend
Berechtigungen für Dokumentbibliothek: weiter hinten in dieser Lösung
Ausgecheckte Dateien verwalten: Lösung 4.10 Seite 329
Workfloweinstellungen: Lösung 4.13 auf Seite 336
Einstellungen für eingehende E-Mail: Lösung 4.5 auf Seite 318
RSS-Einstellungen: Lösung 4.9 auf Seite 327
Inhaltstypen: Lösung 4.3 auf Seite 310
Spalten: Lösung 4.2 auf Seite 300
Ansichten: Lösung 4.14 auf Seite 340
Abbildung 4.2 Die Anpassungsseite für eine Dokumentbibliothek
Festlegen des Titels der Dokumentbibliothek
Der Titel der Dokumentbibliothek erscheint in der Kopfzeile der Bibliotheksseite, wie in Abbildung 4.3
gezeigt wird. Wie schon früher erwähnt, ist er ursprünglich von dem Namen abgeleitet, den Sie bei Einrichtung der Bibliothek im Namensfeld eingegeben haben. Der Name dient sowohl für den Bibliothekstitel als auch für den URL. Daher empfehle ich, die Bibliothek mit einem URL-geeigneten Namen zu
erstellen und diesen erst danach zu ändern.
296 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Titel
Abbildung 4.3 Titel der Dokumentbibliothek
Um den Bibliothekstitel zu ändern, nehmen Sie Folgendes vor:
1. Klicken Sie in der Symbolleiste der Bibliothek auf Einstellungen und wählen Sie Einstellungen für
Dokumentbibliothek.
2. Die Anpassungsseite wird angezeigt. Im Abschnitt Allgemeine Einstellungen klicken Sie auf Titel,
Beschreibung und Navigation.
3. Geben Sie den Bibliothekstitel in das Namensfeld ein.
4. Klicken Sie auf Speichern.
Hinweis Wenn Sie die Bibliothek in der Schnellstartleiste anzeigen und als einzige Änderung im Namensfeld
die Groß-/Kleinschreibung ändern – beispielsweise von »dokumente« in »Dokumente« – wird die Änderung in
der Leiste nicht sichtbar. Um diesem Missstand abzuhelfen, müssen Sie die Bibliothek aus der Leiste entfernen
und gleich wieder einfügen. Das machen Sie am leichtesten folgendermaßen:
1.
2.
3.
4.
5.
6.
Auf der Anpassungsseite für die Bibliothek klicken Sie auf den Link Titel, Beschreibung und Navigation.
Aktivieren Sie im Abschnitt Navigation die Option Nein.
Klicken Sie auf Speichern.
Klicken Sie nochmals auf Titel, Beschreibung und Navigation.
Aktivieren Sie im Abschnitt Navigation die Option Ja.
Klicken Sie auf Speichern.
Die Dokumentbibliothek sollte nun mit der korrekten Schreibweise in der Schnellstartleiste erscheinen.
Aktivieren und Deaktivieren von Ordnern innerhalb
der Dokumentbibliothek
Eine andere Einstellung, die Sie unverzüglich vornehmen sollten, ist die Möglichkeit für Benutzer, innerhalb der Bibliothek Ordner anzulegen. Wir besprechen weitere Einzelheiten über Ordner in Lösung 4.14.
Voreingestellt ist das Anlegen von Ordnern aktiviert. Wenn Sie diese Funktion deaktivieren wollen,
können Sie das wie nachstehend erledigen:
1. Klicken Sie auf die Einstellungen der Bibliothekssymbolleiste und wählen Sie Einstellungen für
Dokumentbibliothek.
2. Die Anpassungsseite wird angezeigt. Im Abschnitt Allgemeine Einstellungen klicken Sie auf den
Link Erweiterte Einstellungen.
3. Im Ordner-Abschnitt aktivieren Sie die Option Nein für Soll der Befehl "Neuer Ordner" im Menü
"Neu" angezeigt werden?
4. Klicken Sie auf OK.
Hinweis Wenn Sie die Ordner deaktivieren, während weder eine Dokumentvorlage noch ein Inhaltstyp mit
der Dokumentbibliothek verknüpft ist, verschwindet die Schaltfläche Neu von der Bibliothekssymbolleiste.
Benutzer mit entsprechender Berechtigung können jedoch mithilfe der Schaltfläche Hochladen Dokumente
hochladen.
4.1 Erstellen und Einrichten einer Dokumentbibliothek 297
Ändern der Standardvorlage für die Bibliothek
Wenn Sie nach Anlegen der Dokumentbibliothek die korrekte Vorlage für alle Bibliotheksdokumente
eingerichtet haben, können Sie diesen Abschnitt auslassen. Da aber die meisten Dokumentbibliotheken
wohl keine allgemeine Word-, Excel- oder PowerPoint-Vorlage verwenden, wollen Sie wahrscheinlich
eine benutzerdefinierte Vorlage für die Bibliothek einrichten. Mit den Schritten dieses Abschnitts
erstellen Sie eine Vorlage für Dokumente, die von Benutzern durch einen Klick auf die Schaltfläche
Neu der Bibliothek angelegt werden. Wenn Sie mehr als eine Vorlage verfügbar haben wollen, müssen
Sie auf die Lösungen 4.3 und 4.4 mit der Besprechung von Inhaltstypen und mehreren Vorlagen warten.
Um eine maßgeschneiderte Vorlage für eine Dokumentbibliothek anzulegen, sind zwei Hauptschritte
erforderlich. Zuerst müssen Sie die Vorlage in den Formularordner der Bibliothek aufnehmen. Dann
muss die Bibliothek zur Verwendung der Vorlage eingerichtet werden.
Der erste Schritt kann der schwierigste sein. Sie müssen in den Formularordner gehen, damit Sie Ihre
Vorlage hineinkopieren können. Ich empfehle die Verwendung des UNC-Pfads (Universal Naming
Convention) für des Bibliotheksformularordners:
Hinweis Wählen Sie Start und dann Ausführen. Danach geben Sie den UNC-Pfad der Bibliothek in folgender Form ein: \\<sharepointserver>\<site>\<bibliothek>\forms – z.B. \\sharepoint.contoso.com\department\documents\forms. Dann kopieren Sie die Vorlage hinein, sobald sich dieser Ordner öffnet.
Ersatzweise können Sie Folgendes tun:
1. Öffnen Sie die Dokumentbibliothek in Internet Explorer und achten Sie darauf, als Benutzer mit Vollzugriff bei der Bibliothek angemeldet zu sein.
2. Klicken Sie auf die Schaltfläche Öffnen und wählen Sie Mit Windows Explorer öffnen.
Dieser Schritt ist derjenige, welcher höchstwahrscheinlich Probleme macht. Wenn sich die Bibliothek mit Windows Explorer nicht öffnen lässt, verwenden Sie einen Windows Vista- oder einen
Windows XP-Client – so war ich bis heute unmittelbar auf einem Windows Server 2008-System
nicht in der Lage, die Bibliothek in Windows Explorer erfolgreich zu öffnen. Wenn Sie zur Anmeldung aufgefordert werden, müssen Sie Anmeldeinformationen für die Website eingeben. Achten
Sie auch darauf, dass der SharePoint-Server zur Zone Vertrauenswürdige Sites oder Lokales Intranet gehört und dass Internet Explorer 7 nicht im geschützten Modus läuft. Die Browserstatusleiste
informiert Sie über die Sicherheitsbehandlung der Website. Doppelklicken Sie auf die in Abbildung 4.4 gezeigten Indikatoren als Abkürzung zur Sicherheitsseite des Dialogfelds Internetoptionen. Dort können Sie die Einstellungen ändern.
Abbildung 4.4 Internet Explorer-Sicherheitseinstellungen für eine SharePoint-Webseite
3. Gehen Sie zum Formularordner innerhalb der Bibliothek. Er ist versteckt, daher müssen Sie möglicherweise die Option zur Anzeige versteckter Dateien und Ordner in den Ordneroptionen Ihres
Systems aktivieren. (Dazu klicken Sie auf Organisieren und wählen dann Ordner- und Suchoptionen. Klicken Sie auf die Registerkarte Ansicht, wählen Sie Dateien und Ordner anzeigen und klicken Sie dann auf OK.)
Nach Öffnen des Formularordners kopieren Sie Ihre Vorlage hinein. Dann richten Sie die Einstellungen
der Bibliothek wie nachfolgend gezeigt ein, damit sie die Vorlage verwendet.
298 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
1. Auf der Anpassungsseite der Dokumentbibliothek klicken Sie auf den Link Erweiterte Einstellungen
im Bereich Allgemeine Einstellungen.
2. Im Textfeld URL-Vorlage geben Sie den Vorlagen-URL in der Form Bibliothek/Formulare/Vorlagenname.erw ein, (wobei Bibliothek den Namen Ihrer Bibliothek und Vorlagenname.erw den Namen der
Vorlage bedeutet). Beachten Sie, dass dort kein Protokoll- (»http://«) oder Stammpräfix (»/«) vorhanden ist. Geben Sie den URL einfach relativ zur Website selbst ein.
3. Klicken Sie auf OK.
Die neue Vorlage im Formularordner wird nun verwendet, wenn ein Benutzer den Befehl Neues Dokument in der Dokumentbibliothek auswählt. Der logisch nächste Schritt ist nun, Vorlagen über mehrere
Bibliotheken hinweg zusammenzufassen, sodass Sie keine mehrfachen Kopien derselben Vorlage in
jeder Dokumentbibliothek vorhalten oder Benutzern mehr als eine Vorlagenoption zur Verfügung
stellen müssen. Auf beide dieser großen Ziele wird in Lösung 4.3 eingegangen, wenn wir Inhaltstypen
behandeln.
Einrichten der Sicherheit für die Dokumentbibliothek
Das SharePoint-Modell sicherungsfähiger Objekte ist unkompliziert und wird in Abbildung 4.5 dargestellt. Eine Website kann Bibliotheken, Listen und andere Websites enthalten. In Bibliotheken und
Listen können Dokumente bzw. Einträge sowie Ordner auftreten, und in Ordnern können auch Bibliotheksdokumente oder Listenobjekte sowie noch weitere Ordner vorhanden sein.
Abbildung 4.5 Das Modell sicherungsfähiger Objekte in SharePoint
Voreinstellung ist, dass jedes Objekt seine Berechtigungen von seinem Elternobjekt erbt. Sie können
aber für jedes Objekt Berechtigungen so festlegen, dass von da an Änderungen an den Berechtigungen
des Elternobjekts nicht mehr vererbt werden. Um Berechtigungen für ein Objekt zu ändern, muss ein
Benutzer die Berechtigung zur Berechtigungsverwaltung haben, die Bestandteil des Vollzugriffs ist.
Im Vergleich zu freigegebenen Ordnern, die in Lösungsgruppe 2 besprochen werden, gibt es kleinere
Unterschiede in der Anwendung von Sicherheitskonzepten bei SharePoint. Bei SharePoint gilt für Vererbung das Alles-oder-nichts-Prinzip – es gibt keine Mischung von vererbten und expliziten Berechtigungen für ein Objekt. SharePoint gestattet auch keinem Benutzer, die Berechtigungen eines Objekts zu
ändern, das ihm gehört, weil er es erstellt hat.
Im Grunde sollten Sie ebenso an die Sicherheitsverwaltung in SharePoint herangehen wie bei freigegebenen Ordnern: Wo immer möglich, ordnen Sie Berechtigungen zu Gruppen zu, erteilen Berechtigungen
für Container – nicht für einzelne Dokumente oder Objekte –, und verwenden die rollenbasierte Zugriffssteuerung wie in der Lösungsgruppe 1, »rollenbasierte Verwaltung«, beschrieben.
4.1 Erstellen und Einrichten einer Dokumentbibliothek 299
Verwalten der Berechtigungen für Dokumentbibliotheken,
Ordner und Dokumente
Um Berechtigungen für eine Dokumentbibliothek zu verwalten, klicken Sie auf der Anpassungsseite für
die Bibliothek auf den Link Berechtigungen für Dokumentbibliothek. für diese Dokumentbibliothek. Entsprechend der Voreinstellung erbt eine neue Dokumentblbliothek ihre Berechtigungen von ihrer Website.
Um der Bibliothek eindeutige Berechtigungen zuzuordnen, müssen Sie die Vererbung aufheben. Klicken
Sie auf die Schaltfläche Aktionen direkt über der Liste der Benutzer und Gruppen mit Berechtigungen für
diese Website und wählen Sie Berechtigungen bearbeiten. Sie werden zur Bestätigung aufgefordert, dass
Sie die Vererbung aufheben wollen. Die Berechtigungen, die geerbt worden sind, werden als Standard für
die Bibliothek angewandt. Klicken Sie auf OK, um diesen Vorgang zu bestätigen.
Die Schaltfläche Neu gestattet Ihnen, Benutzer oder Gruppen hinzuzufügen und ihre Berechtigungen
festzulegen. Um derartige Berechtigungen zu verändern, verwenden Sie Schaltfläche Aktionen.
Hinweis Obwohl die Benutzerschnittstelle vorgibt, Sie würden Benutzer hinzufügen, entfernen oder bearbeiten, können Sie dasselbe ebenso gut für die Berechtigungen von Gruppen tun. Tatsächlich ist das Verwalten
von Berechtigungen mit Gruppen die beste Vorgehensweise. Leider ist die Schnittstelle zugleich unklar und
irreführend.
Zur Verwaltung von Berechtigungen für Ordner oder Dokumente in der Bibliothek klicken Sie auf den
Auswahlpfeil, der angezeigt wird, wenn Sie mit dem Mauszeiger über einen Ordner- oder Dokumentnamen fahren. Aus dem erscheinenden Menü wählen Sie Berechtigungen verwalten.
Hinweis Dieses Menü heißt Bearbeitungsmenü. Wenn Sie sich mit dem Bearbeitungsmenü von SharePoint
nicht auskennen, sehen Sie in »Verwenden des Bearbeitungsmenüs von SharePoint« auf Seite 306 nach.
Es gelten dieselben Regeln: Sie müssen zuerst auf die Aktionsschaltfläche klicken, Berechtigungen
bearbeiten auswählen und dann bestätigen, dass Sie die Vererbung aufheben wollen. Dann können Sie
Berechtigungen hinzufügen, entfernen und ändern.
Zuweisen von Berechtigungen zu SharePoint- und Active Directory-Gruppen
Eine häufige Frage lautet, ob man Berechtigungen direkt einer Active Directory-Gruppe zuweisen oder
erst eine SharePoint-Gruppe erstellen und dieser dann Berechtigungen zuweisen soll. Die Antwort hängt
davon ab, wie Sie die Gruppe über die einfache Gewährung des Zugriffs über Ihre Active DirectoryBenutzer hinaus verwenden wollen.
Wenn Sie einer Active Directory-Gruppe Berechtigungen zuweisen, erhalten deren Mitglieder Zugang
auf dieser Ebene. Sie können den Zugriff über die Mitgliedschaftsverwaltung der Active DirectoryGruppe steuern. Dieser Gruppe können Sie auch Zugriff zu anderen Ressourcen wie freigegebenen
Ordnern, Druckern und Anwendungen erteilen. Sollten Sie jedoch für dieselbe Gruppe Benachrichtigungen einrichten, so gehen diese an das E-Mail-Konto dieser Gruppe, nicht zu jedem einzelnen Benutzer. Natürlich könnte Ihr Mailsystem die Nachricht an alle Mitglieder weiterleiten, aber SharePoint sendet nur eine E-Mail-Mitteilung – an die Gruppe.
Wenn Sie einer SharePoint-Gruppe Berechtigungen zuweisen, erhalten deren Mitglieder Zugriff auf
dieser Ebene. Wenn Benachrichtigungen geschickt werden, wird jedes Mitglied direkt angeschrieben.
Zusätzlich ist es möglich, SharePoint-Funktionen zu nutzen, die es Benutzern ermöglichen, Mitgliedschaft in der Gruppe anzufordern. Diese Fähigkeit zur Mitgliedschaftssteuerung kann den Aufwand für
Unterstützungskosten bei Anfragen für den Ressourcenzugriff reduzieren. Beim Benutzen der Active
300 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Directory-Verwaltungswerkzeuge ist jedoch die SharePoint-Gruppe weder sichtbar, noch können Sie
ihr außerhalb von SharePoint Berechtigungen zuweisen.
Einer der größten Nachteile von Active Directory-Gruppen besteht darin, dass sie nur Benutzern mit
einem Active Directory-Konto enthalten. Wenn Sie Ihre SharePoint-Site auf Benutzer erweitern wollen,
die sich mit anderen Authentifizierungsanbietern anmelden, z.B. formularbasierter Authentifizierung,
dann müssen diese die Berechtigung zur Nutzung einer SharePoint-Gruppe erhalten.
Es gibt also keine einfache Antwort. Wenn Sie einfach nicht entscheiden können, was zu tun ist, schlage
ich vor, eine SharePoint-Gruppe zur Berechtigungsverwaltung zu erstellen und eine Active DirectoryGruppe in sie einzufügen. Auf diese Weise können Sie weiterhin den Zugriff mit Active Directory-Werkzeugen verwalten, während Ihre SharePoint-Gruppe flexibel genug ist, um eine Erweiterung auf andere
Authentifizierungsanbieter zu unterstützen. Sie können, wenn gewünscht, die Funktion der Gruppenmitgliedschaftsverwaltung aktivieren, damit die Gruppe einzelnen Benutzern gestatten kann, Zugriff zu
beantragen.
Um mehr über Planung und Einrichtung der SharePoint-Sicherheit zu erfahren, besuchen Sie das Windows SharePoint Services Tech Center unter http://technet.microsoft.com/windowsserver/sharepoint.
Zusammenfassung
In dieser Lösung haben wir die grundlegenden Vorgänge zum Erstellen einer Website und einer sicheren
Dokumentbibliothek behandelt. Dabei habe ich einige Tipps angeboten und ausgeführt, wie einige allgemeine Fallstricke zu umgehen sind. Eine Dokumentbibliothek, die so weit konfiguriert wurde, wie in dieser Lösung dargestellt, ist mehr oder weniger einem freigegebenen Ordner gleichwertig. In den folgenden
Lösungen kommen wir zur Anwendung der SharePoint-Funktionalität in der Dokumentenverwaltung.
4.2 Verwalten von Dokumentmetadaten mit
Bibliotheks- und Websitespalten
Die Lösung im Überblick
Typ
Prozeduren
Funktionen und Werkzeuge
SharePoint-Bibliotheks- und Sitespalten, Microsoft OfficeAnwendungen
Zusammenfassung
Erstellen benutzerdefinierter Spalten zur Unterstützung von
Dokumentmetadaten auf dieser Bibliotheks- oder Siteebene.
Vorteile
Das Beschreiben von Dokumenten mit Metadaten ist ein Kernbestandteil der Inhaltsverwaltung, der Ansichten, Suche, Berichte
und andere Funktionen zur Dokumentenverwaltung ermöglicht.
Einführung
SharePoint-Spalten entsprechen dem, was bei anderen Datenbanken mit Feldern, Attributen oder Eigenschaften bezeichnet wird. Sie sind Datenpunkte in einem Datensatz, der seinerseits Dokument in einer
Bibliothek oder Objekt in einer Liste ist. Spalten können von der Einstellungsseite einer Bibliothek – der
Anpassungsseite – aus im Abschnitt Spalten bearbeitet werden, den Abbildung 4.6 zeigt.
4.2 Verwalten von Dokumentmetadaten mit Bibliotheks- und Websitespalten 301
Abbildung 4.6 Der Abschnitt Spalten einer Dokumentbibliothekseinstellung
Spalten in einer Dokumentbibliothek können zum Beschreiben, Gliedern, Positionieren und Verwalten
von Dokumenten dienen. In Texten zu Inhaltsverwaltungsressourcen werden solche Datenpunkte oft als
Metadaten bezeichnet. Voreingestellt ist bei einer Dokumentbibliothek die Unterstützung für mehr als
ein Dutzend Spalten, so etwa Titel, Name, Erstellt, Erstellt von, Geändert, Geändert von, Dateigröße,
Version, Ausgecheckt von.
Sie können die Spalten einer Bibliothek ändern, damit sie andere Eigenschaften unterstützen, die Sie für
ein Dokument im Auge behalten wollen. Zu jeder Spalte steht Ihnen ein weiter Bereich von Optionen zur
Verfügung, sowohl für die Datentypen, die die Spalte unterstützen soll, als auch für die Steuerelemente
der Benutzerschnittstelle zur Dateneingabe in die Spalte, für Standardwerte und dafür, ob die Spalte ein
erforderliches Feld für neue Dokumente ist. Ein Dokument ist in der Bibliothek für Benutzer unsichtbar,
wenn irgendeine erforderliche Spalte nicht eingerichtet wurde.
In diesem Abschnitt werden Sie lernen, Spalten in einer Bibliothek zu erstellen und zu verwalten. Sie
erfahren außerdem, wie Endbenutzer mit voreingestellten Spalten sowohl in der SharePoint-Webschnittstelle als auch in Microsoft Office-Clients umgehen, und wie Spalten sowohl auf Bibliotheks- als auch auf
Siteebene verwaltet werden, wo sie für mehrere Listen oder Bibliotheken verfügbar gemacht werden
können.
Erstellen einer Spalte
Eine Spalte wird mittels folgender Schritte erstellt:
1. Klicken Sie in der Symbolleiste der Bibliothek auf Einstellungen und wählen Sie Einstellungen für
Dokumentbibliothek.
2. Die Anpassungsseite erscheint. Klicken Sie im Abschnitt Spalten auf den Link Spalten erstellen.
3. In das Textfeld Spaltenname geben Sie den Spaltennamen ein.
4. Wählen Sie eine der Optionen aus, die unter der Überschrift Der Informationstyp in dieser Spalte ist
erscheinen. Ihre Wahl beeinflusst nicht nur die Art der in der Spalte enthaltenen Daten, sondern
auch die Art des Steuerelements, das in der Benutzeroberfläche dargestellt wird.
5. Ihre Wahl des Informationstyps, den Sie in der Spalte speichern wollen, erzeugt eine entsprechende
Auswahl zusätzlicher Einstellungen. Richten Sie diese ein und klicken Sie auf OK.
302 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Weitere Information über das Einrichten von Spalten und die Vielzahl verfügbarer Spaltenarten lesen
Sie nach im Microsoft Office SharePoint Server 2007 – Das Handbuch (Microsoft Press, 2007). Abbildung 4.7 zeigt die Gestaltung einer Dropdownliste, die Projektnamen enthält. Um die Abbildung lesbarer zu gestalten, habe ich sie bearbeitet, damit sie nur die verwendeten Optionen zeigt. Das Feld sollten
Sie unbedingt ausfüllen. Die Beschreibung erscheint im Formular zur Objektbearbeitung, das in Abbildung 4.13 gezeigt wird, unterhalb des Textfeldes für die Projektspalte.
Abbildung 4.7 Erstellen einer Spalte namens Project
Hinweis Für jede nicht selbsterklärende Eigenschaft geben Sie eine Beschreibung der Spalte ein.
Hinweis Standardwert für eine neue Auswahlspalte ist das erste Objekt in der Liste. Oftmals werden Sie
sicherstellen wollen, dass es keine Voreinstellung gibt, sodass der Benutzer selbst eine geeignete Auswahl
treffen muss. Ich empfehle, das Feld für den Standardwert leer zulassen wie in Abbildung 4.7.
Möglicherweise denken Sie voraus und betrachten Szenarien, in denen Sie mehrere Dokumentbibliotheken haben. Stellen Sie sich zum Beispiel vor, Sie hätten mehr als eine Bibliothek, die die Projektspalte erfordert. Es wäre quälend, wenn nicht geradezu entsetzlich, müssten Sie die gleichen Spalten in
jeder einzelnen Bibliothek einrichten. Sitespalten und Inhaltstypen, die weiter hinten in dieser und in
Lösung 4.3 besprochen werden, gestatten uns, Inhaltsoptionen für mehrere Listen, Bibliotheken oder
Websites zentral festzulegen.
4.2 Verwalten von Dokumentmetadaten mit Bibliotheks- und Websitespalten 303
Arbeiten mit benutzerdefinierten Spalten aus Microsoft Office-Clients
Wenn eine Dokumentbibliothek eine benutzerdefinierte Spalte enthält, kann der Benutzer die Eigenschaften eines Dokuments mithilfe mehrerer Verfahren eingeben, je nachdem, welche Microsoft
Office-Version benutzt wird. Microsoft Office 2003 und Microsoft Office 2007 arbeiten beide direkt
mit SharePoint-Produkten und -Technologieen zusammen.
Erstellen eines neuen Dokuments aus der Dokumentbibliothek mit Office-Clients
Wenn Sie mit der Schaltfläche Neu in der Symbolleiste der Dokumentbibliothek ein neues Dokument
erstellen und Microsoft Office 2003- oder 2007-Clients verwenden, sorgt der Client dafür, dass Sie die
Spalteneigenschaften wie erforderlich vervollständigen. Office 2003-Clients fordern Sie mithilfe des in
Abbildung 4.8 gezeigten Dialogfelds Webdateieigenschaften zur Eingabe auf, wenn Sie das Dokument
speichern.
Abbildung 4.8 Das Dialogfeld Webdateieigenschaften erscheint beim Speichern eines Dokuments durch einen Office
2003-Client in einer Dokumentbibliothek
Sie können auch die Dokumentinformationsseite im Aufgabenbereich Freigegebener Arbeitsbereich in
Office 2003-Clients zum Einstellen von Dokumenteigenschaften nehmen. Sie sehen den Aufgabenbereich in Abbildung 4.9. Um ihn zu erreichen, klicken Sie auf Extras und dann auf Freigegebener
Arbeitsbereich.
Von Office 2007-Clients werden Dokumenteigenschaften im Informationsfeld für Dokumente dargestellt, das Sie in Abbildung 4.10 sehen.
Hinweis Wenn das Fenster nicht erscheint, klicken Sie auf die Schaltfläche Microsoft Office, dann auf Vorbereiten und wählen danach Eigenschaften.
304 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Abbildung 4.9 Aufgabenbereich Freigegebener Arbeitsbereich, Dokumentinformationsseite
Abbildung 4.10 Informationsfeld für Dokumente in einem Office 2007-Client
Speichern eines Dokuments in einer Bibliothek mit benutzerdefinierten Spalten
aus Microsoft Office-Clients
Wenn Sie ein Dokument erstellen, ohne die Schaltfläche Neu der Dokumentbibliothek zu verwenden,
wissen Office-Clients nichts über die benutzerdefinierten Eigenschaften, bis Sie versuchen, das Dokument in der Dokumentbibliothek zu speichern. Von Office 2003-Clients werden Sie über das Dialogfeld
Webdateieigenschaften (siehe Abb.4.8) zur Eingabe aufgefordert. Erforderliche Eigenschaften müssen
eingetragen werden, oder Sie können das Dokument nicht in der Bibliothek speichern.
Wenn Sie hingegen mit Office 2007 versuchen, ein Dokument zu speichern, dem Eigenschaften fehlen,
erhalten Sie die Fehlermeldung der Abbildung 4.11, die klar und hilfreich ist – sie öffnet Ihnen gleichzeitig
das Informationsfeld für Dokumente. Dieses Feld (siehe Abb. 4.12) bietet Steuerelemente zum Eingeben
der fehlenden Eigenschaften an, wonach dann die Schaltfläche zum erneuten Speichern aktiviert wird.
Abbildung 4.11 Word 2007-Fehlermeldung beim Speichern eines Dokuments mit fehlenden erforderlichen
Eigenschaften
4.2 Verwalten von Dokumentmetadaten mit Bibliotheks- und Websitespalten 305
Abbildung 4.12 Office 2007-Informationsfeld für Dokumente mit erforderlichen Eigenschaften
Arbeiten mit Dokumenteigenschaften aus der
SharePoint-Webschnittstelle
Wenn Sie ein Dokument mit einer Vorgängerversion von Office 2003 oder mit einer anderen nicht mit
Windows SharePoint Services kompatiblen Anwendung erstellen, wird es durch Hochladen in der
Bibliothek gespeichert.
Hochladen eines Dokuments mit benutzerdefinierten Spalten
Wenn ein Benutzer ein Dokument in die Bibliothek hochlädt, fordert ihn die Website auf, die Dokumenteigenschaften zu vervollständigen, wie Abbildung 4.13 zeigt. Legt der Benutzer die mit einem roten
Stern markierten erforderlichen Eigenschaften nicht fest, verbleibt das Dokument ausgecheckt beim
Benutzer, der es hochladen wollte. Es ist für normale Benutzer nicht sichtbar, bis die Eigenschaften eingetragen sind und das Dokument eingecheckt wird. Dies ist einer von mehreren in dieser Lösungsgruppe
besprochenen Gründen für die empfohlene Vorgehensweise, das Auschecken von Dokumentbibliotheken zu fordern.
Abbildung 4.13 Erforderliche Spalten für ein hochgeladenes Dokument
Anzeigen der Dokumenteigenschaften
Dokumenteigenschaften können Sie mit dem Befehl Eigenschaften anzeigen im Bearbeitungsmenü des
Dokuments sichtbar machen. Die Objekt- bzw. Eigenschaftenseite listet jede Spalte wie in Abbildung 4.14
dargestellt auf.
306 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Abbildung 4.14 Die Eigenschaftenseite eines Dokuments
Verwenden des Bearbeitungsmenüs von SharePoint
Da hier erstmals vom Bearbeitungsmenü eines Dokuments die Rede ist, lassen Sie mich sicherstellen,
dass wir von derselben Sache reden. Sie führen die meisten Aktionen in einer Dokumentbibliothek entweder mit den Symbolleisten-Schaltflächen oder mit dem Bearbeitungsmenü aus. Es kann verwirrend
wirken, dass es kein als solches bezeichnetes Bearbeitungsmenü gibt. Es erscheint vielmehr, wenn Sie
mit dem Mauszeiger über ein Dokument fahren und auf den eingeblendeten Dropdownpfeil klicken. Die
Inhalte des Menüs ändern sich je nach dem von Ihnen gewählten Inhaltstyp und Ihren Berechtigungen in
der Bibliothek. Ein typisches Bearbeitungsmenü sehen Sie in Abbildung 4.15. Es ähnelt dem Kontextoder Rechtsklickmenü in Office-Anwendungen insofern, als die in ihm enthaltenen Befehle das ausgewählte Dokument beeinflussen.
Abbildung 4.15 Bearbeitungsmenü eines Dokuments
Hinweis Ein Tipp sei hier noch verraten: Sie müssen nicht auf den winzigen Dropdownpfeil an der äußersten
Kante des Links klicken, sondern können irgendwohin zwischen Text und Pfeil auf den freien Platz klicken. Die
Dropdownpfeile sind klein und auf den leeren Raum zielt es sich mit dem Mauszeiger viel leichter. Vielleicht bin
ich zu sehr an das Einhalten der Spielregeln gewöhnt und klicke nur auf Dinge, die ich sehe, doch ich habe
monatelang mit SharePoint gearbeitet, bevor mir klar wurde, dass ich das Bearbeitungsmenü mit einem Klick
irgendwohin rechts vom Namen des Dokuments erreichen konnte.
4.2 Verwalten von Dokumentmetadaten mit Bibliotheks- und Websitespalten 307
Bearbeiten von Dokumenteigenschaften
Zum Ändern von Dokumenteigenschaften klicken Sie auf den Befehl Eigenschaften Bearbeiten im
Bearbeitungsmenü des Dokuments oder auf die Schaltfläche Elemente bearbeiten auf der Eigenschaftenseite des Dokuments, wie vorher in Abbildung 4.14 gezeigt. Dort finden Sie Steuerelemente für jede
Eigenschaft, wobei erforderliche Eigenschaften mit einem Stern gekennzeichnet werden.
Abbildung 4.16 Formular zur Elementbearbeitung eines Dokuments
Ändern und Löschen von Bibliotheksspalten
Nachdem Sie jetzt gesehen haben, wie man Spalten erstellt und wie sie die Arbeitsweise des Benutzers
beeinflussen, können Sie sich eingehender mit dem Thema Spalten befassen. Zur Spaltenverwaltung
gehen Sie zurück zum Abschnitt Spalten auf der Anpassungsseite der Dokumentbibliothek. Sie können
jede Spalte anklicken, um ihre Änderungsseite zu öffnen. Dort gibt es gewisse Eigenschaften, die Sie
nicht ändern können, nachdem die Spalte erstellt worden ist – welche Eigenschaften das sind, hängt vom
Spaltentyp ab. Alle änderungsfähigen Eigenschaften stehen auf der Spaltenänderungsseite zur Verfügung. Sie können die Spalte auch durch einen Klick auf die Schaltfläche Löschen der Änderungsseite
beseitigen.
Umordnen von Spalten
Die Seiten zur Ansicht und Elementbearbeitung stellen die Spalten in der Reihenfolge dar, die von den
Einstellungen der Dokumentbibliothek festgelegt wird. Im Abschnitt Spalten auf der Anpassungsseite
der Dokumentbibliothek klicken Sie auf den Link zur Spaltensortierung und benutzen die Dropdownlisten, um die Spaltenanordnung zu ändern.
Wichtig Der Link Spaltensortierung wirkt auf die Seiten, mit denen Sie die Dokumentbearbeitungseigenschaften anzeigen können, wie etwa das in Abbildung 4.16 gezeigte Formular zur Elementbearbeitung. Die
Spaltenanordnung hat keinen Einfluss auf die Reihenfolge, in der die Spalten in Dokumentbibliotheksansichten erscheinen. Die Reihenfolge der Spalten in einer Bibliotheksansicht ist Teil der Ansichtsdefinition,
wie wir in Lösung 4.14 sehen werden.
308 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Verwalten von Websitespalten
Wir haben besprochen, wie Sie voreingestellte Spalten in einer Dokumentbibliothek erstellen, verwalten
und benutzen können, wobei wir das einfache Beispiel einer Projektspalte verwendet haben, die eine Auswahl ermöglicht – ein Dropdownlisten-Steuerelement. Vernünftigerweise sollte man erwarten, dass eine
derartige Spalte in mehreren Dokumentbibliotheken nützlich sein kann, vielleicht sogar mehreren Websites. Sitespalten verhalten sich ähnlich wie Bibliotheks- und Listenspalten, nur dass sie sich auf eine
gesamte Website und deren Unterwebsites erstrecken.
Erstellen von Websitespalten
Um eine Websitespalte zu erstellen, müssen Sie zuerst die Website festlegen, welche die Spalte enthalten
wird. Websitespalten stehen einer Website und ihren Unterwebsites zur Verfügung. Um eine solche Spalte
zu erstellen, verfahren Sie wie folgt:
1. Auf der Site, in der die Spalte enthalten sein soll, klicken Sie auf Websiteaktionen und wählen
Websiteeinstellungen.
2. Im Abschnitt Galerien klicken Sie auf Websitespalten.
3. Klicken Sie auf Erstellen.
4. Richten Sie die Einstellungen für die Spalte ein.
5. Klicken Sie auf OK.
Hinweis Es wird empfohlen, Websitespalten auf der Site in der höchsten Ebene der Websitesammlung
zu erstellen.
Einstellungen für eine Websitespalte sind identisch mit denen einer Liste oder Bibliotheksspalte, wie
früher in dieser Lösung beschrieben. Darüber hinaus müssen Sie eine Gruppe für die Spalte festlegen.
Gruppen sind nur ein Gliederungswerkzeug, das es erleichtert, die Gruppe zu lokalisieren, wenn sie
bearbeitet oder einer Liste bzw. Bibliothek hinzugefügt werden soll.
Verwenden einer Websitespalte in einer Liste oder Bibliothek
Um einer Liste oder Bibliothek eine Websitespalte hinzuzufügen, öffnen Sie die zugehörige Anpassungsseite und klicken im Abschnitt Spalten auf den Link zum Aus vorhandenen Websitespalten hinzufügen.
Verwenden Sie zum Auswählen einer Websitespalte die Dropdownliste Websitespalten auswählen aus
und das Listenfeld für Verfügbare Websitespalten. Dann klicken Sie auf die Schaltfläche Hinzufügen. Ein
Beispiel wird in Abbildung 4.17 gezeigt. Klicken Sie auf OK, wenn Sie alle Spalten ausgewählt haben,
die Sie der Website hinzufügen wollen.
Die neu hinzugefügte Websitespalte erbt ihre Eigenschaften von der Definition der Websitespalte. Sie
können die Eigenschaften anzeigen und verändern, indem Sie auf der Anpassungsseite der Liste oder
Bibliothek im Abschnitt Spalten auf den Spaltennamen klicken. Aus Gründen, die im nächsten Abschnitt
besprochen werden, ist es sehr zu empfehlen, dass Sie keine der Eigenschaften ändern. Wenn eine Spalte
für die Verwendung in einer Liste oder Bibliothek nicht geeignet erscheint, erstellen oder wählen Sie eine
andere Websitespalte oder erstellen Sie eine Listen- oder Bibliotheksspalte.
4.2 Verwalten von Dokumentmetadaten mit Bibliotheks- und Websitespalten 309
Abbildung 4.17 Die Seite Spalten aus Websitespalten hinzufügen
Ändern und Löschen von Websitespalten
Nach dem Erstellen einer Sitespalte können Sie in der Websitespaltensammlung auf den Link zu ihr
klicken. Daraufhin wird die Änderungsseite angezeigt, wo Sie die Spalte ändern oder löschen können.
Wenn Sie die Eigenschaften einer Sitespalte ändern, aktualisiert SharePoint standardmäßig sämtliche
Instanzen der Spalte in Listen und Bibliotheken. Fügen wir beispielsweise ein Projekt zur Auswahlliste
in unserer Projektspalte hinzu, wird das neue Projekt als Wahlmöglichkeit in allen Bibliotheken und
Listen in der Site angezeigt. Diese Aktualisierung können Sie verhindern, indem Sie im Abschnitt Listen
aktualisieren der Seite Websitespalte ändern die Option Nein aktivieren. Es wird jedoch empfohlen,
diese leistungsfähige Funktion nicht aus-, sondern einzuschalten.
Hinweis Die Fähigkeit, an einer Stelle eine Spalte zu verändern und diese Änderung in sämtlichen Listen
und Bibliotheken wiederzufinden, die diese Spalte verwenden, ist ein großer Vorteil von Websitespalten.
Wird eine Websitespalte in einer Liste oder Bibliothek verwendet, so erbt das dortige Exemplar seine
sämtlichen Eigenschaften von ihr. Sie können die Eigenschaften für diese spezielle Liste oder Bibliothek aufheben. Haben Sie beispielsweise eine Standardbeschreibung in der Sitespalte, verändern Sie sie
in der Liste oder Bibliothek so, dass sie spezifischer wird. Aber Ihre Änderungen an den Einstellungen
der Liste oder Bibliothek werden ersetzt, wenn Sie von der automatischen Aktualisierung von Listenund Bibliotheksspalten beim Ändern der Websitespalte Gebrauch machen. Daher rate ich davon ab,
Eigenschaften von Websitespalten in einer Liste oder Bibliothek zu überschreiben.
310 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Zusammenfassung
Bibliotheksspalten stellen die Datenfelder oder Metadaten bereit, mit denen Dokumente innerhalb der
Bibliothek dargestellt und beschrieben werden können. Metadaten ermöglichen uns, Ansichten zu
erstellen, die unsere Daten in nützlicher Weise sortieren, filtern und gruppieren (Lösung 4.14), und
diese Ansichten können zum Einrichten von Benachrichtigungen dienen (Lösung 4.9). Metadaten werden auch verwendet, um Suchvorgänge, Berichte und jede andere Kernfunktion der Dokumentverwaltung zu unterstützen. Wenn Sie Spalten erstellen, und vor allem, wenn Sie sie als erforderliche Spalten
einrichten, müssen Sie verstehen, wie Benutzer mit ihnen umgehen und wie sie diese Spalten mit den
Anwendungen ausfüllen, die sie beim Zugang zu SharePoint verwenden. Falls Metadaten für mehr als
nur eine Liste oder Bibliothek definiert werden müssen, sollte das auf Siteebene in Form von Sitespalten geschehen.
4.3 Erstellen von verwalteten Inhaltstypen
Die Lösung im Überblick
Typ
Verfahren
Funktionen und Werkzeuge
Website- und -Bibliotheks-Inhaltstypen von SharePoint
Zusammenfassung
Erstellen und Einrichten von Webite- und Bibliotheks-Inhaltstypen.
Vorteile
Zentrale Definition von Spalten (Metadaten), Einstellungen und
Workflows für die vollständige Beschreibung eines Inhaltstyps
zum Einsatz für eine oder mehrere Bibliotheken oder Listen in
einer oder mehreren Websites
Einführung
Inhaltstypen sind eines der leistungsfähigsten Werkzeuge von SharePoint. Ein Inhaltstyp stellt eine Definition für ein Objekt oder Dokument dar. Er umfasst sämtliche Eigenschaften (Spalten), Einstellungen
und Workflows, die der Inhaltstyp haben soll, wo auch immer er verwendet wird. Sie definieren ihn
einmal als Inhaltstyp der Website, um ihn dann in jeder Liste oder Bibliothek innerhalb der Site benutzen
zu können. Änderungen an der Definition des Inhaltstyps wirken sich auf jede seiner Instanzen aus.
Beispielsweise möchte sich Contoso.com über abgeschlossene Verträge und Vereinbarungen mit
Kunden, Partnern und Händlern auf dem Laufenden halten. Solche Verträge und Vereinbarungen
können in jeder Geschäftseinheit oder Abteilung zustande kommen, sodass sich die Unterlagen in
einer Anzahl von Bibliotheken befinden. Daher erstellt Contoso einen Inhaltstyp, der zusammenfasst,
was ein Vertrag ist, welche Vorlagen er benutzt und welche Metadaten (Spalten) zur Verwaltung von
Verträgen benötigt werden.
Erstellen eines Inhaltstyps
Um einen Inhaltstyp zu erstellen, müssen Sie zuerst bestimmen, welche Site ihn Inhaltstyp enthalten soll.
Nach seiner Erstellung können Sie einen Inhaltstyp innerhalb der Site und ihrer Untersites verwenden.
Mit folgenden Schritten definieren Sie einen Inhaltstyp:
4.3 Erstellen von verwalteten Inhaltstypen 311
Hinweis Es wird empfohlen, Inhaltstypen in der Website der höchsten Ebene der Websitesammlung zu
erstellen, um die Verwaltung der Inhaltstypen für diese Sammlung zu zentralisieren.
1. Klicken Sie auf Websiteaktionen und wählen Sie Websiteeinstellungen auf der Site, welche die Spalte
enthalten soll.
2. Im Abschnitt Galerien klicken Sie auf Websiteinhaltstypen.
3. Klicken Sie auf Erstellen.
4. Die Seite Neuer Websiteinhaltstyp wird wie in Abbildung 4.18 angezeigt.
Abbildung 4.18 Die Seite Neuer Websiteinhaltstyp
5. Füllen Sie Name und Beschreibung für den Inhaltstyp aus.
6. Wählen Sie den übergeordneten Inhaltstyp mithilfe der beiden Dropdownlisten Übergeordneten
Inhaltstyp auswählen aus und Übergeordneter Inhaltstyp.
In dieser Lösungsgruppe, wo Dokumentbibliotheken betrachtet werden, verwenden wir Dokumentinhaltstypen, um neue Inhaltstypen abzuleiten. Document und Bild sind selbsterklärend und bilden
die am häufigsten ausgewählten Optionen. Spalten für Dublin Core Metadaten sind eine Alternative.
Dabei handelt es sich um eine Standardsammlung von Metadaten, mit deren Hilfe Sie praktisch jede
Art von Inhalten beschreiben können. Der einzige Nachteil von Dublin Core-Spalten ist, dass es sich
um 15 Spalten handelt, was mehr sein dürfte, als für Ihren Inhaltstyp wirklich erforderlich ist.
7. Wählen Sie eine vorhandene Gruppe oder erstellen Sie eine neue für den Inhaltstyp.
Gruppen sind nur ein Organisationshilfsmittel, das die Lokalisierung des Inhaltstyps erleichtert,
wenn Sie ihn bearbeiten oder zu einer Liste oder Bibliothek hinzufügen. Die Standardgruppe für
312 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
neue Websiteinhaltstypen bei SharePoint ist Benutzerdefinierte Inhaltstypen. Allerdings werden
Spaltengruppen, wenn Sie mit ihnen arbeiten, in alphabetischer Reihenfolge dargestellt. Ich empfehle daher, eine Gruppe zu erstellen, die am Kopf oder am Ende von Inhaltstyplisten erscheint,
wie z.B. _ Benutzerdefinierte Inhaltstypen.
8. Klicken Sie auf OK.
Die Seite Websiteinhaltstyp wird wie in Abbildung 4.19 angezeigt.
Abbildung 4.19 Die Seite Websiteinhaltstyp
Die Seite sieht so ähnlich wie eine Bibliotheks- oder Listeneinstellungsseite aus, nicht wahr? Das ist
kein Zufall! Listen oder Bibliotheken sind nichts weiter als Behälter für ihre Inhalte. Jede Liste oder
Bibliothek hat standardmäßig einen Inhaltstyp, durch den die Einträge oder Dokumente für sie definiert
werden, sowie Einstellungen der Containerebene, z.B. Berechtigungen, RSS-Einstellungen und
Ansichten.
Von der Einstellungsseite für den Websiteinhaltstyp aus können Sie den Inhaltstyp einschließlich der
folgenden Elemente verwalten:
Name, Beschreibung und Gruppe Mit diesen Einstellungen können Sie die Eigenschaften ändern,
die dem Inhaltstyp bei seiner Erstellung zugewiesen wurden.
Erweiterte Einstellungen Diese Einstellungen definieren die mit dem Inhaltstyp verknüpfte Dokumentvorlage. In Lösung 4.4 wird das noch ausführlicher besprochen.
4.3 Erstellen von verwalteten Inhaltstypen 313
Workfloweinstellungen Mithilfe dieser Einstellungen richten Sie mit dem Inhaltstyp verknüpfte
Workflows ein.
Diesen Websiteinhaltstyp löschen Diese Einstellung erklärt sich von selbst.
Es ist auch möglich, Sitespalten so zu verwalten, dass Sie mit dem Inhaltstyp verknüpfte Metadaten oder
Eigenschaften hinzufügen können. Abbildung 4.19 zeigt einige Beispiele von definierten Eigenschaften
(Spalten) für den Inhaltstyp Contract. Jede mit einem Inhaltstyp verknüpfte Spalte ist eine Sitespalte.
Hinzufügen von Inhaltstypen zu einer Liste oder Bibliothek
Nachdem Sie Ihre Inhaltstypen definiert haben, können Sie sie in Ihren Bibliotheken und Listen verwenden. Führen Sie dazu folgende Schritte aus:
1. Auf der Anpassungsseite der Liste oder Bibliothek klicken Sie auf den Link Erweiterte Einstellungen.
2. Im Abschnitt Inhaltstypen aktivieren Sie Ja unter Verwaltung von Inhaltstypen zulassen.
3. Klicken Sie auf die Schaltfläche OK.
Die Einstellungsseite zeigt nun den Abschnitt Inhaltstypen, wie Sie in Abbildung 4.20 sehen können.
Abbildung 4.20 Einstellungsseite mit dem Abschnitt Inhaltstypen
Verwenden Sie die Befehle im Abschnitt Inhaltstypen, um einen Inhaltstyp hinzuzufügen. Um einen
Inhaltstyp zu entfernen, der in der Liste oder Bibliothek bereits vorhanden ist, klicken Sie auf seinen
Namen und dann auf den Link Diesen Inhaltstyp löschen. Falls Ihre Bibliothek mehr als einen Inhaltstyp enthält, können Sie die Reihenfolge verändern, in der sie im Schaltflächenmenü Neu angezeigt
werden, und Sie können den Standardinhaltstyp einstellen, der verwendet wird, wenn der Benutzer
einfach auf Neu klickt.
314 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Grundlagen von untergeordneten Website- und Listeninhaltstypen
Inhaltstypen sind hierarchisch gegliedert. Wenn Sie einen Standardinhaltstyp erstellen, wie z. B. den von
uns früher erstellten Typ Contract (siehe Abbildung 4.19), wird er von einem übergeordneten Inhaltstyp
(zumeist Dokument oder Bild) abgeleitet. Eigenschaften des übergeordneten werden von dem neuen
untergeordneten Inhaltstyp geerbt. Beim Erstellen eines Inhaltstyps, der auf einem übergeordneten Typ
beruht, ist es möglich, die vorhandene Definition mit zusätzlichen Spalten, Einstellungen wie z.B. einer
Vorlage und mit Workflows zu erweitern. Wir haben zu unserem Inhaltstyp Contract verschiedene Spalten hinzugefügt, die in seinem übergeordneten Inhaltstyp Document nicht enthalten waren.
Um das Beispiel einen Schritt weiter zu verfolgen, nehmen wir an, Sie haben einen Inhaltstyp Contract
erstellt und legen einen anderen davon abgeleiteten Typ für Kaufvereinbarungen über einen konkreten
Wert an. Sie nennen diesen neuen Inhaltstyp High Value Contracts und fügen geeignete Spalten hinzu,
etwa über den Wert des Vertrags und Hinweise, wie er abgeschlossen wurde.
Änderungen am Inhaltstyp übertragen sich auf untergeordnete Inhaltstypen. Bleiben wir bei unserem
Vertragsbeispiel und nehmen wir an, Sie wollen eine Spalte zum Inhaltstyp hinzufügen, um anzugeben,
wer den Vertrag oder die Vereinbarung unterzeichnet hat. Wenn Sie die Unterzeichnet von-Spalte zum
Inhaltstyp Contract hinzufügen, können Sie untergeordnete Inhaltstypen wie den der High Value Contracts aktualisieren.
Die Ausbreitung von Aktualisierungen auf untergeordnete Inhaltstypen ist in den meisten Szenarien
wertvoll, weil sie einen sehr guten Weg zur Verwaltung von Inhaltsdefinitionen aufzeigt. Wenn Sie
jedoch eine Einstellung oder Spalte in einem untergeordneten Inhaltstyp verändert haben, werden Ihre
Anpassungen überschrieben, falls Sie einen übergeordneten Inhaltstyp ändern und festlegen, dass
SharePoint Aktualisierungen an untergeordneten Inhaltstypen vornimmt.
Wichtig Es gibt einen feinen Unterschied: Aktualisierungen von einem übergeordneten auf einen untergeordneten Inhaltstyp überschreiben Änderungen, die Sie an letzterem vorgenommen haben. Haben Sie aber
Spalten zum untergeordneten Typ hinzugefügt, so werden diese Spalten, die nur den untergeordneten Inhaltstyp betreffen, weder geändert noch entfernt.
Wenn Sie einen Inhaltstyp zu einer Liste oder Bibliothek hinzufügen, erstellen Sie genauer gesagt einen
neuen Inhaltstyp, der vom Siteinhaltstyp abgeleitet ist. Anders formuliert ist jeder Listen- oder Bibliotheksinhaltstyp ein Abkömmling seines Siteinhaltstyps. Der Listen- oder Bibliotheksinhaltstyp steht
natürlich nur im Rahmen dieser Liste oder Bibliothek zur Verfügung. Siteinhaltstypen sind auf die Site
und ihre Untersites beschränkt.
Daher betreffen die folgenden Regeln sowohl die Inhaltstypenhierarchie als auch Aktualisierungen:
„ Sie können Spalten, Einstellungen und Workflows ändern.
„ Sie können Spalten und Workflows hinzufügen.
„ Wenn Änderungen am übergeordneten (Site-)Inhaltstyp untergeordnete Listen- und Bibliotheksinhaltstypen aktualisieren, werden Änderungen (aber keine Ergänzungen), die Sie vorher an Bibliotheks- oder Listeninhaltstyp vorgenommen haben, überschrieben.
Wichtig Die SharePoint-Benutzerschnittstelle lässt nicht unmittelbar erkennen, dass der Inhaltstyp, den Sie
zu einer Bibliothek hinzufügen, tatsächlich ein untergeordneter Inhaltstyp ist und nicht nur eine Referenz auf
einen Siteinhaltstyp.
4.3 Erstellen von verwalteten Inhaltstypen 315
Schreibschutz für einen Inhaltstyp
Sie können jeden Inhaltstyp – ob auf der Site- oder Listen/Bibliotheksebene – mit Schreibschutz versehen. Diese Einstellung befindet sich auf der Seite Erweiterte Einstellungen des Inhaltstyps. Wenn
ein Inhaltstyp schreibgeschützt ist, können keine Änderungen vorgenommen werden – Sie können
Spalten, Einstellungen oder Workflows weder hinzufügen noch entfernen oder verändern. Benutzer
mit der Berechtigung zum Bearbeiten des Inhaltstyps können die Schreibschutzeinstellung entfernen,
um Änderungen vorzunehmen. Daher ist die Einstellung mehr eine Sicherheitsmaßnahme, damit sich
Änderungen am übergeordneten Inhaltstyp nicht auf den untergeordneten übertragen. Der Schreibschutz ist besonders wichtig, wenn sich Workflows oder anderer Code auf die Definition eines Inhaltstyps stützen, weil er sicherstellt, dass Änderungen des Inhaltstyps, die andere Prozesse beeinträchtigen könnten, vermieden werden.
Wenn Sie einen untergeordneten Inhaltstyp mit Schreibschutz versehen, rufen Änderungen an übergeordneten Inhaltstypen, die eine Aktualisierung von Abkömmlingen auslösen würden, eine Fehlermeldung hervor: Zwar wird der übergeordnete Inhaltstyp erfolgreich aktualisiert, jedoch keines der
schreibgeschützten untergeordneten Objekte. Die Ausnahme von dieser Regel bildet die Schreibschutzeinstellung selbst. Wenn sie für ein übergeordnetes Objekt geändert wird, überträgt sich das auf
die untergeordneten Objekte.
Hinweis Indem Sie den Schreibschutz für ein übergeordnetes Objekt ein- und dann wieder ausschalten,
können Sie wirkungsvoll an allen untergeordneten Objekten Änderungen ermöglichen und dann eine Änderung am übergeordneten Objekt vornehmen, die sich erfolgreich auf alle Abkömmlinge überträgt. Die einzige
Schwierigkeit ist dann, zu den einzelnen untergeordneten Inhaltstypen zu wechseln, die schreibgeschützt
sein sollen, und die Einstellung zu reaktivieren.
Das mag kompliziert klingen, doch ist es das häufig auch. Ich empfehle, den Schreibschutz für ganze
Zweige von Inhaltstypen einzuschalten – beginnend mit dem übergeordneten Inhaltstyp, den Sie erstellen. Verwalten Sie die Umgebung möglichst so, dass Situationen vermieden werden, in denen untergeordnete Inhaltstypen schreibgeschützt sind, übergeordnete jedoch nicht.
Ändern Sie keine standardmäßigen SharePoint-Inhaltstypen
Ändern Sie keine Einstellungen, Spalten oder Workflows an irgendeinem der standardmäßigen SharePoint-Inhaltstypen. Wenn Sie meinen, Sie müssten einen solchen Typ ändern, überprüfen Sie zuvor, ob
Sie Ihre Ziele nicht durch einen untergeordneten Inhaltstyp erreichen können, der vom Standardinhaltstyp abgeleitet ist. Ist das nicht möglich, so konsultieren Sie das SharePoint Software Development Kit
und alle anderen tiefer gehenden technischen Informationen über SharePoint, um die Auswirkungen
Ihrer beabsichtigten Änderung voll zu überblicken.
Zusammenfassung
Mit dem Erstellen von Inhaltstypen für eine Sitesammlung können Sie den Inhalt definieren, den Sie in
Bibliotheken und Listen unterstützen wollen. Die zentralisierte und hierarchische Beschaffenheit von
Inhaltstypen bietet die Grundlage für eine wirkungsvolle Inhalts- und Dokumentenverwaltung.
316 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
4.4 Einrichten mehrerer Vorlagen
für eine Dokumentbibliothek
Die Lösung im Überblick
Typ
Verfahren
Funktionen und Werkzeuge
SharePoint-Inhaltstypen und -Dokumentbibliotheken
Zusammenfassung
Sie ermöglichen die Anzeige mehrerer Vorlagen im Schaltflächenmenü Neu einer Dokumentbibliothek.
Vorteile
Benutzer können neue Dokumente nach geeigneten Vorlagen für
die Bibliothek erstellen.
Einführung
Viele Dokumentbibliotheken sind nicht auf einen Dokumenttyp spezialisiert. Wenn eine Bibliothek das
Erstellen, Speichern und Verwalten mehrerer Dokumenttypen erlauben soll, wird man vernünftigerweise
von der Schaltfläche Neu Hilfe bei der Erstellung jedes unterstützten Dokuments erwarten. In dieser
Lösung verwenden wir Inhaltstypen zu diesem Zweck.
Inhaltstypen sind nicht nur wegen der mit ihnen verknüpften Spalten von Nutzen. Jeder Inhaltstyp definiert auch die Vorlagen, die beim Erstellen eines Dokuments von diesem Typ verwendet werden sollen.
Vielleicht erkennen Sie bereits, worauf wir hinauswollen:
„ Erstellen einer Dokumentbibliothek für Vorlagen
„ Erstellen eines Inhaltstyps für jede Dokumentklasse
„ Einrichten einer Bibliothek zur Unterstützung der Inhaltstypen
Erstellen einer zentralen Bibliothek für Vorlagen
Erstellen Sie zunächst eine Bibliothek, um die Vorlagen selbst bereitzuhalten. Ich empfehle, eine
Dokumentbibliothek auf der höchsten Ebene einer Sitesammlung anzulegen. Weil diese Bibliothek
im Hintergrund verwendet wird, sollten Sie sie nicht auf der Schnellstartleiste anzeigen lassen – das
würde zu Verwirrung bei den Benutzern darüber führen, von wo aus sie ein neues Dokument anlegen
sollen. Sorgen Sie dafür, dass die Leseberechtigung für alle Benutzer zugelassen wird, die eine der
Vorlagen anfordern. Laden Sie Ihre Vorlagen in die Bibliothek hoch. Vorherige Lösungen beschreiben
die Einzelschritte zum Erstellen einer Bibliothek und zum Hochladen von Dokumenten.
Diesen Schritt können Sie auch weglassen. Wie Sie in der nächsten Lösung sehen, können Sie beim
Erstellen eines Inhaltstyps das Hochladen einer Vorlage auswählen. SharePoint speichert auf diese
Weise hochgeladene Vorlagen in einem versteckten Ordner, _cts, auf dieser Site ab. Der _cts-Ordner
funktioniert daher etwa wie eine Vorlagenbibliothek. Ich ziehe es allerdings vor, wenn meine Vorlagen
für Mitarbeiter und Administratoren leicht zugänglich zur Bearbeitung und sichtbar sind.
4.4 Einrichten mehrerer Vorlagen für eine Dokumentbibliothek 317
Festlegen des Inhaltstyps für eine Vorlage
In der Lösung 4.3 haben wir das Vorgehen beim Erstellen von Inhaltstypen besprochen und einen für
Verträge angelegt. Bei den erweiterten Einstellungen für einen Inhaltstyp können Sie den URL für seine
Vorlage angeben:
1. Klicken Sie Websiteaktionen an und wählen Sie Websiteeinstellungen.
2. Im Abschnitt Galerien der Seite Websiteeinstellungen klicken Sie auf den Link Websiteinhaltstyp.
3. Erstellen Sie einen neuen Inhaltstyp (Einzelheiten dazu in Lösung 4.3) oder klicken Sie auf den
Namen eines vorhandenen Inhaltstyps, um diesen zu bearbeiten.
4. Auf der Einstellungsseite für den Websiteinhaltstyp klicken Sie auf den Link Erweiterte Einstellungen.
5. Im Abschnitt Dokumentvorlagen, den Abbildung 4.21 zeigt, tragen Sie den URL zur Vorlage ein.
Abbildung 4.21 Die Dokumentvorlageneinstellung für einen Inhaltstyp
Hinweis In diesem Schritt können Sie eine Vorlage hochladen, allerdings heben Sie keinen Einfluss
darauf, wo diese Vorlage gespeichert wird. Das geschieht in einem versteckten Ordner namens }_cts.
Zur Erleichterung von Zugriff und Bearbeitung ziehe ich es vor, eine zentrale Vorlagenbibliothek zu unterhalten, vor allem in WSS-Implementierungen, sodass ich die Vorlagen für Inhaltstypen verwenden kann,
die in anderen Websitesammlungen und auf anderen Servern definiert sind. Der vorige Abschnitt liefert
Handreichungen zum Erstellen einer zentralen Vorlagenbibliothek.
6. Klicken Sie auf OK.
Konfigurieren einer Bibliothek zur Unterstützung der Inhaltstypen
In der Dokumentbibliothek, in der Sie den Inhaltstyp verfügbar haben wollen, öffnen Sie die Einstellungen der Bibliothek, klicken auf den Link Erweiterte Einstellungen und wählen die Option Ja für
Verwaltung von Inhaltstypen zulassen im Abschnitt Inhaltstypen. Dann fügen Sie auf der Anpassungsseite der Dokumentbibliothek Siteinhaltstypen zur Bibliothek hinzu. Die Einzelheiten hierzu wurden in
Lösung 4.3 vorgestellt. Wenn Sie fertig sind, zeigt die Schaltfläche Neu alle Inhaltstypen, die Sie zu der
Bibliothek hinzugefügt haben. Das sehen Sie in Abbildung 4.22.
Die Reihenfolge der Inhaltstypen im Schaltflächenmenü Neu wird durch die Anordnung bestimmt, in
der sie in den Einstellungen der Dokumentbibliothek aufgeführt werden. Um sie zu ändern, klicken Sie
auf den Link Reihenfolge der neuen Schaltflächen und Standardinhaltstyp ändern. Der zuerst aufgeführte Inhaltstyp ist der Standardinhaltstyp der Bibliothek. Er wird verwendet, falls der Benutzer direkt
auf die Schaltfläche Neu klickt, anstatt aus dem Dropdownmenü der Schaltfläche auszuwählen.
318 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
Abbildung 4.22 Die Schaltfläche Neu mit mehreren Inhaltstypen
Zusammenfassung
Damit eine Dokumentbibliothek mehrere Vorlagen anzeigen kann, müssen Sie für jede Vorlage einen
damit verknüpften Inhaltstyp erstellen. Die Speicherung der Vorlagen in einer zentralen Bibliothek
erleichtert für Vorlagenbearbeiter den Zugriff auf diese Vorlagen sowie ihre Bearbeitung.
4.5 Hinzufügen, Speichern und Hochladen von Dokumenten
in einer Dokumentbibliothek
Die Lösung im Überblick
Typ
Verfahren
Funktionen und Werkzeuge
SharePoint-Dokumentbibliotheken, Microsoft Office-Anwendungen, Windows Explorer, E-Mail
Zusammenfassung
Sie lernen die Möglichkeiten kennen, eine Dokumentbibliothek
zu füllen: über die Webschnittstelle, aus Office-Anwendungen
heraus und auch durch E-Mails.
Vorteile
Benutzer können Dokumente mittels ihnen vertrauter Anwendungen und Schnittstellen zu SharePoint-Bibliotheken hinzufügen,
wodurch sich Verwendbarkeit und Akzeptanz der Bibliothek verbessern.
Einführung
Die Schaltflächen Neu und Hochladen einer Dokumentbibliothek ermöglichen Ihnen, Dokumente
hinzuzufügen, was Sie zusätzlich auch bequem mittels einfacher Kopier- und Einfügeoperationen in
Windows Explorer, Office-Anwendungen und durch E-Mail-Anhänge erreichen können.
Erstellen eines neuen Dokuments mit der Schaltfläche Neu
Die Schaltfläche Neu wird angezeigt, wenn Sie die Berechtigung zum Elemente hinzufügen für die
Dokumentbibliothek haben und einer der folgenden Punkte zutrifft:
„ Für die Dokumentbibliothek ist (in den erweiterten Einstellungen) eine Vorlage angegeben.
„ Die Dokumentbibliothek hat einen oder mehr Inhaltstypen mit Vorlagen.
„ Die Dokumentbibliothek gestattet (in den erweiterten Einstellungen) die Erstellung neuer Ordner.
4.5 Hinzufügen, Speichern und Hochladen von Dokumenten in einer Dokumentbibliothek
319
Wie wir in den Lösungen 4.3 und 4.4 gesehen haben, können Sie eine Dokumentbibliothek mit mehreren
Inhaltstypen einrichten, wobei jeder Inhaltstyp, der eine Vorlage hat, im Schaltflächenmenü Neu wie in
Abbildung 4.22 als Neu\<Inhaltstyp> erscheint. Wenn ein Dokument in einer Dokumentbibliothek
erstellt wird, so wird die mit der Vorlage verknüpfte Anwendung auf dem Client aufgerufen. Falls diese
dem Client nicht zur Verfügung steht, wird eine Fehlermeldung angezeigt. Ist die Anwendung installiert
und kompatibel mit WSS 2.0+ (z.B. Office 2003 oder Office 2007), so behält sie die Information bei,
dass das Dokument in der Dokumentbibliothek gespeichert werden soll, weshalb bei Auswahl des
Befehls Speichern das Dialogfeld auf die Bibliothek als Standardort zum Speichern des Dokuments
eingestellt wird.
Hochladen von Dokumenten mit den Befehlen unter Hochladen
Das Menü Hochladen ist völlig unkompliziert. Es enthält zwei Befehle: Dokument hochladen und
Mehrere Dokumente hochladen.
Hochladen eines Dokuments
Wenn Sie Dokument hochladen auswählen oder direkt auf die Schaltfläche Hochladen klicken, öffnet
sich eine Webschnittstelle, von der aus Sie nach dem Dokument suchen können, das Sie hochladen wollen. Wenn eine Dokumentbibliothek mehrere Inhaltstypen enthält, wird der Benutzer aufgefordert, den
Inhaltstyp auszuwählen, nachdem ein Dokument hochgeladen wurde. Ebenso wird er gebeten, mit der
Bibliothek oder dem Inhaltstyp verknüpfte Eigenschaften (Spalten) zu vervollständigen.
Hochladen mehrerer Dokumente
Wenn Sie geeignete WSS 2.0+-Clientsoftware installiert haben, z.B. Office 2003 oder Office 2007,
steht der Befehl Mehrere Dokumente hochladen zur Verfügung. Mit diesem Befehl können Sie eines
oder mehrere Dokumente aus einem einzelnen Ordner Ihres Systems auswählen und zusammen hochladen.
Hinweis Sie können den Befehl Mehrere Dokumente hochladen nicht zur Auswahl verschiedener Elemente
aus getrennten Ordnern verwenden – er ermöglicht lediglich die Auswahl mehrerer Dokumente aus einem
einzelnen Ordner. Achten Sie darauf, Ihre Benutzer über diesen feinen Unterschied zu informieren.
Bei der Verwendung von Mehrere Dokumente hochladen wird der Benutzer nicht aufgefordert, den
Inhaltstyp auszuwählen oder Dokumenteigenschaften festzulegen.
Hinweis Nach Aufnahme der Dokumente in die Bibliothek müssen ihre Eigenschaften wahrscheinlich vervollständigt werden. Darüber hinaus müssen Sie Dokumente mit den korrekten Inhaltstypen verknüpfen,
wenn die Bibliothek mehrere Typen umfasst. SharePoint erzwingt die Eingabe erforderlicher Eigenschaften
für hochgeladene Dokumente. Lesen Sie dazu in Lösung 4.7 auf Seite 324 wichtige Handreichungen über
das Hochladen mehrerer Dokumente.
Hochladen bestimmter Inhaltstypen
Ein weniger gut bekannter Kunstgriff besteht darin, Benutzern eine Möglichkeit zur Auswahl der Inhaltstypen anzubieten, die sie hochladen wollen. Erreicht wird das dadurch, dass ein Inhaltstyp ohne Vorlagen bereitgestellt wird. Wenn für einen Inhaltstyp in einer Bibliothek keine Vorlage angegeben wurde,
ändert sich der Befehl der Schaltfläche Neu wie in Abbildung 4.23 gezeigt auf Eine neue <Inhaltstyp>
hochladen. Obwohl der Vorgang mit der Neu- anstelle der Hochladen-Schaltfläche beginnt (sicher eine
Eigenart der Benutzerschnittstelle, die Sie Ihren Benutzern verdeutlichen sollten), verläuft der Rest wie
320 Lösungsgruppe 4: Dokumentverwaltung und Zusammenarbeit mit SharePoint
beim Hochladen eines Dokuments, außer dass die Benutzer den Inhaltstyp des Dokuments nach dem
Hochladen nicht mehr auszuwählen brauchen.
Abbildung 4.23 Ein Inhaltstyp ohne Vorlage erscheint als Eine neue <Inhaltstyp> hochladen
Hinweis Die Möglichkeit, Benutzern die Option Eine neue <In

Documentos relacionados