Skip to content

Instantly share code, notes, and snippets.

@gioxx
Last active November 6, 2015 15:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gioxx/4454185d5d2a67181b76 to your computer and use it in GitHub Desktop.
Save gioxx/4454185d5d2a67181b76 to your computer and use it in GitHub Desktop.
Batch di rimozione GWX, modifica chiavi di registro (per evitare venga fatto upgrade del sistema) e pulizia dei file scaricati.
@echo off
REM Kill GWX (http://gioxx.org/tag/killgwx)
REM GSolone 2015
REM Ultima modifica 06/11/15
:: BatchGotAdmin
:-------------------------------------
REM --> Check for permissions
>nul 2>&1 "%SYSTEMROOT%\system32\cacls.exe" "%SYSTEMROOT%\system32\config\system"
REM --> If error flag set, we do not have admin.
if '%errorlevel%' NEQ '0' (
echo Richiedo utente amministratore...
goto UACPrompt
) else ( goto gotAdmin )
:UACPrompt
echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c %~s0 %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"
"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"
exit /B
:gotAdmin
cls
echo.
echo *******************************************************
echo Kill GWX (Get Windows X) per Windows 7 / 8
echo Versione 0.2 - Ultima modifica nov.15
echo http://gioxx.org/tag/killgwx
echo *******************************************************
echo.
echo ATTENZIONE:
echo SALVARE IL PROPRIO LAVORO PRIMA DI CONTINUARE
echo;
pause
:ChiusuraProcessi
echo Verifica e chiusura processo GWX ...
echo;
taskkill /IM GWX.EXE /F
if errorlevel 1 echo Processo gia' chiuso, procedo.
echo;
:BackupChiaveRegistro
echo Backup e modifica delle chiavi del registro di sistema ...
echo;
REM Esporto, per sicurezza, la chiave "Windows" (sotto Policies\Microsoft) attuale
if not exist C:\reg_WindowsExp.bak REG EXPORT HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows C:\reg_WindowsExp.bak
:ModificaRegistroGWX
REM Debug: si potrebbe verificare l'esistenza delle chiavi di registro, quindi inserirle in caso di risposta negativa.
REM Io invece le scrivo e le sovrascrivo anche se dovessero già esistere, così da essere certi di bloccare i
REM nuovi tentativi di installazione di Windows 10. (vedi comunque righe di debug qui di seguito)
REM REG QUERY HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\GWX
REM if %ERRORLEVEL% EQU 1 REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows /d GWX /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows /d GWX /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\GWX /v DisableGWX /t REG_DWORD /d 1 /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows /d WindowsUpdate /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate /v DisableOSUpgrade /t REG_DWORD /d 1 /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows /d OSUpgrade /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OSUpgrade /v AllowOSUpgrade /t REG_DWORD /d 0 /f
REG ADD HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\OSUpgrade /v ReservationsAllowed /t REG_DWORD /d 0 /f
:DisinstallaKB
echo;
echo Verifica installazione GWX e disinstallazione ...
echo Attenzione: RIAVVIO OBBLIGATORIO AL TERMINE (in caso di disinstallazione)
echo;
wmic qfe get hotfixid | find "KB3035583"
if %errorlevel% == 1 goto GWX1
if %errorlevel% == 0 goto GWX0
:GWX0
echo;
echo Rilevato KB3035583, procedo con la disinstallazione ...
wusa /uninstall /kb:3035583 /quiet /forcerestart
goto END
:GWX1
echo;
echo Pacchetto GWX non rilevato, cerco e provo a eliminare eventuali cartelle dati residue ...
if exist C:\Windows\System32\GWX rd /S /Q C:\Windows\System32\GWX
if exist C:\Windows\SysWOW64\GWX rd /S /Q C:\Windows\SysWOW64\GWX
if exist C:\$WINDOWS.~BT rd /q /s C:\$WINDOWS.~BT
if exist C:\$Windows.~WS rd /q /s C:\$Windows.~WS
echo Modifica del sistema terminata.
echo Premi un qualsiasi tasto per uscire dal programma.
pause > NUL
:--------------------------------------
:END
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment