Najlepszy sposób na dodanie kluczy i wartości HKCU dla wszystkich istniejących użytkowników i wszystkich nowych użytkowników?


11

Muszę dodać klucze i wartości HKCU do wszystkich komputerów w konkretnej jednostce organizacyjnej, do wszystkich istniejących profili użytkowników i do profilu domyślnego. Jak najlepiej to podejść?

Mógłbym wyliczyć i powtórzyć wszystkie NTUSER.DATs, ładowanie gałęzi, dodawanie kluczy i rozładowywanie gałęzi, ale wydaje się to niezręcznym sposobem na zrobienie tego.

Czy ktoś ma lepszy pomysł? Chciałbym napisać skrypt (najlepiej PowerShell) i, jeśli to możliwe, wprowadzić zmiany, ale skrypty logowania zasad grupy też by działały.



Co z preferencjami zasad grupy?
Bill_Stewart

Odpowiedzi:


13

Moją preferowaną metodą jest użycie Active Setup. To, co robi, to sprawdzanie, kiedy użytkownik loguje się na maszynie, czy uruchomił określony skrypt lub polecenie (takie jak ten, który miałbyś), a jeśli nie, wykonaj go. Tak więc użytkownik uruchomi określony skrypt dla użytkownika tylko raz na stacji roboczej. Uważam, że jest to idealne rozwiązanie do pisania do HKCU, ponieważ nie musisz ładować każdego ula i modyfikowane są tylko konta, na które logują się ludzie.

Nie po to, żeby się promować, ale napisałem o tym blogu . Podstawowe rozwiązanie jest następujące:

Dodaj następujące wpisy rejestru:

[HKLM\SOFTWARE\Microsoft\Active Setup\Installed Components\UniqueID]
"Version"=""
"Stubpath"=""
@=""
  • Możesz wybrać dowolny unikalny identyfikator. GUID są często używane, ale możesz użyć wszystkiego, co będzie unikalne.
  • Version to dowolny numer wersji, którego chcesz użyć.
  • Stubpathto polecenie, które zostanie wykonane. Wszystkie wywołania MSI, EXE i VBS wydają się być w porządku.
  • To, @co powinno być wyświetlane, gdy polecenie jest uruchomione.

Dzięki temu rozwiązaniu język skryptowy nie ma znaczenia. Możesz zrobić plik VBScript, Powershell, Batch. Cokolwiek pozwala Ci pisać do HKCU jako zalogowany użytkownik. Korzystanie reg.exebezpośrednio współpracuje również.

Drugim, opcjonalnym końcowym akcentem, który możesz zrobić, jest załadowanie i zmodyfikowanie domyślnego gałęzi użytkownika. Ustawiłoby to wartość rejestru dla każdego nowego użytkownika, który loguje się po raz pierwszy w tym konkretnym systemie.


Niech mnie diabli, to wygląda idealnie. Nigdy wcześniej nie słyszałem o Active Setup. Testuję teraz! Dzięki.
Doug Chase

Dobra odpowiedź również od 20th Century Boy, ale Active Setup jest moim najprostszym i najbardziej niezawodnym rozwiązaniem. Możesz uruchomić wszystko, co można uruchomić.
Stein Åsmul,

2
Jak radzi sobie z pisaniem do HKLM, zwłaszcza gdy użytkownik nie jest administratorem? Twój post na blogu może naprawdę posłużyć przykładem - podobnie jak ten post.
Ian Boyd

7

Możesz dodać niestandardowe klucze reg, tworząc niestandardowy plik adm i importując go jako szablon do sekcji Szablony administracyjne obiektu zasad grupy. Następnie połącz ten obiekt zasad grupy do swojej jednostki organizacyjnej. Istnieją dokumenty w MS na temat tego, jak to zrobić, lub możesz spojrzeć na pliki adm, które już istnieją na serwerze (myślę, że gdzieś pod Sysvol).

Proces ten nazywa się „wytatuowaniem rejestru” i oznacza, że ​​jesteś poza kontrolą usuwania zasad grupy, tzn. Wpisy rejestru pozostaną, nawet jeśli zasady zostaną usunięte. Musisz utworzyć „odwrócony” klucz reg i wdrożyć go (lub po prostu go usunąć).


To również dobre rozwiązanie i założę się, że obie te odpowiedzi zadziałałyby.
Doug Chase
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.