Der Besitzermanager für Registrierungsschlüssel
Version 1.0
Bedienungsanleitung
Copyright © 1999-2001 Frank Heyne (fh@heysoft.de) - All rights reserved!
Letzte Änderung: 10. Januar 2001
Einführung
Wozu ist RegOwner gut?
Mit RegOwner können Sie den Besitzer eines Registrierungsschlüssels von Windows NT abfragen und ändern, falls Sie die entsprechenden Berechtigungen besitzen. Mit dem Programm RegEdt32 haben Sie zwar die Möglichkeit, den Besitzer für einen bestimmten Registrierungsschlüssel zu erfahren und den Besitz zu übernehmen, aber die Suche nach allen Schlüsseln, die (nicht) einem bestimmten Benutzer gehören, ist damit nicht möglich. Ebensowenig können Sie mit RegEdt32 beliebige Benutzer zum Besitzer eines Schlüssels machen. RegOwner können Sie in einer Batch-Datei oder an der Eingabeaufforderung verwenden.

Unter welchen Lizenzbedingungen darf ich RegOwner verwenden?
Das Programm wurde mit größter Sorgfalt entwickelt. Der Autor kann aber nicht dafür garantieren, daß es unter jeder Version von Windows NT auf jedem Rechner fehlerfrei läuft. Aus diesem Grunde wird bei eventuell auftretenden Fehlern oder Schäden, gleich welcher Art, keine Haftung übernommen.
Das Programm ist nur als Bestandteil des Programmpaketes RegTools für Windows NT erhältlich und darf nicht weitergegeben werden.

Was benötige ich, um das Programm erfolgreich laufen zu lassen?

