none
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

    27. července 2017 20:52

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

    28. července 2017 6:07
  • To se prece dela přes GPO preferences. Jinak přes GPI MACHINE STARTUP SCRIPT

    MP

    28. července 2017 7:19
    Moderátor
  • 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

    28. července 2017 12:42
  • Ahoj, díky vím, že to můžu dělat přes commad line, ale ta už zastarává a budoucnost MS vidí v PS, tak se učím. No a protože je celkem obtížné dobře spouštět PS (jak jsem se dočetl), tak na to mám ten baťák.
    28. července 2017 12:45