Jak změnit vlastníka klíče nebo větev registru z příkazového řádku

Někdy, abyste mohli něco změnit v registru (proveďte vyladění nebo jen proveďte potřebnou změnu), musíte nejprve přistupovat k větev / klíč registru. Zdá se, že to není problém pro správce. Nuancí však je, že ani správce nemůže provádět změny v některých pobočkách registru Windows. Přístup k těmto pobočkám je omezen seznamy ACL, ve kterých buď neexistují žádná oprávnění pro zápis pro skupinu místních správců, nebo TrustedInstaller nebo System jsou přiděleni jako vlastníci takových sekcí. V této příručce vám ukážeme několik jednoduchých způsobů, jak udělit vlastníkovi správce práva a plná práva na takto chráněný klíč registru..

Nebereme v úvahu grafickou metodu změny vlastníka a přidělování práv pomocí obslužného programu regedit.exe a nebudeme se zabývat možnostmi změny vlastnictví jakéhokoli klíče registru a poskytnutím přístupu z příkazového řádku. Všechny níže popsané metody fungují ve všech verzích Windows.!

Obsah:

  • Získání vlastnických práv k klíči registru pomocí obslužného programu SubInACL
  • Změna vlastnictví a práv na klíč registru pomocí obslužného programu SetACL
  • Získání vlastnických práv k klíči registru pomocí vestavěného příkazu REGINI
  • Příklad použití

Získání vlastnických práv k klíči registru pomocí obslužného programu SubInACL

Subinacl - Toto je oficiální nástroj od společnosti Microsoft, který můžete použít k prohlížení a změně oprávnění, informací o vlastníkovi a zabezpečení atd. pro soubory, složky, klíče registru, služby atd. na oknech .

Tento nástroj byl vytvořen pro Windows 2000, XP a Server 2003, lze jej však použít se všemi novými verzemi systému Windows.

KROK 1:

Stáhněte si nástroj z webu společnosti Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=23510

KROK 2:

Toto je standardní instalační program MSI, který zkopíruje soubor SubInACL.exe do složky "C: \ Program Files (x86) \ Windows Resource Kits \ Tools \" v systému Windows x64 a do složky "C: \ Program Files \ Windows Resource Kits \ Tools \". na Windows x86.

Ale nikdo vás neobtěžuje jednoduše rozbalit MSI soubor (například pomocí 7-Zip) kdekoli bez nutnosti jej instalovat.

KROK 3:

Můžete si vybrat, jak spustit SubInACL.exe. Z místa instalace (cd C: \ Program Files (x86) \ Windows Resource Kits \ Tools) nebo z místa, kde jste jej rozbalili, alespoň z jednotky flash 🙂. Nebo můžete zkopírovat SubInACL.exe do složky C: \Windows\Systém32 a pak to začne jménem. Doporučujeme zkopírovat soubor subinacl.exe do složky C: \ Windows \ System32 (C: \ Windows \ SysWOW64), abyste mohli SubInACL spouštět z libovolného vhodného místa.

KROK 4:

Naučme se, jak pracovat se SubInACL.exe. Syntaxe obslužného programu (na příkazovém řádku s právy správce):

SubInACL / zadejte název / akci

/typ: Označte požadovaný typ objektu. Pokud potřebujete změnit vlastníka souboru nebo složky, použijte soubor, a pokud potřebujete změnit vlastníka klíče registru, použijte keyreg nebo subkeyreg. Rozdíl mezi keyreg a subkeyreg je ten keyreg změní vlastníka pouze určitého klíče a subkeyreg změní vlastníka tohoto klíče a všechny podřízené klíče.

jméno: Nahraďte tento parametr názvem souboru, složky nebo klíče registru.

/akce: Tento parametr definuje akci, která bude provedena na objektu. Protože změníme vlastníka klíče a práva na klíč, budeme používat /osadník=administrátoři /grant=administrátoři=f jako akce.

Podíváme se na příklad.

SUBINACL / keyreg "HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla" / setowner = Administrators / grant = Administrators = f

Poznámka:. V anglické verzi systému Windows musíte místo administrátorů zadat Administrators.

Tento příkaz znamená, že se změní vlastník tohoto klíče a administrátor obdrží všechna práva ke správě tohoto klíče.

