Jak zmienić właściciela klucza lub gałęzi rejestru z wiersza poleceń

Czasami, aby zmienić coś w rejestrze (wykonać poprawkę lub po prostu wprowadzić potrzebną zmianę), najpierw trzeba uzyskać dostęp do gałęzi / klucza rejestru. Wydaje się, że nie jest to problem dla administratora. Niuans polega na tym, że nawet administrator nie może wprowadzać zmian w niektórych gałęziach rejestru systemu Windows. Dostęp do takich oddziałów jest ograniczony przez listy ACL, w których albo nie ma uprawnień do zapisu dla grupy lokalnych administratorów, albo TrustedInstaller lub System są przypisani jako właściciele takich sekcji. W tym przewodniku pokażemy kilka prostych sposobów nadania administratorowi praw właściciela i pełnych praw do chronionego klucza rejestru..

Nie będziemy rozważać graficznej metody zmiany właściciela i przypisywania uprawnień za pomocą narzędzia regedit.exe oraz rozważania możliwości zmiany własności dowolnego klucza rejestru i zapewnienia dostępu z linii poleceń. Wszystkie opisane poniżej metody działają we wszystkich wersjach systemu Windows.!

Treść

  • Uzyskiwanie praw właściciela do klucza rejestru za pomocą narzędzia SubInACL
  • Zmiana własności i praw do klucza rejestru za pomocą narzędzia SetACL
  • Uzyskiwanie praw właściciela do klucza rejestru za pomocą wbudowanego polecenia REGINI
  • Przykład użycia

Uzyskiwanie praw właściciela do klucza rejestru za pomocą narzędzia SubInACL

Subinakl - Jest to oficjalne narzędzie firmy Microsoft, którego można używać do przeglądania i zmiany uprawnień, właściciela i bezpieczeństwa itp. dla plików, folderów, kluczy rejestru, usług itp. w systemie Windows .

Narzędzie zostało napisane dla systemów Windows 2000, XP i Server 2003, jednak można go używać ze wszystkimi nowymi wersjami systemu Windows.

KROK 1:

Pobierz narzędzie ze strony Microsoft: https://www.microsoft.com/en-us/download/details.aspx?id=23510

KROK 2:

Jest to standardowy instalator MSI, który kopiuje plik SubInACL.exe do folderu „C: \ Program Files (x86) \ Windows Resource Kits \ Tools \” w systemie Windows x64 oraz do folderu „C: \ Program Files \ Windows Resource Kits \ Tools \” w systemie Windows x86.

Ale nikt nie przeszkadza, aby po prostu rozpakować plik MSI (na przykład za pomocą 7-Zip) w dowolnym miejscu bez potrzeby jego instalowania.

KROK 3:

Możesz wybrać sposób uruchomienia SubInACL.exe. Z miejsca instalacji (cd C: \ Program Files (x86) \ Windows Resource Kits \ Tools) lub z miejsca, w którym sam ją rozpakowałeś, przynajmniej z dysku flash 🙂. Lub możesz skopiować SubInACL.exe do folderu C: \Windows\System32 a potem zacznie się od nazwy. Zalecamy skopiowanie pliku subinacl.exe do folderu C: \ Windows \ System32 (C: \ Windows \ SysWOW64), aby można było uruchomić SubInACL z dowolnego dogodnego miejsca.

KROK 4:

Nauczmy się, jak pracować z SubInACL.exe. Składnia narzędzia (w wierszu polecenia z uprawnieniami administratora):

SubInACL / type name / action

/typ: Wskaż żądany typ obiektu. Jeśli chcesz zmienić właściciela pliku lub folderu, użyj plik, a jeśli musisz zmienić właściciela klucza rejestru, użyj keyreg lub subkeyreg. Różnica między keyreg a subkeyreg jest taka keyreg zmienia właściciela tylko określonego klucza, oraz subkeyreg zmienia właściciela tego klucza i wszystkich kluczy podrzędnych.

imię: Zastąp ten parametr nazwą pliku, folderu lub klucza rejestru.

/akcja: Ten parametr określa akcję, która zostanie wykonana na obiekcie. Skoro zamierzamy zmienić właściciela klucza i prawa do klucza, skorzystamy z niego /Setowner=administratorzy /przyznać=administratorzy=f jako akcja.

Patrzymy na przykład.

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

Uwaga. W angielskiej wersji systemu Windows zamiast administratorów należy podać administratorów.

To polecenie oznacza, że ​​właściciel tego klucza zmienia się, a Administrator otrzymuje pełne uprawnienia do zarządzania tym kluczem.

Musisz zastąpić nazwę klucza z przykładu własnym i uruchomić polecenie ...

