Skip to content

Instantly share code, notes, and snippets.

@gioxx
Last active March 31, 2020 08:18
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save gioxx/5f67c408e6981aaa9556005bb1d2dabd to your computer and use it in GitHub Desktop.
Save gioxx/5f67c408e6981aaa9556005bb1d2dabd to your computer and use it in GitHub Desktop.
Il batch permette di modificare le chiavi di registro che regolano l'aggiornamento di Office 365 ProPlus (2016) in base al canale scelto (Current, Deferred, First Release for Deferred Channel e First Release for Current Channel). Consulta l'articolo sul mio blog prima di procedere: https://wp.me/pdQ5q-8KN
@echo off
setlocal
cls
:: Microsoft Office Update Channel Selector
:: ----------------------------------------------------------------------------------------------------------------
:: Autore: GSolone
:: Utilizzo: .\Office-ChannelSelector.cmd
:: Versione: 0.2
:: Info: https://gioxx.org/tag/microsoft-office-365/
:: Ultima modifica: 12-11-2018
:: Fonti utilizzate: https://docs.microsoft.com/it-it/DeployOffice/overview-of-update-channels-for-office-365-proplus
:: https://support.microsoft.com/it-it/help/3185078/how-to-switch-from-semi-annual-channel-to-monthly-channel
:: https://docs.microsoft.com/it-it/officeupdates/release-notes-office365-proplus
:: Modifiche:
:: 0.2- modificati i canali di aggiornamento (nomi modificati da Microsoft) e inseriti dettagli in più a video, ho modificato anche il modo di intervenire sul registro, aggiunta una query a registro per verificare se si sta lanciando lo script con Office installato (altrimenti lo termina) e inserito il nuovo blocco informativo di apertura script.
:: ----------------------------------------------------------------------------------------------------------------
:: ATTENZIONE: va utilizzato come amministratore locale o di dominio della macchina alla quale si punta
:StartEngine
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration\ /v CDNBaseUrl
if %errorlevel%==0 (goto SwitchChannel) else (goto OfficeNotFound)
:SwitchChannel
cls
echo.
echo *******************************************************
echo Office Channel Selector 0.2 (per Office 365 ProPlus, Office 2016)
echo https://gioxx.org // giovanni@solone.it
echo Canali di aggiornamento Office 365 ProPlus (2016): https://go.gioxx.org/ofc365updatechannels
echo GSolone nov.2018 (12/11/18)
echo *******************************************************
echo.
echo (1) Monthly Channel (ex-Current)
echo (2) Semi-annual Channel (ex-Deferred)
echo (3) Semi-annual Channel Targeted (ex-First Release for Deferred)
echo (4) Monthly Channel Targeted (ex-First Release for Current)
echo.
echo Extras
echo (7) Branch utilizzato
echo (8) Avvia gli aggiornamenti
echo (9) Ferma gli aggiornamenti
echo (0) Esci dal programma
echo.
SET /P SCELTA="Seleziona canale di update (es. 1): "
REM echo DEBUG %errorlevel%
if errorlevel 1 set "SCELTA=" & verify>nul & goto SwitchChannel
IF /i %SCELTA% EQU 0 goto END
IF /i %SCELTA% EQU 1 goto Current
IF /i %SCELTA% EQU 2 goto Deferred
IF /i %SCELTA% EQU 3 goto FirstReleaseDeferred
IF /i %SCELTA% EQU 4 goto FirstReleaseCurrent
IF /i %SCELTA% EQU 7 goto ReadChannel
IF /i %SCELTA% EQU 8 goto StartUpdates
IF /i %SCELTA% EQU 9 goto StopUpdates
echo;
goto END
:Current
echo Channel: Monthly Channel (era: Current)
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v CDNBaseUrl /t REG_SZ /d "http://officecdn.microsoft.com/pr/492350f6-3a01-4f97-b9c0-c7c6ddf67d60" /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateUrl /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Updates /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\16.0\Common\OfficeUpdate\ /f
echo Premi invio per tornare al menu principale
pause > NUL
goto StartEngine
:Deferred
echo Channel: Semi-annual Channel (era: Deferred)
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v CDNBaseUrl /t REG_SZ /d "http://officecdn.microsoft.com/pr/7ffbc6bf-bc32-4f92-8982-f9dd17fd3114" /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateUrl /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Updates /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\16.0\Common\OfficeUpdate\ /f
echo Premi invio per tornare al menu principale
pause > NUL
goto StartEngine
:FirstReleaseDeferred
echo Channel: Semi-annual Channel (Targeted) (era: First Release for Deferred)
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v CDNBaseUrl /t REG_SZ /d "http://officecdn.microsoft.com/pr/b8f9b850-328d-4355-9145-c59439a0c4cf" /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateUrl /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Updates /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\16.0\Common\OfficeUpdate\ /f
echo Premi invio per tornare al menu principale
pause > NUL
goto StartEngine
:FirstReleaseCurrent
echo Channel: Monthly Channel (Targeted) (era: First Release for Current)
reg add HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v CDNBaseUrl /t REG_SZ /d "http://officecdn.microsoft.com/pr/64256afe-f5d9-4f86-8936-8840a6a4f5be" /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateUrl /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Updates /v UpdateToVersion /f
reg delete HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Office\16.0\Common\OfficeUpdate\ /f
echo Premi invio per tornare al menu principale
pause > NUL
goto StartEngine
:ReadChannel
echo Verifico il canale dal quale il tuo Office riceve gli aggiornamenti:
echo.
REG QUERY HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Office\16.0\common\officeupdate /v updatebranch
echo Premi invio per tornare al menu principale
pause > NUL
goto StartEngine
:StartUpdates
echo Aggiornamenti di Microsoft Office attivi.
echo.
REG ADD HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Office\16.0\common\officeupdate /v enableautomaticupdates /t REG_DWORD /d 1 /f
echo Premi invio per tornare al menu principale
pause > NUL
goto StartEngine
:StopUpdates
echo.
echo ATTENZIONE
echo Ho bloccato gli aggiornamenti di Office.
echo Non riceverai ulteriori aggiornamenti fino a modifica di questa opzione.
echo.
REG ADD HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Office\16.0\common\officeupdate /v enableautomaticupdates /t REG_DWORD /d 0 /f
echo Premi invio per tornare al menu principale
pause > NUL
goto StartEngine
:OfficeNotFound
echo.
echo ATTENZIONE
echo Non ho rilevato alcuna installazione di Office su cui operare.
echo Lo script viene ora terminato.
echo.
:END
Endlocal
@gioxx
Copy link
Author

gioxx commented Oct 6, 2017

Aggiornamento di ottobre: ho modificato lo script correggendo una svista che tornava a disabilitare gli aggiornamenti di Office quando veniva richiesta la riattivazione. Ne ho approfittato per integrare una nuova voce di menu (la 7) che effettua la lettura del canale di aggiornamento al quale Office si appoggia (fa una lettura da registro di sistema). Ogni voce selezionata attendere ora un colpo di invio (o altro pulsante da tastiera) per tornare a mostrare il menu principale del batch.

@gioxx
Copy link
Author

gioxx commented Nov 12, 2018

Aggiornamento di novembre '18: modificati i canali di aggiornamento (con i nuovi nomi adottati da Microsoft) e inseriti dettagli in più a video, ho modificato anche il modo di intervenire sul registro, ho aggiunto una query per verificare se si sta lanciando lo script con Office installato (altrimenti lo si porta all'END) e inserito il nuovo blocco informativo con i riferimenti / fonti / ecc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment