Istnieje kilka sposobów dodawania lub aktualizowania klucza w rejestrze HKCU. Istnieje kilka sposobów modyfikacji stacji roboczej za pomocą zasad grupy. Wypróbowałem kilka z nich i mogłem skorzystać z pomocy.
Mam zestaw czterech skryptów cs, które kompiluję do exe za pomocą VBSEditor z Adersoft.
Te skompilowane skrypty działają bardzo dobrze i są szybsze niż uruchamianie skryptu .vbs.
Mam skrypt do uruchamiania, logowania, wylogowywania i zamykania systemu. Obecnie te skrypty uzyskują dostęp do serwera SQL i udziałów plików serwera (tylko logowanie i wylogowywanie), odczytują rejestr lokalny i uruchamiają niektóre polecenia za pośrednictwem obiektu wscript.shell. Wszystko to działa zgodnie z oczekiwaniami, w granicach, które zadania wymagające uprawnień administratora muszą być uruchamiane podczas zamykania / uruchamiania, a zadania wymagające dostępu do sieci (pliki i serwer SQL) muszą być uruchamiane podczas logowania i wylogowywania.
Mój problem występuje podczas próby utworzenia i / lub zmodyfikowania klucza rejestru w HKCU. Mogę dobrze odczytać klucze, a moje skrypty działają, gdy są uruchamiane z sesji logowania administratora, ale nie działają nic, gdy są uruchamiane podczas uruchamiania GPO, zamykania, logowania lub wylogowywania.
Ze względu na brak doświadczenia nie znam większości dziwactw środowiska, w których muszą działać skrypty zasad grupy.
Oto jeden zestaw poleceń, który działa w konsoli, ale kończy się niepowodzeniem w GPO:
set oRegistry = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
strValueName = "NoControlPanel"
oRegistry.CreateKey HKEY_CURRENT_USER, strKeyPath
oRegistry.SetDWORDValue HKEY_CURRENT_USER,strKeyPath,strValueName,drtval
A oto alternatywna metoda:
strKeyPath = "HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer"
strValueName = "NoControlPanel"
strKP = strKeyPath + "\" + strValueName
o=wshShell.RegWrite(strKP, drtval, "REG_DWORD")
drtval ma wartość 0 lub 1 w zależności od tego, czy włączę, czy wyłączę narzędzia rejestru.
Czy ktoś może zobaczyć, co robię źle?
Szczególną stacją roboczą, na której testuję to, jest XP Pro. Mam około 100 takich szczeniąt do zarządzania przez GPO.
Każda pomoc będzie mile widziana.