Optionen
Eine (ziemlich lange ;) Kurzübersicht der erlaubten Parameter erhalten Sie nach Aufruf von RegOwner /?
RegOwner 2.0 - Besitzermanager für Registrierungsschlüssel
Copyright (c) 1999-2001 Frank Heyne Software (http://www.heysoft.de)
Die Benutzung erfolgt auf eigene Gefahr!

Aufruf: RegOwner Key Befehle
  Key: [\\Computer\]Root[\Subkey]
    \\Computer:  Netzwerkrechner
    Root: HKLM, HKU, HKCU, HKCC oder HKCR
    Subkey: Pfad zu dem interessierenden Registrierungsschlüssel

  Abfragende Befehle:
    /L        List (Besitzer anzeigen)
    /Qxx      Query (Ist xx der Besitzer?)
    /Fxx      Findet alle Teilschlüssel, wo xx der Besitzer ist
    /Nxx      Findet alle Teilschlüssel, wo xx NICHT der Besitzer ist

  Manipulationsbefehle:
    /Sxx      Setzt Besitzer auf xx
    /T        Übernimmt Besitz

  Andere Befehle:
    -Subtree      Bearbeite Teilbaum (nicht nötig bei /Q, /F und /N)
    -ANSI         Verwende ANSI-Zeichensatz statt OEM-Zeichensatz
    -?            Dieser Hilfetext

  Optionen für xx:
    GE = wirklich "Jeder"
    GA = vordefinierte Gruppe "Administratoren"
    GU = vordefinierte Gruppe "Benutzer"
    GT = vordefinierte Gruppe "Authentifizierte Benutzer"
    GI = vordefinierte Gruppe "Interaktiv"
    GN = vordefinierte Gruppe "Netzwerk"
    GS = vordefinierte Gruppe "System"
    GO = vordefinierte Gruppe "Ersteller Besitzer"
    GV = vordefinierte Gruppe "Service"
    GL = vordefinierte Gruppe "Lokal"
    GB = vordefinierte Gruppe "Batch"
    GY = vordefinierte Gruppe "Anonyme Anmeldung"
    GP = vordefinierte Gruppe "Systemoperatoren"
    DA = Gruppe "Domänen-Administratoren"
    DU = Gruppe "Domänen-Benutzer"
    DG = Gruppe "Domänen-Gäste"
    ALzzz =       Lokales Konto zzz des betreffenden Rechners
    ADzzz =       Domänen-Konto zzz
    AQuelle\zzz = beliebiges Qualifiziertes Konto quelle\zzz

Die Hilfeseite von RegOwner
Die Vielfalt mag ja im ersten Moment verwirrend sein, aber wir beschäftigen uns im Folgenden mit jeder einzelnen Option, so daß keine Fragen offen bleiben dürften.
Sie müssen dem Programm 2 Informationen geben:
  1. Welcher Registrierungsschlüssel interessiert Sie? - Das Programm muß den vollständigen Pfad zu dem Schlüssel wissen.
  2. Was soll mit dem Besitzer von diesem Schlüssel angestellt werden? - Sie müssen wenigstens einen Befehl angeben, damit das Programm überhaupt etwas sinnvolles macht.
Bei den Eingaben wird nicht nach Groß- und Kleinschreibung unterschieden.

Registrierungsschlüssel angeben

Der Registrierungsschlüssel kann sich sowohl auf dem lokalen Rechner als auch auf einem Netzwerkrechner befinden. Er ist als erster Parameter im UNC-Format anzugeben:
[\\Computer\]Root[\Subkey]
Den Namen des lokalen Rechners brauchen Sie natürlich nicht anzugeben. Wenn Sie keinen Teilschlüssel (Subkey) angeben, wird der angegebene Hauptschlüssel (Root) verwendet. Folgende Abkürzungen sollten Sie für die 5 Hauptschlüssel verwenden:
HKLM - HKEY_LOCAL_MACHINE
HKU  - HKEY_USERS
HKCU - HKEY_CURRENT_USER
HKCC - HKEY_CURRENT_CONFIG
HKCR - HKEY_CLASSES_ROOT
Wenn der Registrierungspfad Leerzeichen enthält, muß der gesamte Pfad in doppelte Hochkommas eingeschlossen werden.
Hinweis: HKCU ist im Netzwerk nicht erlaubt, weil es keinen Sinn macht!

Schalter
Der Schalter -ANSI
Mit diesem Schalter weisen Sie das Programm an, den ANSI-Zeichensatz statt des sonst benutzten OEM-Zeichensatzes zu verwenden. Wie Sie wissen, ist OEM der voreingestellte Zeichensatze der Eingabeaufforderung. Er sollte also benutzt werden, wenn ein Kommandozeilen-Programm am Bildschirm gestartet wird. ANSI ist der übliche Zeichensatz der grafischen Benutzeroberfläche. Er sollte benutzt werden, wenn die Ausgabe des Programms in eine Datei umgeleitet wird, welche später mit einem GUI Programm weiterverarbeitet oder gelesen wird.

Der Schalter -SUBTREE
Mit diesem Schalter weisen Sie das Programm an, statt nur den angegebenen Registrierungsschlüssel auch den gesamten Teilbaum darunter zu bearbeiten. Bei den Befehlen /F und /N ist die Angabe von -SUBTREE überflüssig und nicht zulässig, da sie standardmäßig den gesamten Teilbaum durchsuchen. Bei dem Befehl /Q in Verbindung mit -SUBTREE wäre der Rückgabewert schwerlich zu interpretieren, weshalb -SUBTREE auch hier verboten ist.

Befehle

Die Suchfunktionen /Q, /F und /N können nicht mit anderen Optionen kombiniert werden. Die Abarbeitung der Befehle erfolgt in folgender Reihenfolge:

  1. Falls angegeben, wird einer der Befehle /F oder /N (rekursiv, beginnend beim angegebenen Schlüssel) ausgeführt und das Programm beendet.
  2. Falls angegeben, wird der Befehl /L ausgeführt.
  3. Falls angegeben, wird der Befehl /Q ausgeführt und das Programm beendet.
  4. Falls das Programm noch nicht beendet wurde, werden alle anderen Befehle von links nach rechts abgearbeitet.
Der Befehl /L (Besitzer anzeigen)
Mit diesem Befehl können Sie den Besitzer des angegebenen Registrierungsschlüssels anzeigen lassen. Wenn Sie zusätzlich den Schalter -SUBTREE verwenden, wird auch für jeden Teilschlüssel unterhalb der Besitzer angezeigt.

Der Befehl /Q (Besitzer abfragen)
Mit diesem Befehl können Sie abfragen, ob ein bestimmtes Konto der Besitzer eines Schlüssels ist. RegOwner antwortet auf 2 Arten: Die Ausgabe erfolgt zum einen als Text und zum anderen als Rückgabewert des Programms. Stimmt der Besitzer mit dem angegebenen Konto überein, so gibt das Programm 0 zurück, andernfalls ist der Rückgabewert 1. Wenn der Befehl /Q ausgewertet wird, ist der Schalter -SUBTREE nicht erlaubt.

Achtung Fallen!
Es liegt in Ihrer Verantwortung, sicherzustellen, daß RegOwner mit gültigen Parametern aufgerufen wird, wenn Sie in Abhängigkeit vom Rückgabewert irgendwelche Aktionen auslösen wollen! Geben Sie beispielsweise einen nichtexistierenden Pfad zu einem Schlüssel an, so endet das Programm immer mit einem Fehlerwert! Es ist also empfehlenswert, in der Batch-Datei RegOwner zuerst mit dem Befehl /L aufzurufen. Ist dabei der Rückgabewert 0, so ist sicher, daß der Pfad existiert und darauf zugegriffen werden kann (Sie haben die notwendigen Berechtigungen und ggf. die Netzwerkverbindung steht.) Wenn Sie anschließend den Befehl /Q verwenden, können Sie sicher sein, daß der Rückgabewert wirklich etwas über den abgefragten Besitzer aussagt und keinen Fehler im Programmaufruf verschlüsselt.
Das Verwenden von /Q in Verbindung mit einem ungültigen Befehl oder Schalter (wie -SUBTREE) gibt ebenfalls einen Fehlercode statt eines Abfrageergebnises zurück!

Der Befehl /S (Besitzer setzen)
Dieser Befehl versucht, das angegebene Konto als Besitzer des Schlüssels einzutragen. Sie können den Befehl /S auch mit -SUBTREE kombinieren, so daß alle Besitzer im angegebenen Teilbaum geändert werden.
 
Der Befehl /T (Besitz übernehmen)
Dieser Befehl versucht, das Konto, unter dem Sie gegenwärtig angemeldet sind, als Besitzer des Schlüssels einzutragen. Sie können den Befehl /T auch mit -SUBTREE kombinieren, falls Sie den Besitz des gesamten Teilbaumes übernehmen möchten.
 
Der Befehl /F
Dieser Befehl listet alle Schlüssel im angegebenen Teilbaum auf, die dem betreffenden Konto gehören.

Der Befehl /N
Dieser Befehl zeigt genau die Schlüssel im angegebenen Teilbaum an, dei der Befehl /F nicht anzeigt, mit anderen Worten alle Schlüssel, die einen anderen Besitzer haben als das angegebene Konto.

Alles klar?
Wenn nach gründlicher Lektüre dieses Artikels wider Erwarten noch Unklarheiten bezüglich des Setzens oder der Abfrage des Besitzers von Schlüssel in der Registrierung von Windows NT herrschen, können Sie zwecks Klärung gern eine email an fh@heysoft.de schicken. Zuvor sollten Sie aber prüfen, ob Ihre Frage nicht schon in der FAQ zu Sicherheitsfragen der Windows NT Registrierung beantwortet wurde.