Archives For Microsoft Office 2013

Una richiesta tutto sommato semplice, in un ambiente che non è ancora pronto a fare quel piccolo salto che porta da Office 2013 a Office 2016, come previsto da Microsoft e dall’abbonamento a Office 365. È la stessa società di Redmond a suggerire cosa fare nel caso in cui questo sia necessario, pur ricordando che è sempre bene avere un software aggiornato (per questioni di sicurezza, e non solo).

Office 2013 (GPO): disabilitare l'upgrade a Office 2016

(Messaggio in inglese, lo so) Richiesta di upgrade a Office 2016, come permesso dall’abbonamento a Office 365.

Ho trovato un riferimento molto ben spiegato all’indirizzo support.microsoft.com/en-us/kb/3097292.

Office 365 / 2013 Pro Plus: reset della licenza via Powershell 2

Giusto per farla semplice (perché il documento è davvero spiegato bene), questa è la chiave di registro che ho fatto ritoccare ai PC tramite Group Policy:

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\Updates]
"UpdatesBlockedTime"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\Common\OfficeUpdate]
"EnableAutomaticUpgrade"=dword:00000000

Tengo conto anche degli svariati casi che ho trovato nel forum di Technet, dove molte lamentele fanno presente che la prima opzione (UpdatesBlockedTime) non basta a tenere fermo il classico banner che invita all’aggiornamento alla nuova versione di Office (occhio, intendo quella che ti permette di saltare da Office 2013 a 2016, non quella che informa riguardo una patch disponibile per la propria attuale release, quest’ultima deve continuare a poter funzionare, secondo me).

Office 2013 (GPO): disabilitare l'upgrade a Office 2016 1

(Messaggio in inglese, lo so) Richiesta di aggiornamento (di sicurezza, ma non solo) di Office 2013, senza necessità di Upgrade.

La chiave di registro, trasformata in XML per poter essere facilmente copiata e incollata nel Group Policy Editor, è la seguente (non indentata, lo so, porta pazienza e non fare lo schizzinoso, che in questo caso ti risparmio del lavoro ;-)):

<?xml version="1.0" encoding="UTF-8"?>
<Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Office 13: blocca upgrade"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="HKEY_LOCAL_MACHINE"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="SOFTWARE"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Microsoft"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Office"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="15.0"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="ClickToRun"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Updates"><Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="UpdatesBlockedTime" status="UpdatesBlockedTime" image="7" changed="2016-10-25 11:10:46" uid="{15503209-2E18-311F-ED07-5AE948CE4889}"><Properties action="U" displayDecimal="0" default="0" hive="HKEY_LOCAL_MACHINE" key="SOFTWARE\Microsoft\Office\15.0\ClickToRun\Updates" name="UpdatesBlockedTime" type="REG_SZ" value="0"/><Filters/></Registry></Collection></Collection><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="Common"><Collection clsid="{53B533F5-224C-47e3-B01B-CA3B3F3FF4BF}" name="OfficeUpdate"><Registry clsid="{9CD4B2F4-923D-47f5-A062-E897DD1DAD50}" name="EnableAutomaticUpgrade" status="EnableAutomaticUpgrade" image="12" changed="2016-10-25 11:10:46" uid="{6D5BB70C-4B26-16F8-3E29-7FE1C45B7651}"><Properties action="U" displayDecimal="0" default="0" hive="HKEY_LOCAL_MACHINE" key="SOFTWARE\Microsoft\Office\15.0\Common\OfficeUpdate" name="EnableAutomaticUpgrade" type="REG_DWORD" value="00000000"/><Filters/></Registry></Collection></Collection></Collection></Collection></Collection></Collection></Collection></Collection>

Una volta assegnata ai tuoi utenti, questa comincerà a lavorare e modificare il comportamento del registro, andando a nascondere il messaggio di richiesta upgrade al successivo avvio di un software facente parte della suite di Office.

G

Condividi l'articolo con i tuoi contatti:

