Java Update: disabilitare la richiesta di aggiornamento sul dominio (GPO, VBS)

| |

Java UpdateSe c’è una cosa che non sopporto di Java in ambiente aziendale è la sua insistente verifica di aggiornamenti con tanto di notifica all’utente che ovviamente non potrà eseguirlo in quanto non amministratore della macchina locale. A questo aggiungete gli errori nati in concomitanza con la release 7.x e otterrete un quadretto tipico da chiamate infinite all’helpdesk chiedendo l’aggiornamento del suddetto software.

Se anche voi possedete una piattaforma di aggiornamento centralizzato per i client dell’azienda o -più semplicemente- volete sopprimere quella notifica di aggiornamento tramite GPO (su più PC in dominio) o script (uno o più PC non in dominio) questo è il “come procedere“.

Giusto per precisare: in entrambi i casi si tratta di mettere mano ad una chiave di registro perché è grazie a quella che Java fa partire la verifica e la notifica di aggiornamento, i due differenti metodi arrivano allo stesso obiettivo.

GPO

Come già detto, occorrerà modificare una chiave di registro di Windows per poter terminare ogni controllo e ogni notifica di aggiornamento del prodotto. Accedete al vostro GPO Manager e navigate fino a:

  • Computer Configuration
    • Preferences
      • Windows Settings
        • Registry

Ora occorrerà fare clic con il tasto destro nella parte di destra (in un qualsiasi punto vuoto) e selezionare New / Registry Item. A questo punto vi verranno chiesti i dettagli, questi per la precisione:

  • Action:  Update
  • Hive:  HKEY_LOCAL_MACHINE
  • Key Path:  SOFTWARE\JavaSoft\Java Update\Policy
  • Value name:  EnableJavaUpdate
  • Value type:  REG_DWORD
  • Value data:  00000000

Quella trafila dopo “Value data” corrisponde a 8 zeri e questo è il risultato in immagine:

Java Update: disabilitare la richiesta di aggiornamento sul dominio (GPO, VBS) 1

Facendo clic su OK si tornerà alla finestra principale del registro e noterete la vostra nuova chiave nell’elenco:

Java Update: disabilitare la richiesta di aggiornamento sul dominio (GPO, VBS) 2

Assegnate la policy appena creata alle OU che desiderate (o all’intero dominio / Authenticated Users) e attendete che i vari PC si adeguino, la vostra salute mentale e sopportazione verso gli utilizzatori ne troverà giovamento e vi ringrazierà.

Se volete verificare il corretto funzionamento della GPO vi basterà andare in Pannello di Controllo, fare doppio clic sull’icona di Java e verificare che sia sparita la tab relativa all’aggiornamento del software.

Attenzione: la soluzione proposta è valida per Java 32 bit installato su un Windows a 32 bit oppure Java 64 bit installato su un Windows a 64 bit. Se volete adattarla ad un Java 32 bit installato su un sistema a 64 potete dare un’occhiata a questo ottimo articolo: gpyall.com/archives/how-do-i-disable-32-bit-java-updates-on-64-bit-windows.

VBS (locale o in rete)

Volete evitare di mettere mano al registro ma vorreste replicare quanto spiegato qui sopra? La macchina non appartiene ad un dominio o ne avete più di una all’interno dell’ufficio e con un amministratore identico su tutte volete operare la modifica comodamente dalla vostra postazione? Qualche riga di codice VBScript può aiutarvi a portare a termine la semplice missione.

Per la singola macchina (o magari per più macchine se volete portarvi in giro una chiave USB con lo script a bordo) vi propongo qualche riga di codice che una volta eseguita opera la modifica di registro portando a termine rapidamente il tutto:

'JAVA Update Disabler (LOCAL x86)
'GSolone 2013
'
Set WshShell = CreateObject( "WScript.Shell" )
Set Shell = CreateObject( "WScript.Shell" )
Shell.RegWrite "HKLM\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate", 0, "REG_DWORD"
'DEBUG LETTURA NUOVO VALORE
'a = WshShell.RegRead ( "HKLM\SOFTWARE\JavaSoft\Java Update\Policy\EnableJavaUpdate" )
'Wscript.Echo "JavaUpdate value is ",a, " (0 disabled, 1 enabled)."

Ho volutamente commentato le righe appartenenti al “paragrafo” DEBUG perché servono a mostrare a video il valore della chiave di registro dopo aver lanciato lo script. Togliete l’apostrofo di commento alle ultime due righe (e solo a quelle) nel caso in cui vogliate una conferma dell’operazione.

Trovate questo script e qualsiasi eventuale nuova modifica su Gist: gist.github.com/gioxx/166afd4e286b30482bf8

Qualche differenza rispetto allo script appena spiegato la trovate invece in quello per operare da remoto. Questo codice, una volta eseguito, vi chiederà il nome della macchina sulla quale collegarsi e –ammesso che le credenziali in uso siano amministrative anche sulla macchina da raggiungere– si collegherà al registro e modificherà il valore della chiave (se presente, in caso contrario l’andrà a creare):

'JAVA Update Remote Disabler (x86)
'GSolone 2013
'
Const HKEY_CURRENT_USER = &H80000001
Const HKEY_LOCAL_MACHINE = &H80000002
Set WSHShell = WScript.CreateObject("WScript.Shell")
Set WNetwork = Wscript.CreateObject("Wscript.Network")
On Error Resume Next
'Query for target PC
strComputer = InputBox("Hostname macchina di destinazione", "JavaUpdateDisabler", WNetwork.ComputerName)
If strComputer = "" Then Wscript.Quit
'strComputer = Ucase(strComputer)
Set StdOut = WScript.StdOut
Set oReg=GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "SOFTWARE\JavaSoft\Java Update\Policy"
strValueName = "EnableJavaUpdate"
dwValue = 0
oReg.SetDWORDValue HKEY_LOCAL_MACHINE,strKeyPath,strValueName,dwValue

Trovate questo script e qualsiasi eventuale nuova modifica su Gist: gist.github.com/gioxx/963c6cb54fe7a6ada6ec

Insomma, in qualsiasi verso vogliate girare la questione questi sono i metodi sviluppati, provati e verificati per arrivare all’obiettivo. Per qualsiasi commento o ulteriore suggerimento l’area commenti è a vostra totale disposizione :-)

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Oldest
Newest Most Voted
Inline Feedbacks
View all comments