Windows NT - Einführung und Konzepte

Kapitel 9.3: Systemverwaltung - Registry

Überblick

Letzte Änderung: 15.6.98 von B. Tritsch

Zurück zum Index "PC-und MS-Windows-Support"

Zurück zum Inhalt


Registry-Editor

Die NT-Registry ersetzt die noch unter Windows for Workgroups (WfW) und unter Windows 3.1 gebräuchlichen .ini-Dateien mit ihrer fast unüberschaubaren Vielzahl an einstellbaren Parametern durch ein Datenbanksystem. Dies resultierte aus der Tatsache, daß die ini-Dateien eine Reihe von Nachteilen hatten. So bestanden für sie Limits in der Größe, es gab kein Standardlayout, der Zugriff war vergleichsweise langsam und es gab keinen Netzwerkzugriff. Jedoch gab es schon unter Windows 3.1 (nicht NT!) eine Registry, die zur Verwaltung von Dynamic Data Exchange (DDE), Object Linking and Embedding (OLE) und Datei-Manager-Erweiterungen diente. Für Windows NT wurde diese Registry wesentlich ausgebaut und ist jetzt das Herz des Betriebssystems.

Die Registry sorgt für die Verwaltung von Benutzer-, System- und Anwendungseinstellungen. Die Registry-Unterbäume (Hives) haben feste Namen und Bedeutungen. Hierbei ist jeder Hive als Unterbaum der gesamten Registry aufgebaut, in dem sich verschiedenen Schlüssel befinden. Die Schlüssel sind die einzelnen Einträge, denen wiederum Werte zugewiesen werden können.

Zur besseren Übersichtlichkeit wird einzelnen zentralen Registry-Bereichen spezielle Namen und auch Kurzformen zugeordnet, die für die weitere Dokumentation von Registry-Einträgen Verwendung finden sollen.

Mit Hilfe der Registry-Editoren (Regedt32.exe oder Regedit.exe) können auf einer sehr systemnahen Ebene Änderungen an der Registry-Datenbank vorgenommen werden. Die Datenbank kann jedoch auch damit gesichert und wieder ganz oder teilweise rekonstruiert werden. Vorsicht: Eine winzige Änderung in der Registry kann fatale Folgen haben!

Die Registry besteht aus einer Hierarchie, die wie eine Verzeichnisstruktur gegliedert ist. In einzelnen Verzeichnissen können Daten (sogenannte "Werte") oder Schlüssel ("Keys") abgelegt sein, die wiederum auf weitere Schlüssel verweisen. Für jeden Schlüssel wird zusätzlich ein Standardwert (ohne Bezeichnung) angelegt.

Abbildung 9.10: Der Registry-Editor

Standardmäßig sind alle mit Strukturen assoziierten Dateien im Verzeichnis %SystemRoot%\System32\Config untergebracht. Die Einstellung für alle Benutzer befindet sich in einem Verzeichnis namens All Users, die für die jeweiligen benutzerspezifischen Daten in einem entsprechend benannten Unterverzeichnis von %SystemRoot%\Profiles. Die Daten des Default Users dienen als Vorlage zum Erzeugen eines Profils für einen Benutzer, der sich zum ersten mal anmeldet.

Registrierungsstruktur Dateiname
HKEY_LOCAL_MACHINES\SAM Sam, Sam.log, Sam.sav
HKEY_LOCAL_MACHINES\Security Security, Security.log, Security.sav
HKEY_LOCAL_MACHINES\Software Software, Software.log, Software.sav
HKEY_LOCAL_MACHINES\System System, System.alt, System.log, System.log
HKEY_CURRENT_CONFIG System, System.alt, System.log, System.log
HKEY_USERS\.DEFAULT Default, Default.log, Default.sav
(nicht mit einer Struktur assoziiert) Userdiff, Userdiff.log
HKEY_CURRENT_USER Ntuser.dat, Ntuser.dat.log (in den benutzerspezifischen Unterverzeichnissen)

Die Mehrzahl der 32-Bit-Applikationen hinterlassen während ihrer Installation eine Reihe von Einträgen in der Registry (z.B. ca. 70.000 Einträge bei der Installation von MS-Office 97 Professional). Diese finden sich entweder im Hive HKLM für systemglobale Informationen oder im Hive HKCU für benutzerspezifische Informationen. Aus diesem Grund ist die Kontrolle der Registry eine wesentliche Voraussetzung für die Verwaltung von Benutzereinstellungen und Anwendungen.

Haben die Hives HKLM (= All Users) und HKCU (= benutzerspezifische Daten) gleiche Schlüssel, enthalten jedoch abweichende Werte, dann haben die Werte aus HKCU Vorrang. Bei der Installation einer Applikation für alle Benutzer eines NT-Systems ist darauf zu achten, daß die applikationsspezifischen Einträge in die Registry für alle Benutzer (HKLM) eingetragen werden, und nicht für den installierenden Benutzer alleine (HKCU). Dies wird aber dadurch erschwert, daß in der Regel keine Anwenderkontrolle über das Ziel von Registry-Einträgen durch vom Hersteller mitgelieferte Installationsskripts besteht.