Uno di quei problemi che, a lanciare una ricerca nei forum di Microsoft, escono quasi più risultati di una equivalente azione mirata a conoscere le misure di una showgirl. In seguito all’aggiornamento a Office 2016 (anche se non immediato), in ufficio abbiamo iniziato a notare una quantità di richieste di login superiore al dovuto.

Ora, che ogni tanto scada l’accesso al proprio account Office 365, ci può assolutamente stare. Che questo diventi però un’abitudine a ciascuna chiusura e riapertura programma (anche a distanza di pochi secondi) non è normale.

Office 2016: prima di partire e primi passi con ...

Ho provato a fare un reset dell’installazione, ho provato a cambiare profilo, ho cercato riferimenti in merito, nulla di fatto. Nei forum Technet c’è molta confusione, troppe informazioni spesso sbagliate. Sono arrivato a qualcosa di concreto, ho trovato finalmente un articolo che riproduce l’errore e lo risolve (questo: meyermed.com/2014/02/fixing-the-error-onenote-needs-a-password-to-sync-this-notebook-click-here-to-enter-your-password) e ho risolto l’anomalia sulla mia postazione, memorizzando le credenziali di Outlook ancora una volta e lasciando che OneNote tenesse la cache dell’autenticazione nel Gestore Credenziali di Windows.

Office 365: continue richieste di login da OneNote (e non solo) 1

Per poter replicare rapidamente la soluzione su più postazioni, ho scritto qualche riga di batch così da poterla dare in pasto al Kace di Dell e lanciarla agilmente ogni volta che ne ho bisogno. Funziona su Windows 7, 8.1 e anche 10:

cmdkey.exe /list > "%TEMP%\CredMan.txt"
findstr.exe MS.Outlook* "%TEMP%\CredMan.txt" > "%TEMP%\CredMan_Tokens.txt"
findstr.exe MicrosoftOffice15_* "%TEMP%\CredMan.txt" >> "%TEMP%\CredMan_Tokens.txt"
findstr.exe MicrosoftOffice16_* "%TEMP%\CredMan.txt" >> "%TEMP%\CredMan_Tokens.txt"
FOR /F "tokens=1,2 delims= " %%G IN (%TEMP%\CredMan_Tokens.txt) DO cmdkey.exe /delete:%%H
del "%TEMP%\CredMan.txt" /s /f /q
del "%TEMP%\CredMan_Tokens.txt" /s /f /q

Traducendolo in soldoni, il batch esporta le credenziali attualmente presenti nel Gestore Credenziali di sistema, ricerca tutto ciò che riguarda Office 2013 (15), 2016 (16) e Outlook. Per ciascuna corrispondenza andrà a rimuovere quel riferimento in Windows. Al termine –ovviamente– cancellerà l’esportazione precedentemente eseguita.

Ho creato un pacchetto eseguibile del batch sopra riportato e l’ho caricato sul mio spazio Box, nel caso tu voglia scaricarlo direttamente: app.box.com/s/siespaz9aqi3vzowetsjnovnw15z5eoi.

Dopo aver eseguito la pulizia, come già detto, dovrai autenticarti nuovamente su Outlook ma anche su OneNote se fai uso di Notebooks salvati su OneDrive personale o business (non servirà farlo su Excel o Word, hai già attivato la suite Office, non serve fare altro). Salvo errori, se l’autenticazione andrà a buon fine, ricompariranno le voci relative alle credenziali Office 16 nel gestore Windows, queste possono (e devono) essere lasciate lì.

Cheers.

Condividi l'articolo con i tuoi contatti:

Da quando esiste Microsoft Office, esiste anche la possibilità di rimuoverlo dalla macchina in maniera più efficace, forzata, nel caso in cui i file necessari a una disinstallazione regolare da Pannello di Controllo vengano a mancare o risultino danneggiati per qualsivoglia motivo. Sai dove mettere mano o come muoverti in caso di emergenza? No? Poco male, posso suggerirti che tool scaricare, senza la necessità di prodotti di terze parti, perché Microsoft mette già a disposizione di amministratori di sistemi e semplici utenti casalinghi script sempre aggiornati e che difficilmente falliscono anche nelle situazioni peggiori.

Disinstallazione Office 365 (2016): OffScrub16 e OffScrubc2r

