distreg

Werbung
Verteilen von Registrierungsänderungen
(Engl. Originaltitel: Distributing Registry Changes)
Kathy Ivens
Dieser Artikel wurde im Windows 2000-Magazin, Ausgabe April 2001 (englischsprachig), und Windows 2000Magazin, Ausgabe Juli 2001, veröffentlicht.
Drei Wege zur Durchführung von Registrierungsänderungen in Systemen im Netzwerk - Sie brauchen nicht
einmal Ihren Schreibtisch zu verlassen
Immer wenn ich mich zum Verwenden von Registrierungsänderungen im Rahmen der Problembehandlung
äußere, wird mir die gleiche Frage gestellt: "Wie können Registrierungsänderungen auf mehreren Computern
durchgeführt werden, ohne den Standort jedes einzelnen Computers aufzusuchen?" Registrierungsänderungen
können auf drei Arten im Netzwerk verteilt werden: mit importierten Registrierungsdateien (REG), mit dem
Programm regini.exe oder über Gruppen- oder Systemrichtlinien.
Bevor diese Optionen näher erläutert werden, muss ich jedoch die übliche Warnung aussprechen:
Manipulationen an der Registrierung sind gefährlich. Probieren Sie die Vorschläge nur aus, wenn Sie mit der
Registrierung vertraut und ein Hauptbenutzer sind. Bevor Sie beginnen, können Sie mithilfe von regedit.exe als
Sicherungsmaßnahme einen Schlüssel exportieren. Die exportierte Datei besitzt die Erweiterung REG. Durch
Reimportieren der Datei in die Registrierung kann der Schaden schnell behoben werden, wenn die Manipulation
des Schlüssels Probleme verursacht. (Auch wenn Sie die Bearbeitung mit regedt32 vorziehen, sollten Sie
zunächst regedit öffnen und den Schlüssel exportieren, an dem Sie Änderungen vornehmen möchten. Die
Export- und Importfunktionen von regedit sind problemloser verwendbar als die äquivalenten
Sicherungsverfahren von regedt32.)
Zahlreiche Benutzer- und Computereinschränkungen können über den Gruppenrichtlinien-Editor (GPE in
Windows 2000) oder den Systemrichtlinien-Editor (SPE in Windows NT und Windows 9x) angewendet werden.
In diesem Artikel wird davon ausgegangen, dass die Änderungen, die Sie durchführen möchten, noch nicht an
den Ressourcen vorgenommen wurden und dass Registrierungsänderungen die beste Möglichkeit darstellen.
Option 1: Erstellen oder Exportieren von Registrierungsdateien
Sie können REG-Dateien verteilen, die Benutzer dann in die Registrierung der Zielcomputer importieren
können. Hierfür müssen Sie die REG-Dateien lediglich erstellen (oder mit regedit exportieren und dann
bearbeiten) und anschließend verteilen. (Registrierungsdateien haben jedoch einen bedeutenden Mangel: Sie
können keine Daten in der Registrierung löschen. Weitere Informationen zu dieser Einschränkung finden Sie in
dem Kurzartikel "Nachteile von Registrierungsdateien".) Formatieren Sie den Inhalt von Registrierungsdateien
wie folgt:
<RegistryEditorVersion>
<Leerzeile>
[<RegistryPath>]
"<DataItemName>"="<Dataype>:
<DataValue>"
RegistryEditorVersion ist die verwendete Version von regedit.exe. Dieser Eintrag kennzeichnet die Datei als
Registrierungsdatei. Regedit fügt diese Information automatisch hinzu, wenn Sie eine REG-Datei exportieren.
Wenn Sie eine REG-Datei erstellen, müssen Sie die Informationen jedoch manuell eingeben. Für Windows 2000
ist RegistryEditorVersion der Windows-Registrierungs-Editor, Version 5.00. Für Windows NT 4.0 lautet die
Version Regedit4.
Leerzeile gibt den Anfang eines neuen Schlüsselpfades an. (Jeder einzelne Schlüssel oder Unterschlüssel ist ein
neuer Schlüsselpfad.) Wenn ein Schlüssel exportiert wird, wird in der REG-Datei vor jedem Schlüssel oder
Unterschlüssel eine Leerzeile angezeigt. Wenn die REG-Datei mehrere Schlüssel enthält, können Ihnen
Leerzeilen bei der Überprüfung und Problembehandlung des Inhalts helfen. (In den Anweisungen von Microsoft
ist angegeben, dass die Leerzeile notwendig ist. Als ich beim Erstellen von REG-Dateien unabsichtlich die
Leerzeilen vergaß, wurden die Dateien dennoch ordnungsgemäß zusammengeführt.)
RegistryPath ist der Pfad des Schlüssels, der die Werte enthält, die Sie importieren. Schließen Sie den Pfad in
eckige Klammern ein, und trennen Sie jede Hierarchieebene durch einen umgekehrten Schrägstrich,
beispielsweise [HKEY_LOCAL_ MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]. Eine
REG-Datei kann mehrere Schlüsselpfade enthalten.
Wenn die unterste Ebene der Hierarchie, die Sie in der Pfadanweisung angeben, in der Registrierung nicht
vorhanden ist, erstellen Sie einen neuen Unterschlüssel. Der Inhalt von Registrierungsdateien wird in der
Reihenfolge an die Registrierung gesendet, in der Sie ihn eingeben. Wenn Sie also einen neuen Schlüssel und
einen Unterschlüssel darunter erstellen möchten, stellen Sie sicher, dass Sie die Zeilen in der richtigen
Reihenfolge eingeben. (Es gibt jedoch nur einen Grund für die Erstellung neuer Schlüssel: Sie haben Software
erstellt, die nach diesen Schlüsseln sucht. Das Erstellen neuer Schlüssel zählt nicht zu den Aufgaben im Rahmen
der Systemwartung.)
DataItemName ist das Datenelement, das Sie importieren möchten. Wenn ein Datenelement in der Datei in der
Registrierung nicht vorhanden ist, fügt die REG-Datei das Element (mit seinem Wert) hinzu. Ist das
Datenelement vorhanden, überschreibt der Wert in der REG-Datei den vorhandenen Wert. Der Name des
Datenelements wird in Anführungszeichen eingeschlossen. Unmittelbar auf den Namen des Datenelements folgt
ein Gleichheitszeichen (=).
DataType (d. h. der Datentyp des importierten Elements) folgt direkt auf das Gleichheitszeichen, es sei denn, der
Datentyp ist REG_SZ (REG_SZ-Typen sind Zeichenfolgen). Bei allen Datentypen mit Ausnahme von REG_SZ
folgt sofort nach dem Datentyp ein Doppelpunkt. Tabelle 1 enthält die Einträge für fünf übliche Datentypen. (Es
gibt zwar neun Datentypen, bei den Typen in Tabelle 1 handelt es sich jedoch um die Typen, die für die
Systemwartung verwendet werden.) Informationen zu den Datentypen finden Sie in dem Kurzartikel
"Datentypen der Registrierung" (siehe unten).
Tabelle 1 Datentypeinträge für Registrierungsdateien
Datentyp
Registrierungsdatei Datentypeintrag
REG_BINARY
hex
REG_DWORD
dword
REG_EXPAND_SZ
hex(2)
REG_MULTI_SZ
hex(7)
REG_SZ
Keine
DataValue (d. h. der Wert, den Sie importieren möchten) folgt direkt auf den Doppelpunkt und muss im
entsprechenden Format vorliegen (d. h. als Zeichenfolge oder im Hexadezimalformat). Verwenden Sie das
Hexadezimalformat für binäre Datenelemente. Für den gleichen Schlüsselpfad können mehrere
Datenelementzeilen eingegeben werden. Beispielsweise geben die Datenelementzeilen
"GroupPolicyRefreshTime"=dword:
00000014
"GroupPolicyRefreshTimeOffset"=
dword:0000000f
die Hexadezimaleinträge wieder, die diese Datenelemente erfordern: 00000014 ist das hexadezimale Äquivalent
von 20, und 0000000f ist das hexadezimale Äquivalent von 15. Wenn Sie nicht mit hexadezimalen oder
sonstigen nicht lesbaren Daten vertraut sind, erstellen Sie nur REG-Dateien für Elemente, die weder im binären
noch im Hexadezimalformat vorliegen.
Die Registrierung enthält keinen booleschen Datentyp (obwohl dies sinnvoll wäre). Der boolesche Datentyp ist
normalerweise ein Element vom Typ DWORD (4 Bytes) oder Zeichenfolge (2 Bytes) in der Registrierung.
Wenn Sie die REG-Datei zum Ändern von Werten verwenden, überprüfen Sie das Datenelement in der
Registrierung, um sicherzustellen, dass der Datentyp übereinstimmt. In der REG-Datei muss nicht die
vollständige Zeichenfolge angegeben werden; bei allen numerischen Werten können die führenden Nullen
weggelassen werden.
Nachteile von Registrierungsdateien
Registrierungsdateien (REG) können keine Daten in der Registrierung löschen: Wenn ein ungültiger Schlüssel
bzw. ein ungültiges Datenelement vorhanden ist, werden durch das Senden korrekter Informationen nur gültige
Informationen zu den ungültigen hinzugefügt. (Werden jedoch neue Werte an ein Datenelement gesendet,
ersetzen die neuen Werte die vorhandenen Werte.) Dieser Nachteil betrifft Sie als Administrator, der mithilfe
von REG-Dateien Änderungs- und Wartungsaufgaben für Computer und Benutzer durchführt, wahrscheinlich
nicht. Die Auswirkungen sind jedoch in der gesamten PC-Welt zu spüren. Softwareprogramme, die REGDateien während des Installationsvorgangs verwenden, verwenden diese auch bei Softwareaktualisierungen.
Diese Programme ändern manchmal Registrierungsschlüssel oder Datenelemente, statt lediglich Datenwerte zu
ersetzen, und hinterlassen hierdurch alte Registrierungselemente. Zahlreiche Deinstallationsprogramme
verwenden REG-Dateien, um Datenwerte auf Null festzulegen oder ignorieren Registrierungsdaten bei der
Deinstallation vollständig. Die Registrierung ist dann schließlich mit Elementen angefüllt, die nicht benötigt
werden oder Konflikte verursachen. Tools zum Säubern der Registrierung, wie z. B. regclean.exe können hier
hilfreich sein. (Regclean kann unter http://support.microsoft.com/support/downloads (englischsprachig) und
unter http://www.microsoft.com/downloads/search.asp?LangID=10&LangDIR=DE gedownloadet werden.)
Regclean arbeitet jedoch nur mit der Teilstruktur HKEY_CLASSES_ROOT, die fast nie die Quelle größerer
Registrierungsprobleme ist. Außerdem ist bekannt, dass das Programm ebenso viele Probleme verursacht wie es
löst.
Abbildung 1 zeigt ein Beispiel für eine REG-Datei, mit der Sie das Element Dokumente im Startmenü entfernen
können. (Wahrscheinlich vermissen nur wenige Benutzer dieses Menüelement oder bemerken gar nicht, dass es
nicht mehr angezeigt wird. Wenn Benutzer das Menü Dokumente beibehalten möchten, senden Sie die Datei
nicht an diese Personen.)
Registrierungsdatentypen
Jeder Registrierungseintrag besitzt einen Datentyp, der die spezifische Art der Daten darstellt, die der Eintrag
speichern kann. Es gibt zwar neun Datentypen, beim Verwalten der Registrierung werden Sie jedoch
wahrscheinlich nur auf folgende Typen treffen.
REG_BINARY
Einträge mit dem Datentyp REG_BINARY enthalten binäre Ursprungsdaten (d. h. Daten ohne
Abschlusszeichen). Dieser Datentyp wird meistens für Informationen zu Hardwarekomponenten verwendet.
Registrierungs-Editoren können die Daten, die Sie bearbeiten können, im Binär- oder Hexadezimalformat
anzeigen. Doppelklicken Sie in regedit auf einen Eintrag vom Typ REG_BINARY, um seinen Inhalt im
Binärformat anzuzeigen. Wählen Sie in regedt32 den Eintrag aus, und wählen Sie dann in der Menüleiste
Ansicht, Binäre Daten anzeigen aus, um ein Fenster zu öffnen, in dem die Daten im Binärformat angezeigt
werden. (Wenn Sie in der Menüleiste zunächst Bearbeiten und dann Binärwert auswählen, wird der BinärEditor geöffnet. Der Inhalt wird im Hexadezimalformat angezeigt.)
REG_DWORD
Der Datentyp REG_DWORD ist ein Doppelwort: zwei 16-Bit-Wörter, aus denen sich der 32-Bit-Wert
zusammensetzt. REG_DWORD ist der häufigste Datentyp in der Registrierung. Sie finden Einträge dieses Typs,
die Gerätetreiberdaten, boolesche Werte, Mengenangaben (z. B. die Anzahl von Sekunden, die verstreichen
kann, bevor etwas geschieht oder nicht geschieht) sowie weitere Informationen enthalten.
Registrierungs-Editoren zeigen Einträge vom Typ REG_DWORD im Hexadezimalformat an. Wenn Sie eine
Änderung vornehmen müssen, können Sie jedoch je nach Eintrag zum Dezimal- oder Binärformat wechseln.
Daten im Hexadezimalformat kann ich nicht "im Kopf" umwandeln. Wenn ich also eine Zahl, wie z. B. ein
Zeitlimitintervall ändern möchte, muss ich das Format entsprechend anpassen, um die Aufgabe durchzuführen.
REG_EXPAND_SZ
Der Eintragstyp REG_EXPAND_SZ bezieht sich auf Einträge, die eine oder mehrere Variablen enthalten, die
ein Betriebssystemdienst oder eine Anwendung auflösen müssen. Bei den Variablen handelt es sich um die
gleichen Variablen, die in Batchdateien und Skripts verwendet werden (z. B. \%systemroot%,
\%username%). Ich konnte nie herausfinden, warum die Registrierung die Variable nicht auflöst und an den
anfordernden Dienst oder das Programm sendet.
REG_MULTI_SZ
Dateneinträge, die mehrere Textzeichenfolgen umfassen, verwenden den Datentyp REG_MULTI_SZ. Die
Zeichenfolgen werden durch Kommas oder Leerzeichen getrennt, und der Eintrag wird mit zwei Nullzeichen,
die die Registrierungs-Editoren nicht anzeigen, abgeschlossen. Wenn Anwendungen ein Lookup für einen
Eintrag vom Typ REG_MULTI_SZ durchführen, erhalten Sie den vollständigen Eintrag. Anwendungen können
nicht bestimmte Zeichenfolge anfordern. (Diese Information ist für Programmierer von Bedeutung.)
In regedit zeigt das Bearbeitungsfenster Binärdaten an (wobei jedoch auch der Text in der rechten Fensterhälfte
angezeigt wird). Wählen Sie in regedt32 in der Menüleiste zunächst Bearbeiten und dann Mehrteilige
Zeichenfolgen aus, oder doppelklicken Sie auf den Auszug, um den vollständigen Eintrag anzuzeigen.
REG_SZ
Einträge vom Typ REG_SZ sind Textzeichenfolgen mit fester Länge. Die meisten Einträge dieses Typs sind
entweder boolesche Werte oder haben kurze Textzeichenfolgenwerte. Dieser Datentyp ist üblich und kommt
wahrscheinlich ebenso häufig vor wie der Typ REG_DWORD. Die Notation SZ bedeutet String/Zero (deutsch:
Zeichenfolge/Null) -Byteabschluss. Die Einträge werden mit einem Nullbyte am Ende abgeschlossen (d. h. am
Ende der Zeichenfolge wird eine Null hinzugefügt). Beide Registrierungs-Editoren blenden die abschließende
Null aus. Sie müssen sich daher keine Gedanken darüber machen, es sei denn, Sie erstellen eine
Softwareanwendung, die die Registrierung ändert. In diesem Fall müssen Sie das abschließende Byte
berücksichtigen.
Wenn Sie einen Eintrag dieses Typs in regedit anzeigen oder bearbeiten, besitzt das geöffnete Fenster die
Bezeichnung Zeichenfolge bearbeiten. Das Bearbeitungsfenster von regedit zeigt den Namen des Wertes an. In
regedt32 hat das Fenster den Namen Zeichenfolgen-Editor. Regedt32 zeigt den Namen des Wertes nicht im
Bearbeitungsfenster an. Wenn Sie also über ein schlechtes Kurzzeitgedächtnis verfügen, müssen Sie das
Bearbeitungsfenster an eine andere Stelle ziehen, um den ausgewählten Eintrag sehen zu können.
Verteilen von Registrierungsdateien
Zur Verteilung vorgesehene REG-Dateien lassen sich schnell erstellen, indem Sie in regedit einen oder mehrere
Schlüssel exportieren. Zum Exportieren eines Schlüssels wählen Sie zunächst den Schlüssel aus. Wählen Sie
dann Registrierung und anschließend Registrierungsdatei exportieren aus. Geben Sie im Dialogfeld
Registrierungsdatei exportieren einen Namen ein, und wählen Sie einen Ordner für die Exportdatei aus.
Windows fügt automatisch die Erweiterung REG hinzu. Sie können die Registrierungseinstellungen interaktiv
auf einem Computer ändern, den Schlüssel exportieren und die Exportdatei ohne weitere Änderung verwenden.
Sie können jedoch auch den Schlüssel exportieren und ihn dann manuell bearbeiten. Doppelklicken Sie nicht auf
die REG-Datei, um sie zu bearbeiten. Klicken Sie stattdessen mit der rechten Maustaste darauf, und wählen Sie
im Kontextmenü den Befehl Bearbeiten aus. Die Datei wird im Editor geöffnet. Wenn Sie
Registrierungsänderungen an mehreren Schlüsseln vornehmen möchten, öffnen Sie die einzelnen REG-Dateien,
fügen den Inhalt der Dateien in ein Dokument im Editor ein und speichern das Dokument dann mit der
Erweiterung REG.
REG-Dateien können problemlos verteilt werden. Fügen Sie die REG-Datei als Anlage an eine E-MailNachricht an, fügen Sie den entsprechenden Befehl zu einem Anmeldeskript hinzu, oder verwenden Sie ein
anderes Verfahren, mit dem Sie vertraut sind.
Es ist nicht notwendig, dass Benutzer regedit öffnen und den Inhalt einer REG-Datei mit dem Importbefehl in
die Registrierung übernehmen. Sie können stattdessen einfach im Windows-Explorer oder im Arbeitsplatz auf
die REG-Datei doppelklicken, um den automatischen Importvorgang zu starten. Wenn Sie mit der rechten
Maustaste auf eine REG-Datei klicken, sehen Sie, dass die Standardaktion Zusammenführen lautet. Der Befehl
Zusammenführen ist jedoch in keiner Windows-Version vorhanden. Er steht stellvertretend für den Befehl
regedit.exe "%1"
Dabei steht die Variable für die aktuelle Datei. In der Befehlszeile verwenden Sie folgende Syntax:
regedit <filename>.reg
Unabhängig von der gewählten Methode fordert das Betriebssystem die Benutzer auf, zu bestätigen, dass die
Daten mit der Registrierung zusammengeführt werden sollen. Wenn Sie auf Ja klicken, wird der Vorgang
gestartet. Nachdem die Datei ordnungsgemäß mit der Registrierung zusammengeführt wurde, gibt das
Betriebssystem eine Erfolgsmeldung aus. Wenn die Datei falsche Syntax enthält und die Zusammenführung
fehlgeschlagen ist, wird eine Fehlermeldung ausgegeben, die darüber informiert, dass die Datei kein
Registrierungsskript ist und nicht in die Registrierung importiert werden kann.
Falls Sie mehrere REG-Dateien ausführen möchten (eine für jede Änderung), statt alle Registrierungsänderungen
in einer Datei zusammenzufassen, verwenden Sie eine Batchdatei, die jede REG-Datei aufruft. Verwenden Sie
folgende Syntax, um REG-Dateien in der Befehlszeile im stillen Modus auszuführen und so Benutzereingriffe
überflüssig zu machen:
regedit /s <filename>.reg
Registrierungsdateien werden in Win95 und höheren Windows-Versionen eingesetzt. Zahlreiche
Registrierungsunterschlüssel unterscheiden sich jedoch in den einzelnen Versionen. Sie sollten daher separate
REG-Dateien für jede Plattform erstellen. Benennen Sie die Dateien entsprechend, um Verwechslungen zu
vermeiden (z. B. RestrictUsers9x.reg, RestrictUsersNT4.reg).
Beachten Sie, dass REG-Dateien auch eingesetzt werden können, wenn Tools zur Bearbeitung der Registrierung
mithilfe von Gruppenrichtlinien oder Systemrichtlinien deaktiviert wurden. (Andernfalls könnte die
Registrierung nicht durch die Installation von Software oder durch andere Systemprozesse geändert werden.)
Option 2: Bessere Bearbeitungsleistung mit "Regini.exe"
Wenn Sie Skripts als Tools für Konfigurations- und Installationsaufgaben bevorzugen, können Sie Ihre Skripts
mithilfe von regini.exe zur Bearbeitung der Registrierung verwenden. Regini stellt umfangreichere
Leistungsmerkmale als REG-Dateien bereit, einschließlich der Möglichkeit, Unterschlüssel und Datenelemente
zu löschen und Berechtigungen für Registrierungsschlüssel festzulegen. Sie finden Regini im Microsoft
Windows 2000 Server Resource Kit und im Microsoft Windows NT Server Resource Kit, Version 4.0. (Ich habe
die Windows 2000-Version von regini.exe erfolgreich auf Computern unter Windows NT verwendet und
umgekehrt.) Die Resource Kits enthalten außerdem die vollständige Dokumentation (regini.doc) zu diesem
äußerst nützlichen Dienstprogramm. Regini verwendet folgende Syntax:
regini <ScriptFileName>
Dabei ist ScriptFileName der Pfad einer Skriptdatei, die Sie erstellt haben, um eine bestimmte
Registrierungsänderung durchzuführen. Sie können die UNC (Uniform Naming Convention) in der
Pfadanweisung verwenden, wenn sich das Skript auf einer Netzwerkfreigabe befinden.
Zur Verteilung von Registrierungsänderungen, die mit Regini durchgeführt werden, müssen Sie das Programm
auf jedem Zielcomputer zur Verfügung stellen (es wird davon ausgegangen, dass die Resource Kits nicht im
gesamten Unternehmen installiert wurden). Sie können den UNC-Pfad von Regini mithilfe einer Batchdatei
zuordnen und dann das Programm ausführen. Wenn sich Regini beispielsweise auf einer Netzwerkfreigabe mit
dem Namen ResKit auf dem Server Tools1 befindet, können Sie folgende Batchdatei erstellen:
Net use x: \\tools1\reskit
x:\ regini <ScriptFileName>
Net use x: /delete
Richtlinien für Skriptdateien
Name und Erweiterung der mit Regini verwendeten Skriptdatei sind frei wählbar. Die Datei muss im ANSIFormat vorliegen. Regini.exe konvertiert die Datei beim Lesen in Unicode. Eine Unicode-Textdatei kann jedoch
nicht als Skriptdatei verwendet werden. (Microsoft sollte diese Einschränkung aufheben.) Registrierungsbefehle
in der Skriptdatei müssen die folgende Syntax aufweisen:
\Registry\<KeyPath> [<ACL>]
<DataItemName> = <DataType> <DataValue>
Ein Gleichheitszeichen in einer Zeile gibt an, dass die Zeile ein Registrierungsdatenelement und einen Wert
enthält, der hinzugefügt, gelöscht oder geändert wird.
Jede Zeile des Skripts muss mit einem Zeilenumbruch enden. Wenn eine Zeile umbricht, was normalerweise
passiert, wenn der Registrierungsschlüssel tief geschachtelt und daher sehr lang ist, ist das Symbol für die
Fortsetzung der Zeile ein umgekehrter Schrägstrich. Wenn Sie beispielsweise
Etwas\
Mehr \
Viel
eingeben, liest regini.exe die Zeile als EtwasMehr Viel. Beachten Sie, dass das Leerzeichen vor dem
umgekehrten Schrägstrich in der zweiten Zeile ein Leerzeichen zwischen Mehr und Viel einfügt. Ist kein
Leerzeichen erforderlich (wenn an der Umbruchstelle normalerweise kein Leerzeichen steht, z. B. im Namen
eines Unterschlüssels), lassen Sie das Leerzeichen vor dem umgekehrten Schrägstrich weg.
Die erste Zeile jedes Registrierungsbefehls enthält die Variable KeyPath. Hierbei handelt es sich um den
vollständigen Pfad des Schlüssels, der geändert wird. Ist der Schlüssel bei Ausführung des Skripts nicht in der
Registrierung vorhanden, fügt ihn der Befehl hinzu. Regini.exe verwendet die Kernelbenennungskonventionen
für Teilstrukturen der Registrierung. Sie können entweder Kernelnamen in das Skript eingeben oder
Standardnamen für Teilstrukturen verwenden und diese mithilfe von regini.exe übersetzen. (Es ist einfacher, die
Kernelkonventionen einzugeben.) Die Kernelbenennungskonventionen für Teilstrukturen lauten wie folgt:



HKEY_LOCAL_MACHINE ist \Registry\Machine
HKEY_USERS ist \Registry\User
HKEY_CURRENT_USER ist \Registry\User\User_SID
Die erste Zeile kann außerdem die optionale Variable ACL enthalten. Sie können diese Variable hinzufügen, um
ACL-Berechtigungen anstelle von oder zusätzlich zu Schlüsseln und Datenelementen zu ändern. Die ACL-Daten
folgen auf die Variable KeyPath und bestehen aus mehreren Nummern, die durch Leerzeichen getrennt und in
eckige Klammern eingeschlossen sind. (Tabelle 2 bietet einen Überblick über diese Nummern und ihre
Bedeutung.) Beispielsweise erteilt der Befehl
\Registry\machine\system\currentcontrolset [1 11 17]
Administratoren Vollzugriff, Hauptbenutzern Vollzugriff und dem System Vollzugriff für den
RegistrierungsunterschlüsselHKEY_LOCAL_MACHINE \SYSTEM \CurrentControlSet.
Tabelle 2 Definitionen der ACL-Nummern
Nummer
Berechtigungen für den Zielregistrierungsschlüssel
1
Administratoren - Vollzugriff
2
Administratoren - Leseberechtigung
3
Administratoren - Lese- und Schreibberechtigung
4
Administratoren - Lese-, Schreib- und Löschberechtigung
5
Ersteller - Vollzugriff
6
Ersteller - Lese- und Schreibberechtigung
7
Jeder - Vollzugriff
8
Jeder - Leseberechtigung
9
Jeder - Lese- und Schreibberechtigung
10
Jeder - Lese-, Schreib- und Löschberechtigung
11
Hauptbenutzer - Vollzugriff
12
Hauptbenutzer - Lese- und Schreibberechtigung
13
Hauptbenutzer - Lese-, Schreib- und Löschberechtigung
14
Systemoperatoren - Vollzugriff
15
Systemoperatoren - Lese- und Schreibberechtigung
16
Systemoperatoren - Lese-, Schreib- und Löschberechtigung
17
System - Vollzugriff
18
System - Lese- und Schreibberechtigung
19
System - Leseberechtigung
20
Administratoren - Lese-, Schreib- und Ausführberechtigung
21
Interaktiver Benutzer - Vollzugriff
22
Interaktiver Benutzer - Lese- und Schreibberechtigung
23
Interaktiver Benutzer - Lese-, Schreib- und Löschberechtigung
Achtung: Diese Funktion kann Probleme verursachen, wenn Sie seine Funktionsweise nicht verstehen. Mit
dieser Funktion fügen Sie nicht die in Klammern eingeschlossenen ACL-Berechtigungen hinzu, sondern setzen
die ACLs zurück. Die Daten in den Klammern ersetzen die bestehenden Daten. Verwenden Sie diese Funktion
nur, nachdem Sie zuvor die vorhandene ACL für den Schlüssel, der geändert wird, überprüft haben. (Die ACL
kann mithilfe von regedt32 angezeigt werden.) Andernfalls löschen oder ändern Sie unter Umständen
versehentlich Berechtigungen einer Gruppe.
Die zweite Zeile enthält die Informationen für das Datenelement, das Sie ändern: DataItemName ist der Name
des Datenelements. Es besteht aus allen Zeichen vom ersten nicht leeren Zeichen der Zeile bis zum letzten nicht
leeren Zeichen vor dem Gleichheitszeichen. Für die Behandlung von Datenelementen mit Leerzeichen ist kein
bestimmtes Format (z. B. Einschließen des Namens in Anführungszeichen) erforderlich. Ist das Datenelement
bei Ausführung des Skripts nicht in der Registrierung vorhanden, fügt es der Befehl hinzu.
DataType ist der Datentyp des Datenelements. Regini erkennt den Text rechts neben dem Gleichheitszeichen bis
zum ersten Leerzeichen als Datentyp.
DataValue stellt den Wert dar, den Sie dem Datenelement zuweisen. Dieser Wert beginnt beim ersten nicht
leeren Zeichen, das auf das Leerzeichen nach dem Datentyp folgt, und reicht bis zum Ende der Zeile. Es ist keine
besondere Vorgehensweise erforderlich, um Leerzeichen innerhalb eines Wertes anzugeben.
Regini.exe setzt voraus, dass der Datentyp und der zugehörige Wert in dem Skript bestimmten Standards
entsprechen. Die Standards lauten wie folgt:




REG_SZ oder REG_EXPAND_SZ für Zeichenfolgenwerte.
REG_MULTI_SZ für mehrere Zeichenfolgen. Jede Zeichenfolge muss in Anführungszeichen
eingeschlossen werden.
REG_DWORD für Dezimal- oder Hexadezimalwerte. Für Datenelemente vom Typ REG_DWORD ist
der Standardwert ein Dezimalwert. Verwenden Sie 0x, um einen Hexadezimalwert anzugeben. Wenn
Sie den Wert On, True oder Yes eingeben, wird der Wert in 0x00000001 konvertiert. Bei Eingabe des
Wertes No, False oder Off wird der Wert in 0x00000000 konvertiert.
REG_BINARY für Binärwerte, die als zwei oder mehrere Dezimalzahlen formatiert sind. Die erste
Dezimalzahl gibt die Anzahl von Datenbytes an, die folgen. Die verbleibenden Zahlen werden in 32Bit-Zahlen konvertiert. (Die Länge des Wertes muss immer ein Vielfaches von 4 Bytes betragen.)
Funktionen von Regini
Regini bietet verschiedene Möglichkeiten für die Datenbearbeitung. Beispielsweise ist DELETE ein
Schlüsselwort von regini.exe, das nur den Namen des Datenelements erfordert. Zum Entfernen eines
Datenelements geben Sie die folgende Syntax als zweite (d. h. als Datenelement) Zeile des Skripts ein:
DataItemName = DELETE
Regini.exe bietet Ihnen auch die Möglichkeit, auf eine Textdatei zu verweisen, die den Wert für ein
Datenelement enthält. Diese Funktion macht die direkte Eingabe langer Binärwerte (für Datenelemente vom Typ
REG_BINARY) oder vieler Zeichenfolgen (für Datenelemente vom Typ REG_ MULTI_SZ) unnötig. Wenn
regini.exe ausgeführt wird, öffnet das Programm die Zieldatei und schreibt ihren Inhalt als Wert für das
Datenelement in die Registrierung. Um diese Funktion zu verwenden, ersetzen Sie den Elementtyp durch eine
Anweisung zur Verwendung einer Datei. Die Anweisung enthält einen Verweis auf den Elementtyp und
verwendet die folgenden Syntaxoptionen:


Für Datenelemente vom Typ REG_BINARY: DataItemName = REG_BINARYFILE FilePath
Für Datenelemente vom Typ REG_MULTI_SZ: DataItemName = REG_MULTISZFILE FilePath
Geben Sie beispielsweise folgendes Skript ein:
UserNicknamesForCompanyNewsletter = REG_MULTISZFILE \myscripts\script101.txt
Regini liest den Inhalt der Datei script101.txt und schreibt den Inhalt als Wert des Datenelements
UserNicknamesForCompanyNewsletter. (Dies ist ein Beispiel für ein Datenelement; suchen Sie also nicht in der
Registrierung danach.)
Ein vollständiger Befehl
Das folgende Skript ist ein Beispiel für einen vollständigen Befehl. Dieser Befehl ändert die
Computereinstellungen dahingehend, dass der Name des letzten Benutzers nicht im Anmeldedialogfeld
angezeigt wird.
\registry\machine\software\microsoft\
windows\currentversion\policies\system
DontDisplayLastUserName = REG_DWORD 1
Weitere Änderungen am gleichen Unterschlüssel können Sie vornehmen, indem Sie unterhalb der Zeile, die auf
den Unterschlüssel verweist, Zeilen hinzufügen. Wenn jede zusätzliche Zeile ein Gleichheitszeichen enthält,
behandelt regini.exe den Zeileninhalt ordnungsgemäß. Beispielsweise befinden sich die Datenelemente, die vor
der Anmeldung ausgegebene Meldungen steuern (LegalNoticeText und LegalNoticeCaption), im gleichen
Registrierungsunterschlüssel wie das Element DontDisplayLastUserName. Fügen Sie lediglich die folgenden
beiden Zeilen zu dem Skript hinzu, um den Computer so zu konfigurieren, dass eine Meldung angezeigt wird,
bevor sich Benutzer anmelden:
\registry\machine\software\micro
soft\windows\currentversion\policies\system
DontDisplayLastUserName = REG_DWORD 1
LegalNoticeText = REG_SZ Your E-Mail is Now Being Monitored
LegalNoticeCaption = REG_SZ Notice To Employees
Option 3: Verwenden von Richtlinien
Registrierungsänderungen lassen sich auch verteilen, indem Systemrichtlinien erstellt werden, die die
Registrierungen der Zielbenutzer ändern. Das Verfahren ist unterschiedlich, je nachdem ob Sie Windows 2000
(MMC-Snap-In Gruppenrichtlinien-Editor (GPE)) oder frühere Windows-Versionen (SystemrichtlinienEditor (SPE)) verwenden. In beiden Fällen können Sie jedoch ADM-Dateien erstellen, um
Registrierungsänderungen an ausgewählte Computer zu senden.
Am einfachsten lässt sich eine ADM-Datei erstellen, wenn Sie eine vorhandene ADM-Vorlage als Startpunkt
verwenden. Vorlagen sind Textdateien, die in Editor oder jedem anderen Texteditor geöffnet werden können.
Bevor Sie vorhandene Vorlagen verwenden, erstellen Sie unbedingt Sicherheitskopien der Originale. Wenn Sie
eine Vorlage ändern, speichern Sie die neue Version unter einem neuen Dateinamen, auch wenn Sie eine
Sicherheitskopie des Originals besitzen. Außerdem müssen Sie die neuen ADM-Dateien in einer Testumgebung
überprüfen, bevor Sie sie im Unternehmen einsetzen. (Eine Erläuterung der möglichen Konsequenzen bei
Nichtberücksichtigung dieses Ratschlags finden Sie in Reader to Reader, ".adm Files and the Headaches They
Can Cause", October 1999.)
Wenn Sie eine Registrierungsänderung über eine ADM-Vorlage implementieren möchten, müssen Sie natürlich
wissen, welcher Registrierungsschlüssel das Ziel ist. Die Dokumentation zur Registrierung ist im Resource Kit
nicht sehr umfangreich. Um mich zum Thema Registrierung weiterzubilden, verwendete ich eine Testumgebung,
in der ich Systemänderungen mit bestehenden Richtlinien und Systemsteuerungssymbolen durchführte. Ich
verwendete regmon.exe von Sysinternals (erhältlich unter http://www.sysinternals.com (englischsprachig)), um
die Registrierungsänderungen zu protokollieren. Schließlich lernte ich auch noch etwas über die Organisation
der Registrierung und die Datentypen der Registrierungseinträge.
Erstellen von ADM-Dateien für den GPE von Windows 2000
Das GPE-Snap-In von Windows 2000 bietet Hunderte von Richtlinien. (Der SPE hingegen bietet weniger als
100 Richtlinien.) Abbildung 2 zeigt den verfügbaren Bereich der Richtlinienkategorien.
Abbildung 2 Das GPE-Snap-In von Windows 2000
Nur die unter Administrative Vorlagen verfügbaren Richtlinien sind direkte Registrierungseinträge. Sie können
diese Vorlagen als Grundlage für Registrierungsänderungen anzeigen oder ändern. Die verfügbaren Richtlinien
decken beinahe alle denkbaren Benutzereinstellungen oder Voreinstellungen ab. Sie müssen also wahrscheinlich
keine eigenen Vorlagen erstellen. Möglicherweise entdecken Sie jedoch eine Registrierungseinstellung, die nicht
bereits durch die Vorlagen abgedeckt ist, oder möchten spezifische Einstellungen für Benutzersteuerungen oder
Inhousesoftware festlegen. Ein weiterer Grund für die Erstellung eigener Vorlagen kann die Kombination
vorhandener Registrierungsänderungen aus bestehenden Vorlagen sein. Mit dieser kombinierten Vorlage können
dann häufige Änderungen auf bestimmte Computer- oder Benutzergruppen angewendet werden.
Abbildung 3 Durch die Windows 2000-Vorlage "System.adm" implementierte Richtlinien
Die Beziehung zwischen dem GPE-Snap-In und seinen Vorlagen ähnelt der Beziehung zwischen dem SPE und
seinen Vorlagen. Abbildung 3 zeigt die Richtlinien für Benutzerkonfiguration\Administrative
Vorlagen\System. Für die Richtlinie Dialogfeld "Willkommen" bei der Anmeldung nicht anzeigen enthält
die Vorlage System.adm den folgenden Code:
POLICY !!NoWelcomeTips
KEYNAME "Software\Microsoft\
Windows\CurrentVersion\Policies\Explorer"
EXPLAIN !!NoWelcomeTips_Help
VALUENAME "NoWelcomeScreen"
END POLICY
In einer GPE-Vorlage enthält der Abschnitt POLICY den Registrierungsschlüssel, auch wenn es sich um den
gleichen Registrierungsschlüssel handelt wie bei der vorherigen oder der folgenden Richtlinie. Beachten Sie die
beiden Ausrufezeichen links neben dem Namen der Richtlinie. Sie geben eine Variable an. Der Abschnitt
"[Strings]" für dieses Beispiel enthält den folgenden Code, der mit dem Text im GPE-Snap-In übereinstimmt:
NoWelcomeTips="Dialogfeld "Willkommen" bei der Anmeldung nicht anzeigen"
Der in SPE-Vorlagen nicht vorhandene Abschnitt EXPLAIN weist ebenfalls zwei Ausrufezeichen als erste
Zeichen seines Wertes auf, die die Variable im Abschnitt "[Strings]" angeben. Beachten Sie, dass der
Zeichenfolgename mit dem Zeichenfolgenamen der Richtlinie übereinstimmt, wobei jedoch ein Unterstrich und
das Wort "Help" hinzugefügt wurden. In diesem Fall verweist die Variable auf den Text der Registerkarte
Erklärung.
Im Abschnitt "[Strings]" von System.adm sind die in Abbildung 4 dargestellten Variablen zu finden. Das
Zeichen "\n" im Text fügt einen Zeilenumbruch ein. Wenn Sie Richtlinien erstellen, müssen Sie keine
Erklärungen schreiben. Dies wird vom System nicht angemahnt.
Erstellen von ADM-Dateien für den SPE von Windows NT oder Win9x
Windows NT und Win9x implementieren ADM-Vorlagen im SPE (poledit.exe). Sie müssen die geeignete
Plattformversion des SPEs verwenden, um die in der ADM-Datei erstellten Richtlinien zu implementieren. (Ein
Beispiel für die Zusammenarbeit des SPEs und einer ADM-Vorlage finden Sie im Kurzartikel "Einrichten der
Verbindung".) Windows NT Server enthält drei Vorlagen:



Common.adm: Registrierungseinstellungen für Windows NT und Win9x
Winnt.adm: Registrierungseinstellungen für Windows NT
Windows.adm: Registrierungseinstellungen für Win95
Diese unter \%systemroot%\inf enthaltenen Vorlagen können geändert werden. Beispielsweise können Sie
Optionen aus den Vorlagen entfernen, die niemals implementiert werden sollen (eine wichtige Möglichkeit,
wenn der SPE von Assistenten in der IT-Abteilung verwendet wird). Außerdem können Sie Optionen
hinzufügen, die die Standardvorlagendateien nicht enthalten. Für Vorlagen gelten die folgenden
Einschränkungen:


Richtlinien sind auf Einstellungen beschränkt, die in den Registrierungsunterschlüsseln
HKEY_LOCAL_MACHINE und HKEY_CURRENT_USER verfügbar sind.
Ein Verweis auf einen Registrierungsschlüssel, der Binärdaten enthält, ist nicht möglich.
Sie können auch Vorlagen erstellen und diese im Ordner \%systemroot%\inf speichern. Zur Verwendung der
Vorlagen öffnen Sie den SPE, wählen in der Menüleiste zunächst Optionen und dann Richtlinienvorlage aus
und wählen anschließend die gewünschte Datei aus.
Einrichten der Verbindung
Wenn Sie die Verbindung zwischen dem Systemrichtlinien-Editor (System Policy Editor, SPE) und der
Registrierung anzeigen möchten, öffnen Sie den SPE und wählen eine Kategorie aus. Anschließend öffnen Sie
die Vorlage und suchen nach dem Code, der die im SPE angezeigten Optionen implementiert. Beispielsweise
zeigt Abbildung A den SPE-Abschnitt zu Shelleinschränkungen für Benutzer.
Abbildung A Der SPE von Windows NT
Der in Abbildung B angezeigte Code ist ein Bestandteil der Vorlage Common.adm und implementiert die
Optionen dieser Vorlage. Die Syntax und die Anordnung der Vorlage sind unkompliziert (das Format der Syntax
erstellt die Anzeige in dem in Abbildung A dargestellten Softwarefenster).
Die Syntax einer Vorlage verwendet Schlüsselwörter, die mit Variablen verknüpft sind. Die Variablen verweisen
auf Registrierungsschlüssel. Für eine Vorlage mit einer Option gilt folgende Syntax:
CLASS
CATEGORY
KEYNAME
POLICY
PART
VALUENAME "value"
VALUEON
VALUEOFF
END PART
END POLICY
END CATEGORY
[Strings]
CLASS benennt den Abschnitt der Registrierung (d. h. MACHINE für HKEY_LOCAL_MACHINE oder
USER fürHKEY_CURRENT_USER). Jede Vorlage besitzt einen oder zwei CLASS-Indikatoren. Alle
Richtlinien für eine CLASS müssen zu einer Gruppe zusammengefasst werden, bevor die zweite CLASS
verwendet werden kann (wenn zwei Klassen verwendet werden). Vorlagendateien enthalten keine END CLASSZeile. Stattdessen legt die Benennung einer neuen CLASS das Ende der vorherigen CLASS fest. Der Anfang des
Abschnitts "[Strings]" kennzeichnet das Ende der zweiten CLASS.
CATEGORY definiert den Beginn einer Kategorie (und wird zu einem Buchsymbol im SPE-Fenster). END
CATEGORY definiert das Ende der Kategorie. Bei einer Kategorie handelt es sich um eine Gruppe von
Richtlinien mit einer logischen Verbindung, die alle als erweiterbare Überschrift in dem SPE-Fenster angezeigt
werden. Kategorien können verschachtelt werden. Der CATEGORY-Befehl verwendet eine Variable, die für
eine Textzeichenfolge steht, die im Abschnitt "[Strings]" der Vorlage dargestellt ist. Die Textzeichenfolge wird
im SPE-Fenster als Definition der Richtlinie angezeigt.
KEYNAME ist der Registrierungsschlüssel, der den Eintrag für die Richtlinie enthält. Wenn der Schlüssel noch
nicht vorhanden ist, ist KEYNAME ein neuer Registrierungsschlüssel, der den Eintrag enthält. Enthält der
Registrierungspfad des Schlüssels Leerzeichen, schließen Sie den gesamten Schlüsselpfad (ausschließlich
HKEY_LOCAL_MACHINE oder HKEY_CURRENT_USER) in Anführungszeichen ein.
POLICY ist die Richtlinieneinstellung. Die Einstellung muss innerhalb einer CATEGORY existieren, wobei der
Name ihre Funktion beschreibt. Zu einer POLICY gehört ein Kontrollkästchen mit drei Statusangaben, das im
SPE-Fenster angezeigt wird, so dass Sie festlegen können, ob die Richtlinie aktiviert, deaktiviert oder ignoriert
wird. END POLICY legt das Ende der Richtlinie fest.
PART signalisiert den Anfang eines Teils innerhalb einer Richtlinie (Richtlinien können aus mehreren Teilen
bestehen). END PART gibt das Ende des Teils an. PART wird für kompliziertere Richtlinien verwendet, die
zusätzliche Werte im Feld Einstellungen am unteren Rand des SPE-Fensters einrichten müssen. Mit
zusätzlichen Werten ist gemeint, dass die Richtlinie mehr Optionen als das Aktivieren oder Deaktivieren
erfordert. Wenn Sie eine Richtlinie für ein Hintergrundbild oder einen Bildschirmschoner einrichten, müssen Sie
den Namen der entsprechenden Datei angeben. Außerdem können Sie mithilfe von PART einen erklärenden
Text im Dialogfeld Einstellungen anzeigen.
VALUENAME ist der Name des Registrierungseintrags (d. h. Unterschlüssel oder Datenelement), den Sie
ändern oder erstellen. Wenn der VALUENAME-Eintrag in der Registrierung Leerzeichen enthält, schließen Sie
den Namen in Anführungszeichen ein.
VALUE ist der Wert, der dem durch VALUE NAME definierten Registrierungseintrag zugewiesen werden soll.
VALUE kann Text (muss in Anführungszeichen eingeschlossen werden) oder ein numerischer Wert sein.
VALUEON und VALUEOFF werden für den Betrieb des SPEs im Registrierungsmodus verwendet, wenn
VALUENAME nur ein Kontrollkästchen zum Aktivieren oder Deaktivieren der Richtlinie erfordert.
Normalerweise werden die üblichen Werte zum Aktivieren und Deaktivieren in der Registrierung verwendet: 1
für An und 0 für Aus.
[Strings] ist der letzte Abschnitt der Vorlage. In diesem Abschnitt sind die Variablen für die Vorlage aufgeführt.
Microsoft verwendet das Wort "Variable"; tatsächlich handelt es sich jedoch um die Sätze, die im SPE-Fenster
angezeigt werden und die Richtlinie beschreiben. Innerhalb der Vorlage gibt jeder Eintrag, dem zwei
Ausrufezeichen vorangestellt sind, eine Variable an, die im Abschnitt "[Strings]" angezeigt wird. Die folgenden
Zeilen sind ein Bestandteil des Abschnitts "[Strings]" in der Vorlage Common.adm. Die Variable steht links
vom Gleichheitszeichen, und der Inhalt der Variable steht, eingeschlossen in Anführungszeichen, rechts neben
dem Gleichheitszeichen.
RemoveRun="Befehl "Ausführen" entfernen"
RemoveFolders="Ordner unter "Einstellungen" im Startmenü entfernen"
RemoveTaskbar="Taskleiste unter "Einstellungen" im Startmenü entfernen"
RemoveFind="Befehl "Suchen" aus dem Startmenü entfernen"
Das Betriebssystem verteilt System- und Gruppenrichtlinien automatisch. (Informationen zur Verteilung von
Gruppenrichtlinien finden Sie in Randy Franklin Smith, Controlling Group Policy, Part 2, Winter 2000.)
Gesunde Vorsicht
Dieser Artikel richtet sich an Administratoren, die sich gut genug mit der Registrierung auskennen, um
Änderungen vornehmen zu können, ohne Schäden oder Chaos zu verursachen. Obwohl zahlreiche Tools zum
Warten der Registrierung von Netzwerkcomputern zur Verfügung stehen, sollten Sie bei der Durchführung von
Registrierungsaufgaben sorgfältig vorgehen. Sichern Sie alle Registrierungsschlüssel, bevor Sie Änderungen an
ihrem Inhalt vornehmen. Wenden Sie viel Zeit für das Bearbeiten umfangreicher Aufgaben zur
Registrierungsverwaltung in einer Testumgebung auf, bevor Sie Aufgaben im Unternehmen durchführen. Auch
wenn Ihnen die Registrierung Rätsel aufgibt, manipulieren Sie nicht daran herum.
Informationen zur Autorin
Kathy Ivens ist freie Redakteurin für das Windows 2000-Magazin. Sie hat mehr als drei Dutzend Bücher und
mehrere Hundert Artikel für Magazine zu verschiedenen Computerthemen verfasst. Sie ist Autorin von
Admin 911: The Windows 2000 Registry (Osborne/McGraw-Hill). Sie erreichen Kathy Ivans unter folgender EMail-Adresse (in Englisch): [email protected].
Der vorliegende Artikel wurde mit freundlicher Unterstützung des Windows 2000-Magazins zur Verfügung
gestellt. Klicken Sie hier , um das Windows 2000-Magazin (englischsprachig) zu abonnieren. Klicken Sie hier ,
um zur deutschsprachigen Website des Windows 2000-Magazins zu wechseln, und klicken Sie dann auf Abo,
um zur Seite für Abonnements zu gelangen.
Das Team der Microsoft Corporation hofft, dass die Informationen in diesem Dokument für Sie von Nutzen sind.
Die Verwendung der in diesem Dokument enthaltenen Informationen erfolgt jedoch auf eigene Gefahr. Alle
Informationen werden wie besehen bereitgestellt, ohne jede Gewährleistung, sei sie ausdrücklich oder
konkludent, für die Richtigkeit, die Vollständigkeit, die Eignung für einen bestimmten Zweck, den
Eigentumsvorbehalt oder die Nichtverletzung von Rechten Dritter, und keine der in diesem Dokument genannten
Fremdherstellerprodukte oder Informationen von Dritten wurden/werden von der Microsoft Corporation verfasst,
empfohlen oder unterstützt, und Microsoft Corporation übernimmt keine Garantie dafür. Die
Microsoft Corporation kann nicht für Schäden haftbar gemacht werden, die aus der Verwendung dieser
Informationen entstehen, ungeachtet dessen, ob es sich um direkte oder indirekte, spezielle, zufällig entstandene
oder Folgeschäden handelt, selbst dann nicht, wenn Microsoft Corporation auf die mögliche Entstehung solcher
Schäden hingewiesen wurde. Alle Preise für in diesem Dokument erwähnte Produkte können jederzeit ohne
vorherige Ankündigung geändert werden.
Herunterladen