Stačí jen nahradit název klíče z příkladu svým vlastním a spustit příkaz ...

PS: Pokud máte zájem podívat se na všechny dostupné syntaxe, klíče a parametry příkazu SubInACL, spusťte s takovým klíčem Subinacl /pomoc

Změna vlastnictví a práv na klíč registru pomocí obslužného programu SetACL

Setacl je bezplatný obslužný program konzoly. Musíte si stáhnout program a spustit potřebné příkazy.

KROK 1:

Stáhněte si program SetACL: https://helgeklein.com/download/#setacl

KROK 2:

Po stažení rozbalte ZIP soubor a podívejte se na dvě verze obslužného programu: pro x86 a pro x64 verze Windows. Musíte použít správný SetACL.EXE pro vaši verzi Windows. Podívejte se, kterou verzi Windows můžete ve vlastnostech systému.

KROK 3:

Existují dva způsoby použití aplikace. Nástroj můžete například uložit do složky E: \ SetACL, poté otevřít příkazový řádek jako správce a přejít do této složky pomocí standardních příkazů nebo zadat úplnou cestu ke spuštění nástroje, například E: \ SetACL \ SetACL.exe. Nebo můžete zkopírovat SetACL.exe do systémové složky C: \Windows\Systém32 (C: \ Windows \ SysWOW64), pak můžete příkaz SetACL spustit odkudkoli. Doporučujeme zkopírovat soubor EXE do složky C: \ Windows \ System32 (C: \ Windows \ SysWOW64).

KROK 4:

Nyní, když jste dokončili všechny předběžné postupy, můžete spustit SetACL:

SetACL-on jméno -ot typ -jednat akce

Syntaxe:

Co je zvýrazněno tučně zůstává nezměněno, což je zvýrazněno kurzívou změníme se:

-dál: Tento parametr označuje úplnou cestu k souboru nebo klíči registru, jehož vlastníka chcete změnit.

-ot: Tento parametr definuje typ objektu. Pokud změníme vlastníka souboru, změníme parametr na soubor. Pokud je klíč registru, zadejte reg

-jednat: Tento parametr označuje, co dělat. Existuje mnoho možných možností, ale protože mluvíme o klíčích registru, zejména o změně vlastníka nebo přiřazení jiných práv ke klíči, budeme používat pouze hodnoty osadník nebo eso.

Chcete-li lépe porozumět tomu, jak to funguje, podívejte se na příklad:

Předpokládejme, že chcete změnit vlastníka klíče HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla. K tomu musíme spustit SetACL s následujícími parametry:

SetACL.exe - na "HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla" -ot reg -actn setowner -ownr "n: Administrators"

SetACL.exe - na "HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla" -ot reg -actn ace -ace "n: Administrators; p: full"

První příkaz učiní skupinu místních správců vlastníkem klíče a druhý poskytne plný přístup ke klíči.

Musíte pouze změnit hodnotu klíče mezi uvozovkami ("") na hodnotu, kterou potřebujete.