Per evitare errori, Microsoft propone da tempo delle soluzioni eseguibili che, una volta avviate, lanciano autonomamente operazioni ben precise sulla macchina, consegnando poi il risultato finale a video, così che tu possa verificarlo e accertarti che tutto sia andato liscio. Quegli eseguibili in realtà, nascondono dei file VBScript molto complessi che possono essere facilmente recuperati. Ancora oggi il metodo è perfettamente funzionante e ho imparato a capire come muovermi semplicemente leggendo qualche articolo online, uno tra tanti (ben realizzato) è ancora disponibile all’indirizzo blogs.technet.microsoft.com/odsupport/2011/04/08/how-to-obtain-and-use-offscrub-to-automate-the-uninstallation-of-office-products.

Sulla base di questo, è facile crearsi una piccola cartella da tenere su chiave USB (o altrove) per recuperare al momento opportuno ciò che più ti è utile. Ho caricato ogni VBS online, così che tu possa scaricarli facilmente, li trovi (aggiornati alle release Click2Run e Office 2016 anche con abbonamento 365) all’indirizzo app.box.com/s/lufdy9nqb7ebr8j53asbn9rkdrbd9smr. Utilizzarli è semplice, puoi fare riferimento al primo blog Technet che ti ho riportato qualche riga fa, gli script permettono di lavorare su Office dalla sua versione 2003 alla più recente 2016 (come già detto).

Se sei solo curioso e non vuoi scaricare alcunché, puoi trovare una copia di OffScrub16.vbs su Gist. Sempre lì trovi anche una copia di OffScrubc2r.vbs, per la pulizia dei prodotti Click2Run (più generico, in grado di spazzare via anche le ultime versioni dei prodotti Microsoft per l’ufficio, compresi Project o Visio, tanto per dire).

Vecchia scuola

Se vuoi provare a disinstallare un prodotto in maniera regolare (o manualmente), devi sapere che Microsoft propone un documento estremamente chiaro all’indirizzo support.office.com/en-us/article/Uninstall-Office-2013-Office-2016-or-Office-365-from-a-PC-9dd49b83-264a-477a-8fcc-2fdf5dbf61d8, all’interno del quale potrai specificare il sistema operativo utilizzato (così da ottenere le istruzioni da seguire passo-passo), e in alternativa scaricare quello che viene chiamato “Easy Fix Tool” che andrà a effettuare in maniera completamente autonoma le operazioni sulla tua macchina, così da permetterti di pulire ogni file, ogni chiave di registro, preparando così il sistema a ricevere da zero una nuova installazione di Office. Ti stai chiedendo se si tratta del VBS più recente di cui ho parlato poco fa? Si, è lui, semplicemente conservato all’interno dell’eseguibile e depositato in maniera temporanea nella cartella C:\Users\administrator\AppData\Local\Temp\msdtadmin\_1AD76E40-C8F2-4381-82D3-781C693A6746_\cabpkg, a meno di diversa versione da te scaricata. Cambia poco in realtà (può variare la stringa esadecimale, il resto rimane generalmente invariato).

Se neanche il tool può nulla, ricordati che hai la possibilità di intervenire manualmente su Office 2016 o Office 2013, tanto per citare i due più recenti.

Integrazione

Manco a dirlo, gli script VBS di Microsoft sono perfetti per essere integrati all’interno di script più complessi o batch che possano richiamarli in caso di necessità. Ovviamente anche Dell Kace ne può fare uso in base a ciò che trova sul sistema. Uno script utilizzato per lavoro prevede il rilevamento delle versioni antecedenti all’ultima 2016 con conseguente pulizia eseguita lanciando il VBS adatto, per capirci:

:findoffice
set ofc2k3=No
set ofc2k7=No
set ofc2k10=No
set ofc2k13=No
set visio2k13=No
set prj2k13=No

if "%processor_architecture%" == "AMD64" GOTO AMD64
if "%PROCESSOR_ARCHITEW6432%" == "AMD64" GOTO AMD64
if "%processor_architecture%" == "x86" GOTO x86
GOTO exitcleaner

:AMD64
echo Sistema a 64 bit
if exist "%ProgramFiles%\Microsoft Office\Office11\WINWORD.exe" set ofc2k3="Si (Versione x64)"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office11\WINWORD.exe" set ofc2k3="Si (Versione x86)"
if exist "%ProgramFiles%\Microsoft Office\Office12\WINWORD.exe" set ofc2k7="Si (Versione x64)"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office12\WINWORD.exe" set ofc2k7="Si (Versione x86)"
if exist "%ProgramFiles%\Microsoft Office\Office14\WINWORD.exe" set ofc2k10="Si (Versione x64)"
if exist "%ProgramFiles(x86)%\Microsoft Office\Office14\WINWORD.exe" set ofc2k10="Si (Versione x86)"
if exist "%ProgramFiles%\Microsoft Office 15\root\office15\WINWORD.exe" set ofc2k13="Si (Versione O365 x64)"
if exist "%ProgramFiles(x86)%\Microsoft Office 15\root\office15\WINWORD.exe" set ofc2k13="Si (Versione O365 x86)"
if exist "%ProgramFiles%\Microsoft Office\Office15\VISIO.exe" set visio2k13="Si (Versione O365 x64)"
if exist "%ProgramFiles(x86)%\Microsoft Office 15\root\office15\WINWORD.exe" set visio2k13="Si (Versione O365 x86)"
if exist "%ProgramFiles%\Microsoft Office\Office15\WINPROJ.exe" set prj2k13="Si (Versione O365 x64)"
if exist "%ProgramFiles(x86)%\Microsoft Office 15\root\office15\WINPROJ.exe" set prj2k13="Si (Versione O365 x86)"
GOTO execute

:x86
echo Sistema a 32 bit
if exist "%ProgramFiles%\Microsoft Office\Office11\WINWORD.exe" set ofc2k3="Si (Versione x86)"
if exist "%ProgramFiles%\Microsoft Office\Office12\WINWORD.exe" set ofc2k7="Si (Versione x86)"
if exist "%ProgramFiles%\Microsoft Office\Office14\WINWORD.exe" set ofc2k10="Si (Versione x86)"
if exist "%ProgramFiles%\Microsoft Office 15\root\office15\WINWORD.exe" set ofc2k13="Si (Versione O365 x86)"
if exist "%ProgramFiles%\Microsoft Office\Office15\VISIO.exe" set visio2k13="Si (Versione O365 x86)"
if exist "%ProgramFiles%\Microsoft Office\Office15\WINPROJ.exe" set prj2k13="Si (Versione O365 x86)"
GOTO execute

:execute
cscript //nologo \\TUOSERVERKACE\cleanofc\ofc_start.vbs %ofc2k3% %ofc2k7% %ofc2k10% %ofc2k13% %visio2k13% %prj2k13%

:ofc2003
if %ofc2k3%=="Si (Versione x86)" cscript \\TUOSERVERKACE\cleanofc\OffScrub03.vbs ALL /Q /NoCancel /BYPASS 1
if %ofc2k3%=="Si (Versione x64)" cscript \\TUOSERVERKACE\cleanofc\OffScrub03.vbs ALL /Q /NoCancel /BYPASS 1
:ofc2007
if %ofc2k7%=="Si (Versione x86)" cscript \\TUOSERVERKACE\cleanofc\OffScrub07.vbs ALL /Q /NoCancel /BYPASS 1
if %ofc2k7%=="Si (Versione x64)" cscript \\TUOSERVERKACE\cleanofc\OffScrub07.vbs ALL /Q /NoCancel /BYPASS 1
:ofc2010
if %ofc2k10%=="Si (Versione x86)" cscript \\TUOSERVERKACE\cleanofc\OffScrub10.vbs ALL /Q /NoCancel /BYPASS 1
if %ofc2k10%=="Si (Versione x64)" cscript \\TUOSERVERKACE\cleanofc\OffScrub10.vbs ALL /Q /NoCancel /BYPASS 1
:ofc2013
REM Utilizzo lo stesso script per rimuovere anche Visio e Project 2013 (sempre in versione C2R 365)
if %ofc2k13%=="Si (Versione O365 x86)" cscript \\TUOSERVERKACE\cleanofc\OffScrub13.vbs ALL /Q /NoCancel /BYPASS 1
if %ofc2k13%=="Si (Versione O365 x64)" cscript \\TUOSERVERKACE\cleanofc\OffScrub13.vbs ALL /Q /NoCancel /BYPASS 1
if %visio2k13%=="Si (Versione O365 x86)" cscript \\TUOSERVERKACE\cleanofc\OffScrub13.vbs ALL /Q /NoCancel /BYPASS 1
if %visio2k13%=="Si (Versione O365 x64)" cscript \\TUOSERVERKACE\cleanofc\OffScrub13.vbs ALL /Q /NoCancel /BYPASS 1
if %prj2k13%=="Si (Versione O365 x86)" cscript \\TUOSERVERKACE\cleanofc\OffScrub13.vbs ALL /Q /NoCancel /BYPASS 1
if %prj2k13%=="Si (Versione O365 x64)" cscript \\TUOSERVERKACE\cleanofc\OffScrub13.vbs ALL /Q /NoCancel /BYPASS 1

