Übernehmen Sie den Besitz des Registrierungsschlüssels und weisen Sie Berechtigungen über die Befehlszeile zu

Wir haben gesehen, wie Sie den Registrierungseditor (regedit.exe) verwenden, um den Besitz eines Registrierungsschlüssels und von Unterschlüsseln zu ändern. Außerdem haben wir erläutert, wie Sie die Berechtigungen eines Registrierungsschlüssels zurücksetzen oder hartnäckige Schlüssel mit RegASSASSIN löschen können. In diesem Artikel erfahren Sie, wie Sie den Besitz von Registrierungsschlüsseln ändern und Berechtigungen über die Befehlszeile erteilen.

Windows verfügt über die Konsolendienstprogramme takeown.exe und icacls.exe zum Ändern des Besitzes und der Berechtigungen von Dateien / Ordnern. Es gibt jedoch keine derartigen integrierten Tools zum Ändern des Besitzes von Registrierungsschlüsseln über die Befehlszeile. Für die Aufgabe benötigen Sie ein Drittanbieter-Tool namens SetACL .

SetACL: Befehlszeilenargumente

Bevor Sie fortfahren, sehen Sie sich die Befehlszeilensyntax zum Ändern des Datei- / Registrierungsbesitzes und der Berechtigungen mithilfe von SetACL an.

 SetACL -on Objektname -ot Objekttyp -actn Aktion 
  • -on : Geben Sie den Pfad zu dem Objekt an, mit dem SetACL arbeiten soll (z. B. Datei, Registrierungsschlüssel, Netzwerkfreigabe, Dienst oder Drucker).
  • -ot : Geben Sie den Objekttyp an. Verwenden Sie den Objekttyp file, um den Besitz oder die Berechtigungen für eine Datei oder einen Ordner zu ändern. Verwenden Sie für Registrierungsschlüssel den Objekttyp reg
  • -actn : -actn die Aktion an, was SetACL für das angegebene Objekt tun soll. setowner die Aktion als setowner, um setowner . Um die Berechtigungen zu ändern, legen Sie die Aktion als ace .

(Eine vollständige Liste der Objekte, Typen und unterstützten Aktionen finden Sie in der SetACL-Dokumentation.)

Übernehmen Sie den Besitz des Registrierungsschlüssels und weisen Sie Berechtigungen über die Befehlszeile zu

So ändern Sie den Besitz und die Berechtigungen von Registrierungsschlüsseln mithilfe von SetACL:

$config[ads_text6] not found
  1. Laden Sie SetACL herunter und entpacken Sie den Inhalt in einen Ordner.
  2. Kopieren Sie die entsprechende Version von setacl.exe (32-Bit vs 64-Bit) des Tools in einen Ordner - z. B. d:\tools .
  3. HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}, Sie möchten den Besitz des Registrierungszweigs HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160} und der Administrators vollständigen Kontrollberechtigungen erteilen. Führen Sie diese beiden Befehle in einem Eingabeaufforderungsfenster des Administrators aus:
     SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: Administratoren" SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B- 4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: Administratoren; p: voll " 

    SetACL: Eigentümer eines Registrierungsschlüssels ändern und vollständige Berechtigungen zuweisen
    • Mit dem ersten Befehl wird die Administrators als Eigentümer des Schlüssels festgelegt
    • Der 2. Befehl weist der Administrators Vollzugriffsberechtigungen für den Schlüssel zu.

Die Gruppe Administrators besitzt den Schlüssel und seine Unterschlüssel und verfügt außerdem über Vollzugriffsberechtigungen, die Sie mit dem Registrierungseditor überprüfen können.


Wichtig: Um den Besitz und die Berechtigungen für diesen Schlüssel und diese Unterschlüssel zu -rec Yes, fügen -rec Yes am Ende das Argument -rec Yes . Weitere Informationen finden Sie in der Abbildung unten.


Fehler beim Ändern der Registrierungsschlüsselberechtigungen?