PS: Jeśli chcesz przejrzeć całą dostępną składnię, klucze i parametry polecenia SubInACL, uruchom z takim kluczem Subinakl /pomoc

Zmiana własności i praw do klucza rejestru za pomocą narzędzia SetACL

Setacl to darmowe narzędzie do konsoli. Musisz pobrać program, a następnie uruchomić niezbędne polecenia.

KROK 1:

Pobierz program SetACL: https://helgeklein.com/download/#setacl

KROK 2:

Po pobraniu rozpakuj plik ZIP i zobacz dwie wersje narzędzia: dla wersji x86 i x64 dla systemu Windows. Musisz użyć prawidłowego pliku SetACL.EXE dla swojej wersji systemu Windows. Sprawdź, która wersja systemu Windows jest dostępna we Właściwościach systemu.

KROK 3:

Istnieją dwa sposoby korzystania z aplikacji. Na przykład możesz zapisać narzędzie w folderze E: \ SetACL, a następnie otworzyć wiersz polecenia jako administrator i przejść do tego folderu za pomocą standardowych poleceń lub wprowadzić pełną ścieżkę, aby uruchomić narzędzie, na przykład E: \ SetACL \ SetACL.exe. Lub możesz skopiować SetACL.exe do folderu systemowego C.: \Windows\System32 (C: \ Windows \ SysWOW64), a następnie można uruchomić polecenie SetACL z dowolnego miejsca. Sugerujemy skopiowanie pliku EXE do folderu C: \ Windows \ System32 (C: \ Windows \ SysWOW64).

KROK 4:

Po zakończeniu wszystkich procedur wstępnych możesz uruchomić SetACL:

SetACL -on imię -ot typ -akt akcja

Składnia:

Co jest wyróżnione pogrubienie pozostaje niezmieniony, co jest podświetlone kursywą zmienimy:

-na: Ten parametr wskazuje pełną ścieżkę do pliku lub klucza rejestru, którego właściciela chcesz zmienić.

-ot: Ten parametr określa typ obiektu. Jeśli zmienimy właściciela pliku, zmienimy parametr na plik. Jeśli klucz rejestru, to określ reg

-akt: Ten parametr wskazuje, co robić. Istnieje wiele możliwych opcji, ale ponieważ mówimy o kluczach rejestru, w szczególności o zmianie właściciela lub przypisaniu innych praw do klucza, będziemy używać tylko wartości Setowner lub as.

Aby lepiej zrozumieć, jak to działa, zobacz przykład:

Załóżmy, że chcesz zmienić właściciela klucza HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla. Aby to zrobić, musimy uruchomić SetACL z następującymi parametrami:

SetACL.exe -on „HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla” -ot reg -actn setowner -ownr „n: Administrators”

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

Pierwsze polecenie sprawi, że grupa lokalnych administratorów stanie się właścicielem klucza, a drugie zapewni pełny dostęp do klucza.

Musisz tylko zmienić kluczową wartość między znakami cudzysłowu („”) na potrzebny.