:exitcleaner

Dove ofc_start.vbs viene utilizzato per mostrare un popup all’utente (indicando quali prodotti sono stati rilevati sulla macchina) e chiedendo se può procedere o meno con la rimozione. Se dovesse servirti, posso metterlo a disposizione, chiedilo pure nell’area commenti. Lo script poco sopra è chiaramente modificabile secondo tue esigenze, il mio è un esempio (comunque utilizzato in produzione) per farti capire come sia possibile utilizzare l’ottimo lavoro svolto da Microsoft all’interno del proprio ambiente di lavoro.

Al termine dell’operazione non è necessario effettuare il riavvio della macchina, puoi integrare un ulteriore VBS (o equivalente) per notificare li termine del lavoro.

Ho dimenticato nulla? :-)

Condividi l'articolo con i tuoi contatti:

È una semplice domanda. Voi come preferite far gestire le caselle comuni ai vostri utenti che utilizzano Outlook? Lo chiedo perché in realtà la funzione di auto-mapping, offerta da Exchange, è parecchio comoda ed evita di farvi mettere mano ai client sparsi negli uffici, delegando l’utente finale ad andare a esplorare la novità che nel frattempo sarà comparsa automaticamente nel suo programma di posta elettronica. L’auto-mapping, infatti, può essere abilitato direttamente da PowerShell, non costa nulla e occuperà un po’ più spazio nel file OST dell’utente, rispettando lo stesso intervallo di sincronizzazione (cache) scelto per la casella di posta principale.

Al contrario, una gestione priva di auto-mapping, richiederà l’intervento vostro (o dell’utente precedentemente istruito), creando però più file OST e più notifiche a video nel caso in cui arrivi una mail in una delle caselle di posta condivise, particolare che spesso viene considerato scomodo e invadente dall’utente finale. Un bivio che porta ad alcune riflessioni, pro e contro.

Office 365: Messaggi Secondari (Exchange Online Clutter)

Ho voluto provare ad adottare il metodo degli OST separati (e di conseguenza dei periodi di cache da mantenere in locale) su alcune postazioni problematiche, dove caselle di posta condivise hanno creato scompiglio, sincronizzazione con i server Exchange a tratti non infallibili e dove, in caso di problemi, la cancellazione del file OST unico causa un resync pressoché infinito, rendendo impossibile lavorare in team con la posta elettronica. Perché tutto questo? Vi avevo già parlato dei problemi causati dai database di posta molto pesanti, l’articolo tutto sommato resta attuale:

Outlook 2013: Cached mode per le Shared Mailbox, conviene? Ricerca nelle sottocartelle e altre complicazioni

