Ho rimesso mano al ChannelSelector per Office di cui ti avevo parlato un anno fa circa, un po’ per mettere a posto i nuovi nomi dei canali di aggiornamento adottati da Microsoft, un po’ per cambiare il metodo di intervento sul registro, in accordo con ciò che oggi è ormai capace di fare il Click2Run ufficiale che teoricamente utilizzi per mandare in downgrade o upgrade forzato una suite Office dal prompt dei comandi. Andiamo con ordine però, nell’articolo ti spiegherò le novità dello script, i riferimenti da adottare per il Registro di Sistema e l’uso in alternativa del C2R disponibile nella cartella Common Files di Office, soluzione che continua a rimanere ufficiale, pensata e distribuita direttamente da Microsoft.
Il nuovo ChannelSelector
Tolto il blocco informativo iniziale con i riferimenti e le fonti utilizzate, cambia il metodo di azione sul Registro di Sistema (regedit
), andando a compilare / modificare il campo CDNBaseUrl
che determina l’URL dal quale scaricare i file di installazione o aggiornamento di Office, si passa poi alla rimozione delle altre chiavi di registro precedentemente valorizzate, così da permettere al tuo Office di popolarsele autonomamente al successivo avvio e conseguente ricerca aggiornamenti (inevitabile, considerando che stai cambiando canale di distribuzione).
Rimangono invece disponibili e valide le altre opzioni, fatte per conoscere il branch utilizzato e bloccare o permettere gli aggiornamenti automatici della suite. Una verifica introdotta con questa versione dello script si occuperà di terminarlo nel caso in cui non rilevi un’installazione di Office 2016 a bordo macchina.
@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 |
Avvia lo script come amministratore locale della macchina (o di dominio), quindi scegli ciò che ti serve. Se non vuoi utilizzare un prompt dei comandi (oltre quanto già fatto per utilizzare il mio batch), dovrai chiudere ogni applicazione Office (e riaprirne una qualsiasi dopo la modifica) se vuoi accertarti che l’obiettivo sia stato centrato.
Maggiori informazioni (sempre utili) sul rilascio degli aggiornamenti sono disponibili nella documentazione ufficiale di Microsoft, a questi indirizzi: docs.microsoft.com/it-it/DeployOffice/overview-of-update-channels-for-office-365-proplus & docs.microsoft.com/it-it/officeupdates/release-notes-office365-proplus.
In via ufficiale: OfficeC2RClient.exe
Volendo operare per vie ufficiali, Microsoft ha da tempo aggiornato il proprio OfficeC2RClient.exe
per permetterti di cambiare canale di distribuzione per nuove versioni e aggiornamenti della suite Microsoft Office. Ti spiego molto rapidamente come procedere partendo dallo schema aggiornamenti:
Canale | Parametro (da Prompt o Office Deployment Tool) |
---|---|
Canale mensile (Mirato) | Channel=Insiders o Channel=FirstReleaseCurrent |
Canale mensile | Channel=Monthly o Channel=Current |
Canale semestrale (Mirato) | Channel=Targeted o Channel=FirstReleaseDeferred |
Canale semestrale | Channel=Broad o Channel=Deferred |
Ciò detto, apri un prompt dei comandi con diritti amministrativi, quindi spostati sotto Program Files → Common Files → microsoft shared → ClickToRun (cd \Program Files\Common Files\microsoft shared\ClickToRun
). A questo punto dovrai semplicemente lanciare l’eseguibile OfficeC2RClient.exe
con il parametro /changesetting Channel=$Canale
, dove al posto di $Canale
dovrai specificare quello che ti interessa, un esempio pratico:
C:\Program Files\Common Files\microsoft shared\ClickToRun>OfficeC2RClient.exe /changesetting Channel=Monthly
Questa abiliterà il canale di aggiornamento mensile sulla suite Office installata. Per poter scatenare l’operazione di ricerca aggiornamenti nell’immediato ti basterà utilizzare lo stesso eseguibile ma con un parametro diverso:
C:\Program Files\Common Files\microsoft shared\ClickToRun>OfficeC2RClient.exe /update user
Il gioco è fatto, non ti servirà fare null’altro.
Buon lavoro :-)
Riconoscimenti: erwinbierens.com/switch-office-2016-to-monthly-targeted-channel
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! :-)