Allgemeine Registry Informationen von Windows NT . Windows NT speichert Konfigurationsdaten in einer binären, hierarchisch organisierten Datenbank.

Wenn Sie den Registrierungseditor starten, werden 5 einzelne Schlüssel angezeigt, die annähernd den *.INI-Dateien bei Win 3.x entsprechen. Es sind:

HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG

Diese Unterteilungen sind nun in weitere Schlüssel eingeteilt (wie die INI.-Dateien in Sektionen [386enh], [boot], [network] usw.). Bei der Registrierungsdatei ist die Aufteilung aber viel genauer.
Jeder Schlüssel kann weitere Schlüssel und (im rechten Fenster) Werteinträge enthalten. Diese Werteinträge setzen sich aus drei Teilen zusammen: „Name“, „Datentyp“ und einem zugewiesenen „Wert“. NT kennt standardmäßig fünf Datentypen, es besteht aber die Möglichkeit, jederzeit benutzerdefinierte Datentypen hinzuzufügen.

Einige Einträge in der Registry werden Sie doppelt vorfinden. Eine Änderung wirkt sich aber immer auf beide aus, da es sich bei dem zweiten nur um eine Verknüpfung handelt.
Des weiteren ist es möglich, daß Sie widersprüchliche Angaben finden, in diesen Fall haben immer die USER-spezifischen Einstellung Vorrang (also HKEY_CURRENT_USER hat Vorrang zu den Einstellungen unter HKEY_LOCAL_MACHINE)

Unter Registry sichern sind die Dateien, in denen die Daten der Registry gesichert werden, schon beschrieben worden. Hier wird nun genauer darauf eingegangen.

NT Speichert alle Informationen in sogenannten Strukturdateien die im Verzeichnis %SYSTEMROOT%\System32\Config angelegt sind. Für jede Datei ist immer eine Sicherheitsdatei mit der Endung *.LOG vorhanden. Das sind aber keine Kopien, sondern Informationen über die letzten Änderungen .

Hier eine Aufstellung der Dateien und welcher Schlüssel in ihnen abgelegt wird.

Dateiname: Schlüssel:
SAM HKEY_LOCAL_MACHINE\SAM
SECURITY HKEY_LOCAL_MACHINE\SECURITY
SOFTWARE HKEY_LOCAL_MACHINE\SOFTWARE
SYSTEM HKEY_LOCAL_MACHINE\SYSTEM
DEFAULT HKEY_USERS\Default
[Benutzername]nnn HKEY_USERS\Security ID
USER oder ADMIN HKEY_CURRENT_USER

Außerdem werden im Verzeichnis %SYSTEMROOT%\Profiles\[BENUTZERNAME] die Benutzerprofile der einzelnen USER in der Datei NTUSER.DAT gespeichert.

Beim Arbeiten mit der Registrierdatenbank ist einige Vorsicht geboten, da selbst der kleinste Fehler dazu führen kann, daß NT nicht mehr startet. Das Arbeiten mit der Registry ist aber manchmal unumgänglich, weil:

Es gibt viele Einstellungen, die sich nur über die Registrierdatenbank ändern lassen.
Über den Registrierungseditor kann man Werte bei fernen Rechnern ändern (über das Netz)
Mit dem Tool REGINI.EXE aus dem Resource Kit besteht die Möglichkeit, Scrips zur
automatischen Änderung der Registrierdatenbank zu erstellen.

Hinweis: Bei der Bearbeitung der Registrierdatenbank sollten Sie bedenken, daß alle Änderungen sofort gespeichert werden !!!

