Ü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 Objekttypfile
, um den Besitz oder die Berechtigungen für eine Datei oder einen Ordner zu ändern. Verwenden Sie für Registrierungsschlüssel den Objekttypreg
-actn
:-actn
die Aktion an, was SetACL für das angegebene Objekt tun soll.setowner
die Aktion alssetowner
, umsetowner
. Um die Berechtigungen zu ändern, legen Sie die Aktion alsace
.
(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- Laden Sie SetACL herunter und entpacken Sie den Inhalt in einen Ordner.
- Kopieren Sie die entsprechende Version von
setacl.exe
(32-Bit vs 64-Bit) des Tools in einen Ordner - z. B.d:\tools
. HKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}
, Sie möchten den Besitz des RegistrierungszweigsHKEY_CLASSES_ROOT\CLSID\{D63B10C5-BB46-4990-A94F-E40B9D520160}
und derAdministrators
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.
- Mit dem ersten Befehl wird die
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.


-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-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