Nejčastěji odpovídající uživatel
GPO - zápis do HKLM pomocí PS

Dotaz
-
Ahoj,
přes GPO politky spouštím po startu PC skript, kterým chci zapsat do registu hodnotu (konkrétně do větve HKLM...)
Ale zápis se neprovede a už nevím, čím by to mohlo být.
Popis: domena W2008R2, stanice W10 (64bit), v GPO mam logon skript po spuštění PC, v něm je *.bat kterým volám ten *.ps1
(konkrétně: powershell -ExecutionPolicy Bypass -File "\\pdc\SYSVOL\domena.local\Policies\{0DBDD259-8A4C-4B33-B93A-0A390ACB875E}\Machine\Scripts\Startup\disablejava.ps1")
myslel jsem, že se to pouští v kontextu "local system" a nebude problém to zapsat, ale NE a NE
- execution policy je unrestricted, ale to by nemělo mít vliv
- UAC jsem zkoušel vypnout (ale mám a chci zapnuté)
-pouštím pod uživatelem co je jen "domain user" (local admin nepovoluji)
Díky za náměty MK
Odpovědi
-
Proč skriptem? Můžeš použít GPO Preferences (Computer settings - Preferences - . . . ).
Pokud přesto trváš na použití skriptu, pak nevím proč ten Powershell skript voláš přes BAT. V GPO můžeš spouštět přimo PS skripty (záložka PowerShell scripts).
BB
- Navržen jako odpověď Miroslav PráglModerator pátek 28. července 2017 7:18
- Označen jako odpověď Milos PuchtaModerator úterý 24. října 2017 20:47
Všechny reakce
-
Proč skriptem? Můžeš použít GPO Preferences (Computer settings - Preferences - . . . ).
Pokud přesto trváš na použití skriptu, pak nevím proč ten Powershell skript voláš přes BAT. V GPO můžeš spouštět přimo PS skripty (záložka PowerShell scripts).
BB
- Navržen jako odpověď Miroslav PráglModerator pátek 28. července 2017 7:18
- Označen jako odpověď Milos PuchtaModerator úterý 24. října 2017 20:47
-
-
Jasně, to vím, ze se to dela přes GPO preferences. Ale mám již hotový skript s poměrně dost zápisama a nechce se mě to přepisovat, je toho poměrně dost a navíc si ve skriptu ošetřím jaká je to verze systému a dle toho zapíšu registr.... je toho více, co v GPO preferencich neudělám. Dal jsem v GPO machine/startup skript *.bat soubor, který mě má pouštět můj *.ps1 soubor. Zápis tam ale není. Jasně, můžu to dělat i před cmd line, ale časem bude vše jen PS, tak se učím. No a na tomto jsem vyhořel. PS není jednoduché pouštět, tak to řeším (na rady jiných) právě přes bat nebo cmd soubor.
přihodím i skript:
# Disable Java on Workstation depending on OS version, test if is reg record
if ([System.IntPtr]::Size -eq 4) {
# Write-Host "Disabling 32 bit Java"
if (Test-Path "HKLM:\SOFTWARE\JavaSoft\Java Update\Policy") {
Set-ItemProperty -Path "HKLM:\SOFTWARE\JavaSoft\Java Update\Policy" -Name "EnableJavaUpdate" -Type DWord -Value 0}
}
else {
# Write-Host "Disabling 64 bit Java"
if (Test-Path "HKLM:\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy") {
Set-ItemProperty -Path "HKLM:\SOFTWARE\Wow6432Node\JavaSoft\Java Update\Policy" -Name "EnableJavaUpdate" -Type DWord -Value 0
}
}Odtud čerpám inspiraci, je tam dost všcí, co se dá nasavit...
https://www.dasm.cz/clanek/jak-z-windows-10-udelat-desktopovy-system
-