Last active
November 6, 2015 15:56
-
-
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.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@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