Das Speichern und Wiederherstellen von Registry-Einträgen läßt sich mit der GUI-Version von Regedit.exe durchführen. Es gibt hierfür jedoch auch Kommandozeilen-Optionen:

Ein Beispiel für eine .REG-Datei sieht folgendermaßen aus:

REGEDIT4
;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PStat]
"Type" = dword:00000001
"Start" = dword:00000001
"ErrorControl" = dword:00000001
;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\PStat\Performance]
"Close" = "CloseP5PerformanceData"
"Collect" = "CollectP5PerformanceData"
"Library" = "p5ctrs.dll"
"Open" = "OpenP5PerformanceData"
;
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog\Application\p5ctrs]
"EventMessageFile" = "%SystemRoot%\\system32\\p5ctrs.dll"
"TypesSupported" = dword:00000007

Das Sichern und Restaurieren von Registry-Strukturen kann mit den Programmen Regback.exe, Regrest.exe und Regini.exe aus dem Ressource Kit geschehen.

Das Resource-Kit-Werkzeug TweakUI gehört zu den sogenannten "Power Toys" und erlaubt die Feineinstellung der Benutzerschnittstelle von Windows NT 4.0 und Windows 95. Hierzu wird ein neues Icon in die Systemsteuerung installiert, über das die TweakUI-Funktionalitäten erreichbar sind. Im Grunde erlaubt TweakUI einen dirketen Zugriff auf jene Registry-Einträge, die im Alltag oft gebraucht werden. Damit stellt es eines jener "Bequemlichkeits"-Werkzeuge dar, die oftmals im Resource Kit zu finden sind und auf die ein Administrator nach einer Weile nicht mehr verzichten möchte.

Abbildung 9.11: Das Resource Kit Werkzeug TweakUI

Registry-Highlights

Im folgenden werden einige Registry-Highlights aufgeführt:

Kleine Helfer: Shell, Dokument-Menü permanent leeren

Position Name(n) Bedeutung
HKEY_CURRENT_USER\ Software\ Microsoft\ Command\ Processor CompletionChar Ein Wert abweichend von Null gibt der NT-Kommandozeile die Fähigkeit, auf Tastendruck Eingaben zu vervollständigen - der Wert gibt den ASCII-Code der jeweiligen Taste an (z.B. 9 für die Tabulatortaste).
HKEY_CURRENT_USER\ Software\ Microsoft\ WindowsNT\ CurrentVersion\ WinLogon ParseAutoexec Verhindert, wenn auf NULL gesetzt, daß NT die Pfadangaben einer eventuell auf der Platte befindlichen (DOS) autoexec.bat auswertet (Standard = 1).
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ explorer\ Shell Folders
User Shell Folders
Änderung des Werts dieser Namen in "c:\recycled" leert die Einträge im Dokument-Menü permanent.

 

Autologin, Druckereinstellung, Dateisystem

Position Name(n) Bedeutung
HKEY_LOCAL_MACHINE\ Software\ Microsoft\ WindowsNT\ CurrentVersion\ WinLogon AutoAdminLogon
DefaultPassword
DefaultUserName
Nach Hinzufügen von AutoAdminLogon als String und dem Eintragen von "1" als Wert, meldet NT den als DefaultUserName angemeldeten Benutzer nach dem Systemstart automatisch an.
HKEY_LOCAL_MACHINE\ Software\ Microsoft\ WindowsNT\ CurrentVersion\ WinLogon ProfileList Zeigt alle bisher eingeloggten Benutzer
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Control\ Print\ Providers NetPopup Bei REG_DWORD = 0 wird verhindert, daß bei Druckoperationen eine Popup-Dialogbox auf dem Domain Controller ausgegeben wird.
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Control\ FileSystem Win31FileSystem Trägt man hier eine 1 ein, arbeitet NT auf FAT-Partitionen nicht mit langen Dateinamen (Standard =0)
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Control\ FileSystem NtfsDisable8dot3
NameCreation
Trägt man hier eine 1 ein, verzichtet NT darauf, für lange NTFS-Dateinamen eine Kurzform zu generieren. Alte Programme (DOS und Windows) sehen solche Dateien nicht!

 

CD AutoRun, Verknüpfungssymbole bei den Icons entfernen, Animierte Fenster abschalten, Automatisches Starten von Anwendungen bei Login, Fix des SAMBA-Bugs von NT4 SP3

Position Name(n) Bedeutung
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ CDRom AutoRun Bei 0 wird verhindert, daß beim Einlegen von CDs die AutoRun-Funktionalität ausgeführt wird.
HKEY_CLASSES_ROOT\ lnkfile
piffile
Das jeweilige Löschen des Eintrags IsShortcut unterdrückt den "Verknüpfungspfeil" in Icons, die eine Verknüpfung repräsentieren.
HKEY_CURRENT_USER\ Control Panel\ desktop\ WindowMetrics MinAnimate Wenn 0, dann ist die Animation beim Maximieren und Minimieren von Fenstern ausgeschaltet.
HKEY_LOCAL_MACHINE\ Software\ Microsoft\ Windows\ CurrentVersion\ Run
RunOnce
RunService
RunServiceOnce
Zum Starten von Programmen oder Services beim Login muß in einem der Schlüssel links ein neuer Schlüssel mit der Zeichenfolge Programmnamens erzeugt werden. In den Wert wird der komplette Namen inklusive Pfad und Erweiterung eingetragen.
HKEY_LOCAL_MACHINE \system \currentcontrolset \services \rdr \parameters EnablePlainTextPassword (DWORD) Nach Eintrag des Werts 1 funktioniert unter NT 4.0 Service Pack 3 die Verbindungsaufnahme zu einem SAMBA-Server wieder

 

Unterscheidung zwischen NT Workstation und NT Server

Position Name(n) Bedeutung
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Control\ ProductOptions ProductType Unterscheidung zwischen NT Workstation und NT Server: Der String "WinNT", "ServerNT" oder "LanmanNT" ist verantwortlich für die Rechnerrolle unter Windows NT 3.51
HKEY_LOCAL_MACHINE\ System\ Setup SystemPrefix Zusätzliche Unterscheidung zwischen NT Workstation und NT Server in der Version 4.0: Binärwert, der als zwei DWORDs interpretiert wird. Die relevante Information liegt an Position "0x0400000" des höheren DWORDs. Für "ServerNT" und "LanmanNT" muß der Wert gesetzt sein, für "WinNT" nicht.

 

Browser-Einstellungen (Browser Service: LMSVCS.EXE)

Position Name(n) Bedeutung
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Browser\ Parameters MaintainServerList Wird dieser Wert auf "Yes" oder "Auto" gesetzt, dann wird Windows NT mit dem Browser Service gestartet. Bei "Yes" wird er eine Browser-Wahl starten, bei "Auto" ist er ein potentieller Browser. "Auto" ist die Standardeinstellung der NT Workstation. Ist der Wert auf "No" gesetzt, wird Windows NT niemals Browser werden.
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ Browser\ Parameters IsDomainMasterBrowser Ist dieser Wert auf "True" bzw. "Yes" gesetzt, kann dieser Rechner (Server oder Workstation) als Preferred Master Browser angesehen werden.
HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ LanmanServer\ Parameters Announce (DWORD) Die Zahl der Sekunden, die ein Browser zwischen seinen Bekanntmachungen im Netz wartet. Standard ist 12 Minuten (270 Sekunden).

 

Explorer-Einstellungen

Position Name(n) Bedeutung
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer NoSaveSettings (DWORD) Wenn 1, dann werden Änderungen des Desktops/Explorers beim Beenden von Windows nicht gesichert.
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer NoClose (DWORD) Wenn 1, dann kann der betreffende User Windows nicht mehr über die Startleiste herunterfahren.
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer NoDesktop (DWORD) Wenn 1, dann wird kein Desktop angezeigt, sondern nur die Startleiste.
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer NoDrives (Binär) Jedes Bit steht für ein Laufwerk (00 00 00 00 bis FF FF FF 03), das im Explorer nicht angezeigt wird. Beispiel: LW A: und C: werden nicht angezeigt: 05 00 00 00. Diese Einstellung schließt aber nicht den Zugriff auf das Laufwerk aus.
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer NoRun (DWORD) Wenn 1, dann wird der Menüpunkt "Ausführen..." aus dem Startmenü nicht angezeigt.
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer NoFind (DWORD) Wenn 1, dann wird der Menüpunkt "Suchen..." aus dem Startmenü nicht angezeigt.
HKEY_CURRENT_USER\ Software\ Microsoft\ Windows\ CurrentVersion\ Policies\ Explorer NoNetHood (Binär) Wenn 1, dann wird das Symbol "Netzwerkumgebung" nicht mehr auf dem Desktop angezeigt.

 

Kontext-Menüeinträge bei NT 4.0

Eintrag eines neuen Menüpunktes beim Klicken mit der rechten Maustaste auf den Start-Button der Startleiste. Anmerkung: Der Start-Button ist logisch gesehen ein Ordner!

Position Name(n) Bedeutung
HKEY_CLASSES_ROOT\ Folder\ Shell\ NeuerEintrag Der zu erzeugende Schlüssel \NeuerEintrag erhält eine Zeichenkette mit dem Text für den Kontext-Menüeintrag, z.B. "Öffne &Desktop" zum Öffnen des Desktop-Verzeichnisses oder "Datei Manager" für den Datei-Manager
HKEY_CLASSES_ROOT\ Folder\ Shell\ NeuerEintrag\ Command Der zu erzeugende Unterschlüssel \NeuerEintrag\ Command erhält eine Zeichenkette mit dem auszuführenden Befehl, z.B. "Explorer c:\winnt\desktop" zum Öffnen des Desktop-Verzeichnisses oder "c:\winnt\winfile.exe" für den Start des Datei-Managers

 

Zum nächsten Kapitel