HKEY_CLASSES_ROOT:
Der Hauptschlüssel „HKEY_CLASSES_ROOT“ ist ein Verweis auf „HKEY_LOCAL_MACHINE\Sofware\Classes“. Durchlaufen Sie „HKEY_CLASSES_ROOT“ und Sie werden auf eine lange Liste von Datei-Erweiterungen (z.B. *.EXE oder *.BMP) stoßen. Die meisten Erweiterungen haben zwar keine Unterschlüssel, besitzen aber Zeichenketten-Werte wie „EXEFILE“ für EXE-Dateien und „Paint.Picture“ für BMP-Dateien. Weiter unten im Zweig „Classes“ finden Sie die Unterschlüssel zu diesen Zeichenketten. Diese Unterschlüssel enthalten typischerweise weitere Schlüssel, wie „DefaultIcon“ (das Symbol, mit dem Dateien betreffenden Types von der Shell angezeigt werden), „Shell“ (Angaben über das Öffnen und Drucken dieses Dateitypes) und „Shellex“ (enthält eine Liste der Shell Extansions: Erweiterungen des Kontextmenüs und der Registerkarte für die Einstellungen sowie weitere PlugInSoftware- komponenten, die von der WinNT-Shell unterstützt werden). „HKEY_CLASSES_ROOT“ ist also eine Datenbank voller Anweisungen, anhand derer die Shell gewöhnliche Dateien so handhaben kann, als würde es sich um Dokumente handeln, deren internes Dateiformat sie versteht. Angenommen , Sie Doppelklicken auf eine BMP-Datei oder klicken sie mit der rechten Maustaste an und wählen „Öffnen“ aus dem Kontextmenü; wie weiß die Shell jetzt, wie sie diese BMP-Datei öffnen soll? Ganz einfach: Sie sucht in „HKEY_CLASSES_ROOT“ nach einem „.BMP“-Eintrag und stößt dabei auf „Paint.Picture“. Daraufhin befragt sie den Eintrag „Paint.Picture“ nach dem Kommando zum Öffnen der „.BMP“-Datei. In diesem Fall enthält „Paint.Picture“ einen Unterschlüssel „Shell\Open\Command“ mit dem Standardwert „MSPAINT %1“, was der Shell sagt, daß MSPAINT (das Windows-Paintbrush-Programm) zusammen mit dem Dateinamen zu starten ist. Daraufhin startet WinNT MSPAINT und lädt die betreffende „.BMP“-Datei. Hätten Sie statt dessen verlangt, die Bilddatei zu drucken, so hätte die Shell in „HKEY_CLASSES_ ROOT\Paint.Picture\Shell\Print\Command“ das entsprechende Kommando zum Drucken gesucht (MSPAINT/P %1).
Mit dem Registierungseditor können Sie WinNT anpassen, indem Sie dem Kontextmenü eigene Kommandos hinzufügen. Wollen Sie etwa dem Kontextmenü von *.ZIP-Dateien ein Unzip-Kommando hinzufügen, das dann PKUNZIP aufruft, so führen Sie folgende Schritte aus:

Erstellen Sie unter „HKEY_CLASSES_ROOT“ einen Unterschlüssel namens „.ZIP“ und setzen Sie bei Klasse ZIPFILE ein.
Erstellen Sie unter „HKEY_CLASSES_ROOT“ einen Unterschlüssel namens „Zipfile\Shell\Unzip“, und setzen Sie seinen Standardwert auf „&Unzip“ (das Et-Zeichen bezeichnet dabei die Shortcut-Taste ).
Fügen Sie „HKEY_CLASSES_ROOT\ Zipfile\Shell\Unzip“ einen Kommandounterschlüssel hinzu, und setzen Sie dessen Standardwert auf das Kommando, das PKUNZIP zusammen mit dem Dateinamen startet – beispielsweise C:\DOSUTIL\PKUNZIP %1. Jetzt können Sie die ZIP-Datei ganz einfach dadurch auspacken, indem Sie mit der rechten Maustaste anklicken und die entsprechende Option aus dem Kontextmenü wählen.

HKEY_LOCAL_MACHINE:
Unter dem Schlüssel „HKEY_LOCAL_MACHINE“ legt das Betriebsystem Informationen über den Computer ab. Dazu gehört eine Liste der installierten Hardware, zugehöriger Treiber und deren Einstellungen. Im Unterschlüssel „Hardware“ wird die installierte Hardware des Rechneres abgelegt. Der Unterschlüssel „System“ enthält Informationen zur Hardwarekonfiguration (installierte Dateisysteme, virtuelle Gerätetreiber). Die Daten sind an dieser Stelle in „Control Sets“ angeordnet, wodurch jeder eine komplette Hardwarekonfiguration beschreibt. Der Unterschlüssel „System\CurrentControlSet“ enthält die aktuelle Konfiguration.
„HKEY_LOCAL_MACHINE\Software“ enthält globale Softwareeinstellungen für WinNT und Applikationen. Win32-Setup-Programme schreiben oft in diesen Bereich der Systemregistrierung, wenn neue Anwendungen installiert werden. Der interessanteste Teil des Unterschlüssels Software ist „HKEY_LOCAL_MACHINE\Software\Classes“, denn hier stehen Informationen über Datei-Erweiterungen und wie diese von der Shell behandelt werden sollen. Diese Einträge werden normalerweise nicht direkt, sondern über „HKEY_CLASSES_ROOT“ angesprochen.