SetACL meldet den folgenden Fehler, wenn Sie versuchen, die Berechtigungen für eine Datei / einen Ordner oder einen Registrierungsschlüssel zu ändern, auf den Sie keinen Zugriff haben. Um diesen Fehler zu vermeiden, stellen Sie sicher, dass Sie zuerst den Schlüssel besitzen, bevor Sie seine Berechtigungen ändern.

SetACL beendet mit Fehler:

SetACL-Fehlermeldung: Der Aufruf von SetNamedSecurityInfo () ist fehlgeschlagen

Betriebssystemfehlermeldung: Zugriff verweigert.

Eigentümer übernehmen und Berechtigungen rekursiv zuweisen (dieser Schlüssel & Unterschlüssel)

Um den Besitz zu ändern und Administrators die vollständige Kontrollberechtigung (für Administrators ) für den angegebenen Schlüssel zusammen mit seinen Unterschlüsseln zu -rec Yes, schließen -rec Yes am Ende den Schalter -rec Yes, wie unten angegeben:

 SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: Administratoren" -rec Ja SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID {D -BB46-4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: Administratoren; p: full "-rec Ja 

Legen Sie TrustedInstaller als Eigentümer fest

Verwenden Sie dieselbe Befehlszeilensyntax, um TrustedInstaller als Eigentümer des oben genannten Registrierungsschlüssels festzulegen und ihm rekursiv TrustedInstaller zuzuweisen. Sie müssen nur den Konto- / Gruppennamen ändern. Hier sind die Befehle, die Sie dieses Mal ausführen müssen:

 SetACL.exe -on "HKEY_CLASSES_ROOT \ CLSID \ {D63B10C5-BB46-4990-A94F-E40B9D520160}" -ot reg -actn setowner -ownr "n: nt service \ trustinstaller" -rec Ja SetACL.exe -on "HKEY_CLASSES_ROOT \ \ {D63B10C5-BB46-4990-A94F-E40B9D520160} "-ot reg -actn ace -ace" n: "nt service \ trustinstaller"; p: full "-rec Ja 

Nach dem Ausführen des obigen Befehls wird TrustedInstaller ( NT SERVICE\TrustedInstaller ) als Eigentümer des Schlüssels und der Unterschlüssel festgelegt.

zusätzliche Information

  • Microsoft SubInACL: Es gibt auch ein anderes Konsolentool namens SubInACL, das von Microsoft während der Windows XP-Ära veröffentlicht wurde. Es ist Teil der Windows XP / 2003 Resource Kit-Tools. SubInACL kann verwendet werden, um den Besitz und die Berechtigungen für Dateien / Ordner und die Registrierung festzulegen. Da SubInACL jedoch von Microsoft eingestellt wurde und standardmäßig 32-Bit-Datei- und Registrierungspfade (auf Windows 64-Bit-Systemen) verwendet wird, ist es in einigen Situationen in 64-Bit-Versionen von Windows unbrauchbar.
  • Microsoft Regini.exe: Sie haben ein weiteres integriertes Konsolentool namens regini.exe, mit dem Sie die Registrierungsberechtigungen mithilfe einer textbasierten Datei ändern können. Regini.exe kann jedoch den Besitz eines Registrierungsschlüssels nicht ändern. Um weitere Informationen zu regini.exe zu erhalten, öffnen Sie ein Eingabeaufforderungsfenster und geben Sie regini.exe /?
  • Helge Kleins SetACL ist ein weit verbreitetes Tool, das sicherlich die Lücke von SubInACL geschlossen hat und auch die Mängel von regini.exe . SetACL kann viel mehr als das, was in diesem Artikel beschrieben wird.

Weitere Informationen finden Sie in der SetACL-Dokumentation: SetACL-Befehlszeilenversion (SetACL.exe) - Syntax und Beschreibung.

$config[ads_text6] not found

Ähnlicher Artikel