Tenere gli OST separati (configurando manualmente le caselle di posta condivise come fossero nuovi account, nda) vuol dire:

  • poter impostare la profondità di tempo da tenere nella modalità cache locale (sul disco fisso del PC dell’utente);
  • poter impostare una diversa firma in base alla casella mittente che si va a utilizzare, senza necessità di fare switch manuale tra quelle disponibili;
  • poter cancellare uno dei file OST presenti sulla macchina (vedi immagine di seguito) senza andare a impattare sugli altri indirizzi di posta gestiti dallo stesso Outlook. Minore quantità di dati da trasferire (dipende), possibilità di poter continuare a lavorare con gli altri account (con gli altri OST integri).

Outlook e Shared Mailbox: Auto-Mapping o più file dati?

Il contro è ovviamente dovuto al fatto che ogni account potrà segnalare la presenza di nuove mail, che si traduce con una continua notifica a video (e nell’icona della tray) anche se una specifica comunicazione non dovrà essere da noi visualizzata (ma da un diverso membro del team che si occupa di curare una casella di posta elettronica condivisa). È un difetto che non si nota quando si ha a che fare con caselle di posta elettronica a bassa movimentazione, terribile invece quando ci si muove su un terreno costantemente minato da mail. Non esiste allo stato attuale un modo pulito e semplice per differenziare le notifiche da ricevere a video. Ci sono alcuni work-around che funzionano, ma affatto comodi e sempre funzionali.

È inoltre fuori dubbio che così facendo, la gestione della singola macchina (quindi della sua configurazione di posta elettronica) diventi un qualcosa da portarsi dietro anche in futuro, quando -magari- l’utente non avrà più bisogno della casella condivisa e toccherà a voi (o lui, se precedentemente istruito) andare a rimuovere manualmente l’account (e riavviare Outlook per applicare la modifica, nda), cosa che con l’auto-mapping non accade (ovviamente).

Perdere le notifiche (perché finirete per disattivarle in caso di troppe comunicazioni in ingresso) o rischiare di dover ricostruirsi un data file troppo corposo ogni volta che nascerà un problema di sincronizzazione diversamente non risolvibile?

Condividi l'articolo con i tuoi contatti:

Office 365 Logo IconIl passaggio a Office 2016 è importante per tutti coloro che hanno un abbonamento Office 365 e la possibilità di avere una copia della suite installata in locale. Rispetto a Office 2013 non cambia poi molto, non esteticamente almeno (escludendo la colorazione unica della barra superiore di ogni applicazione), l’eccezione c’è ma per una più alta stabilità, velocità e quella serie di novità che possono essere continuamente introdotte (correggendo eventuali problemi) da Microsoft, attraverso cicli che rispettano un po’ più gli ambienti di lavoro (era ora), così come ho avuto modo di spiegarvi in questo articolo pubblicato qualche tempo fa.

Quello che voglio affrontare oggi è un discorso che riguarda la distribuzione manuale, nel caso in cui all’utente non sia comparso a video il messaggio che gli permette di effettuare il salto verso la nuova versione del software di Redmond. Come al solito, mi baso sull’utilizzo di Dell Kace, ma è chiaro che ogni mio script può facilmente essere riadattato a un diverso ambiente o metodo di distribuzione.

Rapida analisi e svolgimento

Il caso tipo prevede un Office 2013 licenziato a nome dell’utente, che dovrà essere aggiornato a 2016. Una qualsiasi versione, sia chiaro, che poi saltare all’ultima patch è sempre semplice (e si fa in completa autonomia dal menu Account di una qualsiasi tra le applicazioni che compongono la suite). Sono partito dal presupposto che la base sia proprio Office 365 ProPlus (2013). Visio e Project, citati nel titolo, verranno in seguito, sempre in upgrade manuale se necessario, anch’essi controllati da uno script.

Prima di partire con l’upgrade vi servirà creare / appoggiarvi a una cartella che sia raggiungibile dalla rete e dai vostri client (aperta in sola lettura per tutti sarà più sufficiente, nda), all’interno della quale depositare i file di installazioni di Office 2016 sia in versione x86 che x64, scaricato tramite C2R, come spiegato in questo articolo, nel paragrafo relativo al metodo Click-to-Run. Quando ho preparato l’ambiente, la versione disponibile sui server di Microsoft era la 16.0.6568.2025, ormai abbondantemente superata nel ramo Current. Nulla cambia. La base potrà essere lei, verrà poi aggiornata in maniera automatica e notificata all’utente per l’installazione finale.