HKEY_CURRENT_USER:
Der Schlüssel „HKEY_CURRENT_USER“ ist ein Verweis auf den aktuellen „HKEY_CURRENT_USERS“-Profilschlüssel. Wenn Sie „HKEY_CURRENT_USER“ und den Schlüssel bezüglich des aktuellen Anwenders unter „HKEY_USERS“ öffnen, so werden Sie feststellen, daß ihre Inhalte identisch sind. Mit Verweis ist in diesem Zusammenhang gemeint, daß „HKEY_CURRENT_USER“ ein Schlüssel ist, der auf einen anderen Teil in der Registrierung zeigt. Jede Änderung im aktuellen Anwenderprofil in „HKEY_USERS“ zeigt sich automatisch auch in „HKEY_CURRENT_USER“.
Zunächst mag der Verweis überflüssig erscheinen, es gibt jedoch einen guten Grund dafür. Wenn eine Applikation Ihre privaten Einstellungen in der Registrierung sichert, so lautet der komplette Schlüssel „HKEY_CURRENT_USER\Software\FirmenName\ProduktName\Version“. Da „HKEY_CURRENT_USER“ transparent auf den aktuellen Profliunterschlüssel unter „HKEY_USERS“ abgebildet wird, betreffen die zu sichernden Informationen lediglich den momentanen Anwender. Somit ist es unter WinNT möglich, daß ein Anwender eine Applikation auf die eine Art und ein anderer auf eine ganz andere Art konfigurieren kann. Jeder bekommt jeweils nur seine Einstellung zu sehen, wenn er das Programm das nächste Mal aufruft. Das setzt freilich voraus, daß die betreffende Applikation auch Gebrauch von der Systemregistrierung macht und sich auch an deren Spielregeln hält. Das gilt jedoch nur für die wenigsten 16-Bit-Programme. Den vollen Nutzen dieser Einrichtung haben Sie also erst dann, wenn Sie vollständig auf 32-Bir-Programme umgestellt haben.

HKEY_USERS:
Der Schlüssel „HKEY_USERS“ enthält Informationen zu den Anwendern und deren Einstellungen. Er enthält zumindest einen Unterschlüssel namens „Default“, in dem das Standardprofil für die Anwender gespeichert ist, die ohne persönliches Profil arbeiten.
Wird statt des Standards ein persönliches Profil benutzt, so enthält „HKEY_USERS“ auch einen Unterschlüssel mit dem Profilenamen des betreffenden Anwenders, dieser Name des Profils beginnt immer mit einem „S“ (z.B.: S-1-5-21-24534… was die Sicherheits-ID des Benutzers ist). Eine Liste der gesicherten Profile findet sich in der Registry unter „HKEY_LOCAL_MACHINE\Software\Mircrosft\Windows NT\CurrentVersion\ProfileList“.
Die Einträge nach „(Standard)“ enthalten die Dateipfadnamen auf die Ordner, die die jeweiligen Anwendereinstellungen enthalten. Ein persönliches Profil für den einzelnen Anwender wird während der Laufzeit in eine PWL-Datei in Windows-Verzeichnis generiert und dort in einem entsprechenden Ordner im Verzeichnis „Profiles“ abgelegt – beispielsweise „%SYSTEMROOT%\Profiles\Rudolf“. Die Unterschlüssel enthalten unter anderem „AppEvents“ (für Systemklänge, Bildschirmfarbe und Tastatur).
Der Unterschlüssel „Software“ ist der Ort, an dem die meisten Win32-Programme ihre Sitzungsinformationen ablegen. Früher bei Windows für Workgroups haben Entwickler solche Daten zumeist in „win.ini“ oder in privaten INI-Dateien abgelegt. Für die Entwicklung von WinNT-Applickationen wird den Programmieren dringend empfohlen, solche Daten unter dem Schlüssel „Software\FirmenName\ProduktName\Version“ des aktuellen Profils abzulegen. Für „FirmenName“ ist der Name des Entwicklers einzutragen, für „ProduktName“ der des Produkts, und „Version“ bezieht sich auf die jeweilige Produktversion. Wenn Sie den Zweig „Software\Microsoft“ erweitern, zeigen sich Unterschlüssel für verschiedene Microsoft-Programme sowie für Windows selbst (Software\Microsoft\Windows). Bei wachsender Zahl von 32-Bit-Applikationen steigt hier auch die Zahl der Einträge.

HKEY_CURRENT_CONFIG:
Enthält Konfigurationsinformationen für die spezielle Hardware-Konfiguration, mit der Sie gebootet haben.

Datentypen:

REG_BINARY Nur für Binärdaten. Meist Daten für Hardware-Setup-Informationen, die Angabe erfolgt meist Hexadeximal
REG_DWORD Binärer Datentyp (4-Bytes lang)
REG_EXPAND_SZ Zeichenkette mit beliebiger Größe. Hier können auch Variablen benutzt werden, wo die Werte erst zur Laufzeit eingefügt werden (z.B.: %SYSTEMROOT% oder %USERNAME% usw.)
REG_MULTI_SZ Zeichenkette, wo mehrere Parameter angegeben werden können. Die einzelnen Parameter sind durch binäre Nullen zu trennen
REG_SZ Zeichenkette