Office 365 ProPlus (2016): selezione del canale di aggiornamento (aggiornato)

| |

Tempo fa ti avevo parlato di un problema riguardante un mancato rollback della versione 16.0.8229.2073 (1706) di Microsoft Office 365 ProPlus (la versione 2016), risolto scaricando e installando un diverso pacchetto, inferiore a quello difettoso. Nel frattempo i problemi sono stati risolti e altri sono sorti, facendomi scegliere una diversa strada per un certo gruppo di utenti ai quali ho tolto la possibilità di aggiornare Office dal canale un po’ più rapido di Microsoft.

Dato che si tratta di semplici modifiche alle chiavi di registro, ho optato per la scrittura di un batch che potesse automatizzare le operazioni. Te lo propongo oggi, così che possa tornarti utile in caso di necessità, da tenere quindi da parte nella solita chiave USB degli strumenti da avere sempre a portata di mano :-)

Office 365 ProPlus (2016): selezione del canale di aggiornamento

Scritto a luglio e utilizzato nel corso del tempo, lo condivido e ti spiego com’è che funziona:

Update

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.

@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

Il codice si basa sul fatto che:

  • l’aggiornamento arriverà dai server di Microsoft e non da una location interna alla tua rete (updatepathnon viene infatti valorizzato);
  • non c’è una versione d’arrivo dichiarata (come sopra, updatetargetversion non viene valorizzato);
  • l’unica voce che cambia (in base all’esigenza) è sempre quella relativa al canale di aggiornamento (updatebranch prende il valore in base al ramo di aggiornamento scelto).

è inoltre possibile (e previsto) che una postazione possa avere la necessità di bloccare ogni futuro aggiornamento, continuando quindi a utilizzare solo e sempre quell’unica versione di Office già a bordo. Alla stessa maniera, potrai sempre tornare indietro e chiedere a Office di aggiornarsi, in un secondo momento. In entrambi i casi, la chiave di registro da andare a ritoccare è la enableautomaticupdates.

Il batch è stato testato con successo su configurazioni Windows 7 e 10, con Office 2016 (365 ProPlus) a bordo, installato chiaramente tramite C2R. Potrai scaricarlo direttamente da GitHub e avviarlo –come amministratore locale o di dominio– sul PC che ti interessa. Se l’intervento è invece da portare a termine su più PC, ti consiglio di prelevare dal codice le chiavi di registro che ti interessano, quindi darle in pasto a uno strumento di distribuzione software (come Kace).

Buon lavoro! :-)

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