Poznámka: SetACL má mnoho parametrů, ale přečtěte si o tom sami zde (https://helgeklein.com/setacl/documentation/command-line-version-setacl-exe/).

Získání vlastnických práv k klíči registru pomocí vestavěného příkazu REGINI

Tento příkaz je součástí každého systému Windows a můžeme jej použít k přiřazení oprávnění klíčům registru. Použití příkazu je velmi jednoduché. Vytvoříme soubor skriptu s potřebnými parametry a předáme tento soubor ke zpracování příkazu REGINI.

KROK 1:

Otevřete Poznámkový blok (Poznámkový blok) a zadejte název požadovaného klíče a ACL (Access Control List) pomocí tohoto formátu:

Key_name [ACL]

Změnit Klíč_jméno název klíče, který potřebujete, ale zjistěte, že název klíče je správný, jak je uvedeno níže:

\ Registry \ machine \ software \ classes (pro klíče sekce HKEY_CLASSES_ROOT)

\ Registry \ machine (pro klíče v sekci HKEY_LOCAL_MACHINE)

\ Registry \ user \ user_sid (pro klíče v sekci HKEY_CURRENT_USER) (nahraďte user_sid ke správnému bezpečnostnímu ID tohoto uživatele)

\ Registr \ uživatel (pro klíče v sekci HKEY_USERS)

Podívejte se například na klíč „HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla“ a napište skript:

\ Registry \ machine \ SOFTWARE \ Mozilla

Vyměňte ACL k těm, které potřebujeme, seznam:

1(poskytnout administrátorům plný přístup)Poskytněte správcům plný přístup
2(poskytnout administrátorům přístup ke čtení)Poskytněte správcům přístup pouze pro čtení
3(poskytnout administrátorům přístup ke čtení a zápisu)Poskytněte správcům právo na změnu
4(poskytnout administrátorům přístup ke čtení, zápisu a mazání)Poskytněte správcům právo měnit a mazat
5(k zajištění úplného přístupu Stvořitele / Vlastníka)Poskytněte tvůrci / vlastníkovi plný přístup
6(poskytnout přístup ke čtení a zápisu pro tvůrce / vlastníka)Poskytněte Stvořiteli / Vlastníkovi přístup ke změně
7(poskytnout všem plný přístup)Poskytněte všem plný přístup
8(poskytnout přístup všem ke čtení)Poskytněte všem přístup pouze pro čtení
9(poskytnout všem přístup ke čtení a zápisu)Dejte všem právo na změnu
10(poskytnout všem přístup ke čtení, zápisu a mazání)Dejte každému právo na změnu a smazání
17(k zajištění úplného přístupu do systému)Poskytněte systému plný přístup
18(k zajištění přístupu ke čtení a zápisu do systému)Dejte systému právo na změnu
19(poskytnout přístup ke čtení systému)Poskytněte systému přístup jen pro čtení

Nyní [ACL] ve skriptu bude nainstalováno něco podobného:

[1 6 9 17]

Jak je uvedeno v tabulce, bude to mít plný přístup ke správcům a systému a také právo změnit tvůrce klíčů a vše ostatní..

Poslední řádek bude vypadat takto:

\ Registry \ machine \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla [1 6 9 17]

Můžete použít libovolnou kombinaci ACL podle potřeby.

Poznámka: Pamatujte, že stávající oprávnění pro klíč zadaný ve skriptu budou nahrazena novými. Nezapomeňte do skriptu zahrnout oprávnění pro všechny účty. Pokud zapomenete udělit oprávnění účtu SYSTEM, bude tento účet ze seznamu přístupů odstraněn.

KROK 2:

Skript uložíme pod názvem ACL.TXT, poté otevřeme příkazový řádek jako správce a spusťte náš příkaz:

REGINI full_path_of_script_file

Nebo v našem případě to bude vypadat takto

REGINI c: \ install \ acl.txt

A to je vše. Oprávnění se okamžitě změní..

No, něco takového. Metoda 1 je nejúčinnější a funguje na 100%.

Příklad použití

Bylo nutné spustit hostitele vzdálené plochy, poskytnout skupině vývojářů sdílený přístup k serveru pro konfiguraci určitých aplikací a databáze. V budoucnu nebylo plánováno poskytovat vzdálený přístup k tomuto serveru. Byli tam více než 2 vývojáři a všichni chtěli pracovat současně. A slíbil dokončit za méně než 4 měsíce.

Dříve než řekl. Hostitel vzdálené plochy v systému Windows 2012 R2 byl zvýšen a začali jsme používat 120denní bezplatné období. Ale ... 4 měsíce nestačily (jako vždy). Nechtěl jsem použít právní klíč pro TS, protože práce je dočasná, jak jsem již řekl. Musel jsem ... využít znalostí, které jsi právě dostal.

Klíč registru odpovědný za počítání 120denní doby odkladu se nachází zde:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod

Skupina Administrators má k tomuto klíči přístup pouze pro čtení..

Byla použita metoda 1. Abychom řekli, Microsoft sám potrestal :)

SUBINACL / keyreg "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod" / setowner = správci / grant = správci = f

Změnil vlastníka a poskytl plný přístup správcům

Ještě jednodušší.

Odstraňte obsah tohoto klíče

reg odstranit "HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod" / va / f

A po restartu dostaneme .... Správně! 120 dní nového bezplatného období.

Tento příkaz můžete například spustit jako skript a spustit ho každých 115 dní podle plánu.

Jeho použití či nikoli je na vás, po konzultaci s vaším svědomím a ropuchou 🙂