Lo script analizza il sistema, verifica una eventuale presenza di Office 2016 (facendo una query sul registro) e lancia il giusto setup in base all’architettura di sistema, questa la traduzione in soldoni:

set LogLocation=\\FILESERVER\Client_Logs
reg query HKLM\SOFTWARE\Microsoft\Office\16.0\ClickToRunStore\Packages\{9AC08E99-230B-47e8-9721-4577B7F124EA}
if %errorlevel%==1 (goto SelectOS) else (goto End)

:SelectOS
if not defined ProgramFiles(x86) goto 32bit else goto 64bit

:64bit
set DeployServer="\\$SERVERK1000\client\resources\o365\Office-x64 16.0.6568.2025"
set ConfigFile="\\$SERVERK1000\client\resources\o365\Office-x64 16.0.6568.2025\configuration.xml"
goto DeployOffice

:32bit
set DeployServer="\\$SERVERK1000\client\resources\o365\Office-x86 16.0.6568.2025"
set ConfigFile="\\$SERVERK1000\client\resources\o365\Office-x86 16.0.6568.2025\configuration.xml"
goto DeployOffice

:DeployOffice
echo %date% %time% Setup started. >> %LogLocation%\%computername%.txt
%DeployServer%\setup.exe /configure %ConfigFile%
echo %date% %time% Setup ended with error code %errorlevel%. >> %LogLocation%\%computername%.txt

:End

Ho aggiunto qualche riga di codice in più per permettere allo script di tracciare la sua attività in file di testo, utilizzando una cartella di rete che per l’occasione ho reso scrivibile agli utenti. Cosa sostituire quindi all’interno dello script?

  • \\FILESERVER\Client_Logs è la cartella dove depositare i log di cui vi ho appena parlato una riga più sopra.
  • \\$SERVERK1000 è la vostra macchina DELL Kace, o la cartella di rete dove tutti devono poter avere accesso (anche in sola lettura), ciò include ovviamente anche il resto del percorso “\client\resources\eccetera“.

Una volta lanciato lo script sulla macchina interessata, tramite Kace, si noterà l’operazione di upgrade nel Task Manager, rimanendo così invisibile agli occhi dell’utente che dovrà limitarsi a non avviare alcuna applicazione Office nel frattempo (ovviamente sarà stato preventivamente avvisato, con la speranza che poi collabori!):

Kace: (RTOFC16) Road To Office 2016 (installare Office)

L’operazione (dipende molto dalla velocità della rete e da quanto il client finale è scarico in termini di lavoro) dura all’incirca 20 minuti, al termine dei quali si potrà accedere alle nuove versioni 2016 degli applicativi Office. A questo punto sarà necessario confermare la password dell’account di posta (che verrà richiesta all’apertura di Outlook, nda) e accettare nuovamente i termini di licenza, quindi dare un semplice OK a video quando vi verrà mostrato il popup con le novità della versione installata.

Potrebbe capitarvi a video un messaggio di errore per installazione danneggiata. Facendo clic su “Ripristina ora“, il programma aperto verrà terminato dopo qualche secondo. Potrete riaprirlo immediatamente, tutto dovrebbe funzionare correttamente.

Visio & Project

Kace: Upgrade a Office 2016 (dal 2013), Visio, Project Kace: Upgrade a Office 2016 (dal 2013), Visio, Project 1Contrariamente a quanto sempre accaduto (spiegato anche da Microsoft in un documento dove viene espressamente negata la possibilità di far co-esistere sulla stessa macchina un’installazione C2R con una MSI, se si parla di prodotti Office), la società di Redmond ha finalmente ampliato le possibilità offerte da Office 365 e portato a bordo cloud anche Visio e Project. In soldoni, vi sarà finalmente possibile gestire un’installazione di più prodotti sotto licenza 365 sulla stessa macchina, installati tutti con metodo C2R, un bel respiro, meglio tardi che mai.