Uwaga: SetACL ma wiele parametrów, ale sam przeczytaj o tym tutaj (https://helgeklein.com/setacl/documentation/command-line-version-setacl-exe/).

Uzyskiwanie praw właściciela do klucza rejestru za pomocą wbudowanego polecenia REGINI

To polecenie jest dołączone do dowolnego systemu Windows i możemy go użyć do przypisania uprawnień do kluczy rejestru. Korzystanie z polecenia jest bardzo proste. Tworzymy plik skryptu z niezbędnymi parametrami i przekazujemy ten plik do przetworzenia do polecenia REGINI.

KROK 1:

Otwórz Notatnik (Notatnik) i wprowadź nazwę wymaganego klucza i listy kontroli dostępu (ACL) przy użyciu tego formatu:

Nazwa_klucza [ACL]

Zmień Klucz_imię nazwa klucza, której potrzebujesz, ale sprawdź, czy nazwa klucza jest poprawna, jak pokazano poniżej:

\ Rejestr \ maszyna \ oprogramowanie \ klasy (dla kluczy sekcji HKEY_CLASSES_ROOT)

\ Registry \ machine (dla kluczy w sekcji HKEY_LOCAL_MACHINE)

\ Registry \ użytkownik \ identyfikator_użytkownika (dla kluczy w sekcji HKEY_CURRENT_USER) (zamień identyfikator_użytkownika do prawidłowego identyfikatora bezpieczeństwa tego użytkownika)

\ Registry \ użytkownik (dla kluczy w sekcji HKEY_USERS)

Na przykład spójrzmy na klucz „HKEY_LOCAL_MACHINE \ SOFTWARE \ Mozilla” i napisz skrypt:

\ Registry \ machine \ SOFTWARE \ Mozilla

Wymień ACL do tych, których potrzebujemy lista:

1(aby zapewnić administratorom pełny dostęp)Daj administratorom pełny dostęp
2)(aby zapewnić administratorom dostęp do odczytu)Daj administratorom dostęp tylko do odczytu
3)(aby zapewnić administratorom dostęp do odczytu i zapisu)Daj administratorom prawo do zmiany
4(aby zapewnić administratorom dostęp do odczytu, zapisu i usuwania)Daj administratorom prawo do zmiany i usunięcia
5(aby zapewnić twórcy / właścicielowi pełny dostęp)Daj twórcy / właścicielowi pełny dostęp
6(aby zapewnić twórcy / właścicielowi dostęp do odczytu i zapisu)Daj twórcy / właścicielowi dostęp do zmiany
7(aby zapewnić wszystkim pełny dostęp)Daj wszystkim pełny dostęp
8(aby zapewnić wszystkim dostęp do odczytu)Daj wszystkim dostęp tylko do odczytu
9(aby zapewnić wszystkim dostęp do odczytu i zapisu)Daj wszystkim prawo do zmiany
10(aby zapewnić wszystkim dostęp do odczytu, zapisu i usuwania)Daj wszystkim prawo do zmiany i usunięcia
17(w celu zapewnienia pełnego dostępu do systemu)Daj systemowi pełny dostęp
18(w celu zapewnienia dostępu do odczytu i zapisu systemu)Daj systemowi prawo do zmiany
19(w celu zapewnienia dostępu do odczytu systemu)Daj systemowi dostęp tylko do odczytu

Teraz [ACL] w skrypcie zostanie zainstalowany coś takiego:

[1 6 9 17]

Jak pokazano w tabeli, daje to pełny dostęp do Administratorów i Systemu, a także prawo do zmiany twórcy klucza i wszystkiego innego.

Ostatnia linia będzie wyglądać następująco:

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

Możesz użyć dowolnych kombinacji ACL według potrzeb.

Uwaga: Pamiętaj, że istniejące uprawnienia do klucza określonego w skrypcie zostaną zastąpione nowymi. Nie zapomnij dołączyć uprawnień do wszystkich kont w skrypcie. Jeśli zapomnisz przyznać uprawnienia do konta SYSTEM, to konto zostanie usunięte z listy dostępu.

KROK 2:

Zapisujemy skrypt pod nazwą ACL.TXT, a następnie otwieramy wiersz poleceń jako administrator i uruchamiamy nasze polecenie:

REGINI pełna_ścieżka_pliku_skryptu

Lub w naszym przypadku będzie to wyglądać tak

REGINI c: \ install \ acl.txt

I to wszystko. Uprawnienia zostaną natychmiast zmienione..

Coś takiego. Metoda 1 jest najbardziej skuteczna i działa w 100%.

Przykład użycia

Konieczne było uruchomienie Remote Desktop Host, aby zapewnić grupie programistów wspólny dostęp do serwera w celu skonfigurowania niektórych aplikacji i bazy danych. W przyszłości nie planowano zdalnego dostępu do tego serwera. Było więcej niż 2 programistów i wszyscy chcieli pracować jednocześnie. I obiecał, że skończy za mniej niż 4 miesiące.

Nie wcześniej powiedziane niż zrobione. Host pulpitu zdalnego w systemie Windows 2012 R2 został podniesiony i zaczęliśmy korzystać ze 120-dniowego bezpłatnego okresu. Ale ... 4 miesiące to za mało (jak zawsze). Nie chciałem używać legalnego klucza do TS, ponieważ praca jest tymczasowa, jak powiedziałem wcześniej. Musiałem ... skorzystać z wiedzy, którą właśnie zdobyłeś.

Klucz rejestru odpowiedzialny za liczenie 120-dniowego okresu karencji znajduje się tutaj:

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

Grupa Administratorzy ma dostęp tylko do odczytu do tego klucza..

Zastosowano metodę 1. Można powiedzieć, że sami Microsoft ukarali się :)

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

Zmienił właściciela i dał pełny dostęp administratorom

Dalej łatwiej.

Usuń zawartość tego klucza

reg usuń „HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ RCM \ GracePeriod” / va / f

A po ponownym uruchomieniu otrzymujemy .... Racja! 120 dni nowego bezpłatnego okresu.

Na przykład możesz wykonać to polecenie jako skrypt i uruchamiać je co 115 dni zgodnie z harmonogramem.

Korzystanie z niego lub nie zależy od ciebie, w porozumieniu z sumieniem i ropuchą 🙂