Anche noi (in ufficio) abbiamo scelto di far convertire le nostre vecchie licenze MSI (Professional) in paritarie (o quasi) 365 ProPlus. Così facendo è possibile toglierle e metterle direttamente dal pannello di Exchange (ECP), includendole o escludendole sul singolo utente.

Lo script viene pressoché da sé, facile intuire anche il metodo per il download dato che si tratta dello stesso identico utilizzato per Office, con una ovvia modifica al configuration.xml:

<Configuration>
  <Add OfficeClientEdition="64" Branch="Current">
    <Product ID="VisioProRetail">
      <Language ID="it-it" />
    </Product>
  </Add>
  <Updates Enabled="TRUE" Branch="Current" />
  <Display Level="None" AcceptEULA="TRUE" />
  <Property Name="AUTOACTIVATE" Value="1" />
</Configuration>

Che, tradotto, permetterà di scaricare l’ultima versione a 64 bit e in italiano del programma Visio, pronto per essere affiancato a un Office 2016 già presente a bordo macchina. Modificate il 64 della OfficeClientEdition portandolo a 32 se necessario, inserite ProjectProRetail al posto di VisioProRetail per cambiare il programma da scaricare / installare. Il risultato lo si porta a casa facilmente, basta sapere cosa si intende ottenere.

L’installazione tramite Kace è un passaggio altrettanto semplice:

set LogLocation=\\FILESERVER\Client_Logs

:SelectOS
REM Termino le applicazioni di Office lasciate aperte
taskkill /IM ONENOTE.EXE /F
taskkill /IM OUTLOOK.EXE /F
taskkill /IM MSACCESS.EXE /F
taskkill /IM MSPUB.EXE /F
taskkill /IM WINWORD.EXE /F
taskkill /IM EXCEL.EXE /F
taskkill /IM POWERPNT.EXE /F

REM Verifico il SO
if not defined ProgramFiles(x86) goto 32bit
:64bit
set DeployServer="\\$SERVERK1000\client\resources\o365\Project-x64 16.0.6741.2021"
set ConfigFile="\\$SERVERK1000\client\resources\o365\Project-x64 16.0.6741.2021\configuration.xml"
goto DeployOffice
:32bit
set DeployServer="\\$SERVERK1000\client\resources\o365\Project-x86 16.0.6741.2021"
set ConfigFile="\\$SERVERK1000\client\resources\o365\Project-x86 16.0.6741.2021\configuration.xml"

:DeployOffice
echo %date% %time% Setup started. >> %LogLocation%\%computername%_Project16.txt
%DeployServer%\setup.exe /configure %ConfigFile%
echo %date% %time% Setup ended with error code %errorlevel%. >> %LogLocation%\%computername%_Project16.txt
goto End

:End
echo %date% %time% Project16 batch terminated. >> %LogLocation%\%computername%_Project16.txt

Rispetto allo script precedente, questo si occupa anche di terminare i programmi di Office lasciati aperti, perché in caso contrario l’installazione non potrà essere portata a termine (già provato, nulla da fare, dispiace). Anche stavolta viene prodotto un piccolo file di log per tracciare quanto fatto. Restano identiche le modifiche da eseguire rispetto a quelle che vi ho riportato nel paragrafo precedente. Stupido dirlo: modificando lo script pubblicato qui sopra, potrete ovviamente installare anche Visio (utilizzando un solo batch, oppure creandone uno nuovo e separato).

In conclusione

Più facile scriverlo che realizzarlo, un po’ come succede quasi sempre. Si tratta di batch banali, che chiunque può scrivere in mille modi diversi pur arrivando allo stesso obbiettivo. Una volta ottenuto il materiale necessario, il resto è tutto in discesa. Stiamo portando a termine una migrazione sufficientemente unattended con la collaborazione dei nostri utenti, è questo lo scopo di tutto il gioco. Ogni nuovo consiglio o confronto è ben accetto, l’area commenti è a vostra disposizione (anche senza registrazione).

Riferimenti ad altri articoli

Office 365 ProPlus (2016): modifica versione installata

Office 2013, 2016, 365 ProPlus, download diretti e C2R

Condividi l'articolo con i tuoi contatti: