Archives For XML

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:

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:

Office 2013, 2016, 365 ProPlus, download diretti

Capita talvolta di avere la necessità di scaricare la suite completa di Office e di non avere a portata di mano la propria chiave USB dove si è soliti tenerla salvata per futuri utilizzi, che si fa? Si scarica da zero, ammesso che si sappia da quali link passare per evitare inutili perdite di tempo o chissà quali passaggi tra codici di autenticazione e utenze registrate delle quali si dimentica troppo spesso la password.

Voglio raccogliere in questo piccolo articolo i riferimenti diretti per il download delle immagini complete di Office 2013, 2016 o le versioni C2R del 365 ProPlus (a sottoscrizione).

Office 2013

Sorpassato dalla versione 2016, Office 2013 è stato acquistato da molti con una chiave di licenza singola, per questo può sempre tornare utile avere a disposizione le immagini masterizzabili da conservare in luogo sicuro per future reinstallazioni. Occhio: le immagini differiscono per sistemi a 32 o 64 bit.

Entrambi i link puntano direttamente ai server Microsoft, così da andare sul sicuro ;-)

Office 2016

Contrariamente alla disponibilità dei link della versione 2013, la 2016 viene proposta esclusivamente sotto l’area download di un abbonamento MSDN oppure via C2R (Click 2 Run) agli utenti abbonati Office 365. Per questo motivo non è difficile trovare persone che hanno eseguito il download della ISO via MSDN per poi caricare quel file su servizi di cloud sparsi per il globo. In particolare c’è uno spazio web russo che propone il download di tutte le immagini ISO (in qualsiasi lingua) che sembra funzionare bene ancora oggi.

Potete trovare la ISO in italiano (sia per sistemi a 32 che a 64 bit) facendo clic qui. Potete invece visualizzare voi stessi tutte le ISO disponibili navigando verso l’indirizzo cloud.mail.ru/public/MuWJ/iHJ47CZNS/MSDN_OFFICE 2016 RETAIL/Microsoft Office 2016  Professional Plus (MSDN)/.

Office 365 ProPlus, Click2Run

Il metodo di installazione e distribuzione ormai più diffuso per le installazioni di Office sotto abbonamento 365, sia privato che aziendale. Ne avevo già parlato in un altro articolo, dedicato a un problema riscontrato in una vecchia versione di Excel, e posso dirvi che il metodo non è certamente cambiato. Andrà scaricato il pacchetto di Deploy per Office 2016, disponibile all’indirizzo microsoft.com/en-us/download/confirmation.aspx?id=49117, quindi modificare il file XML di configurazione contenuto all’interno della cartella che il software andrà a creare.

Il default proposto è questo (a oggi):

<!-- Office 365 client configuration file sample. To be used for Office 365 ProPlus 2016 apps, Office 365 Business 2016 apps, Project Pro for Office 365 and Visio Pro for Office 365.

For detailed information regarding configuration options visit: http://aka.ms/ODT. To use the configuration file be sure to remove the comments

For Office 365 client apps (version 2013) you will need to use the 2013 version of the Office Deployment Tool which can be downloaded from http://aka.ms/ODT2013

The following sample allows you to download and install Office 365 ProPlus 2016 apps and Visio Pro for Office 365 directly from the Office CDN using the Current Branch settings  -->

<Configuration>
 <Add OfficeClientEdition="32" Branch="Current">
  <Product ID="O365ProPlusRetail">
   <Language ID="en-us" />
  </Product>
  <Product ID="VisioProRetail">
   <Language ID="en-us" />
  </Product>
 </Add>

 <!--  <Updates Enabled="TRUE" Branch="Current" /> -->
 <!--  <Display Level="None" AcceptEULA="TRUE" />  -->
 <!--  <Property Name="AUTOACTIVATE" Value="1" />  -->

</Configuration>

Che andrà modificato per scaricare (e in seguito installare) la versione desiderata. Noi in ufficio utilizziamo una versione in italiano e 64 bit, quindi il nostro XML di configurazione diventa:

<Configuration>

 <Add OfficeClientEdition="64" Branch="Current">
  <Product ID="O365ProPlusRetail">
   <Language ID="it-it" />
  </Product>
 </Add>

 <Updates Enabled="TRUE" Branch="Current" />
 <Display Level="None" AcceptEULA="TRUE" />
 <Property Name="AUTOACTIVATE" Value="1" />

</Configuration>

Contrariamente alla versione 2013, la 2016 prevede la possibilità di scaricare sempre l’ultima versione del pacchetto disponibile sui server Microsoft, semplicemente lasciando la variabile “Branch” a “Current“. Una volta salvato il file XML, basterà lanciare un prompt dei comandi e andare a lanciare il download utilizzando il file eseguibile di Setup:

C:\temp\Office-2016-C2R-Deploy>setup.exe /download

A download completato, comparirà una nuova riga nel prompt dei comandi, controllando ora la cartella dovreste notare qualcosa di molto simile a:

C:\>dir /s /b "C:\temp\Office-2016-C2R-Deploy"
C:\temp\Office-2016-C2R-Deploy\configuration.xml
C:\temp\Office-2016-C2R-Deploy\setup.exe
C:\temp\Office-2016-C2R-Deploy\Office
C:\temp\Office-2016-C2R-Deploy\Office\Data
C:\temp\Office-2016-C2R-Deploy\Office\Data\v64.cab
C:\temp\Office-2016-C2R-Deploy\Office\Data\v64_16.0.6568.2025.cab
C:\temp\Office-2016-C2R-Deploy\Office\Data\16.0.6568.2025
C:\temp\Office-2016-C2R-Deploy\Office\Data\16.0.6568.2025\i640.cab
C:\temp\Office-2016-C2R-Deploy\Office\Data\16.0.6568.2025\i641040.cab
C:\temp\Office-2016-C2R-Deploy\Office\Data\16.0.6568.2025\s640.cab
C:\temp\Office-2016-C2R-Deploy\Office\Data\16.0.6568.2025\s641040.cab
C:\temp\Office-2016-C2R-Deploy\Office\Data\16.0.6568.2025\stream.x64.it-it.dat
C:\temp\Office-2016-C2R-Deploy\Office\Data\16.0.6568.2025\stream.x64.x-none.dat

Dove ovviamente il numero di versione sarà diverso (in base al giorno in cui effettuerete il download dei dati dai server Microsoft, manco a dirlo). Per installare il pacchetto appena scaricato in offline (quindi trasportabile e conservabile in un vostro spazio disco, per futuri utilizzi), potrete lanciare il comando di configure, al posto di quello di download precedentemente utilizzato:

C:\temp\Office-2016-C2R-Deploy>setup.exe /configure

Ricordate: anche conservando una vecchia versione del pacchetto di installazione in offline, Office sarà poi capace di recuperare l’ultimo aggiornamento disponibile sui server di Microsoft su vostra richiesta, dalla GUI, da uno qualsiasi dei programmi facenti parte della suite. Ricordate inoltre che il software scaricato e installato tramite C2R è di tipo ProPlus, realizzato per gli abbonati al servizio Office 365. Attivare poi Office con una Product Key potrebbe far comparire un messaggio di versione non adatta a quel tipo di licenza, costringendovi (verrà fatto automaticamente, niente paura) ad attendere che venga scaricato il prodotto giusto sul vostro disco, facendovi perdere ulteriore tempo.

Per tutte le informazioni riguardo l’installazione C2R e il canale di aggiornamento (branch) vi rimando alla documentazione Microsoft ufficiale: technet.microsoft.com/en-us/library/mt455210.aspx. Anche in questo caso, come per la versione 2013 e procedura scritta qualche tempo fa, sarà possibile saltare di versione se lo desiderate, via prompt, utilizzando officec2rclient, che nel frattempo ha cambiato posizione, altrimenti si potrà sempre ricorrere alle GPO di dominio, ma entrambi faranno parte di un prossimo articolo a loro dedicato.

Per ogni dubbio o domanda (ammesso che io conosca la risposta), l’area commenti è a vostra totale disposizione, come sempre :-)

Condividi l'articolo con i tuoi contatti:
Attenzione: articolo ad alto tasso di tecnicismi lavorativi, nerditudine, viaggi mentali che potrebbero non interessare ai più, comunque vada perdete ogni speranza o voi che leggete.

USMT_iconSi tratta di un lavoro fatto più di un anno fa ma che ultimamente sembra essere tornato parecchio utile ancora una volta visto che alcuni degli utenti in azienda hanno subito una migrazione di dominio con la diretta conseguenza del dover migrare anche i dati di profilo sulla loro macchina cercando di perdere zero dati / configurazioni o il meno possibile durante “il salto“. Non ne avevo scritto all’epoca, forse ne avevo migrati talmente tanti che ormai facevo fatica a sopportare ancora le finestre batch del mio script ;-)

In realtà mi rendo conto che potrebbe tornare utile a qualche collega lì fuori o magari ad un utente che ha deciso di spostare i suoi dati su un differente account locale del suo Windows, quindi ve ne parlo volentieri. Tutto ciò che serve è conoscere lo strumento USMT (User State Migration Tool) di Microsoft (descritto qui) e magari una mano (tra script e spiegazioni) che vi permette di risparmiare del tempo per portare a termine l’operazione.

In sintesi

Lo User State Migration Tool (da ora semplicemente USMT per comodità) è uno strumento nativo di Windows 7 e 8 (Trasferimento dati Windows), mai integrato in Windows Xp, che può essere utilizzato anche da interfaccia grafica anche se in maniera un pelo più limitata e guidata. Il modo migliore per sfruttarlo -nello specifico caso dell’articolo- è quello via riga di comando dandogli in pasto un set di istruzioni che lo istruisca sul da farsi. Lo strumento effettua una scansione di tutto ciò che vi servirà trasportare e creerà un unico pacchetto che poi tramite un’operazione inversa permetterà di “esploderne” il contenuto nella nuova location. Nessun lavoro fatto a mano a rischio di errore umano, pensa a tutto lui, voi dovrete solo essere capaci di mettere mano ad un file XML all’interno del quale sceglierete cosa trasportare attraverso la scansione file su disco.

L’installazione di USMT

Per installare USMT basterà semplicemente scaricare uno dei pacchetti che ho caricato su app.box.com/s/7rr9w7e0ybmdsubgl3ol in base al vostro sistema operativo. La versione 4 è stata realizzata per Windows 7, troverete il pacchetto a 32 (USMT4.01_x86) e 64 bit (USMT4.01_x64) insieme alla versione 3 necessaria invece per coloro che stanno ancora utilizzando Windows Xp (InstallUSMT301_x86) e della quale però non ho sotto mano la versione a 64 bit (nell’eventualità voleste segnalarmela nei commenti provvederò a caricarla nella stessa cartella e renderla così disponibile a tutti).

L’installazione si limita al più classico degli avanti-avanti-fine, non è necessario fare altro per il momento e non è necessario neanche conoscere o modificare la cartella di installazione proposta dal setup del software.

Tutto in un XML

Il file XML per effettuare la scansione e il caricamento (in seguito) dei dati è fondamentale se non ci si vuole affidare ad uno standard Microsoft che trasporterà lo stretto necessario. Ho pensato di associare un file XML personale più ricco che possa andare a far compagnia a quello di default. Data la sua lunghezza non lo incollo qui di seguito ma potete trovarlo su Gist all’indirizzo gist.github.com/gioxx/cae18c552cf80e51d0ed.

In breve il file cercherà di trasportare nel file di migrazione:

  • il vostro Desktop (%CSIDL_DESKTOP%);
  • lo “shared Desktop” (o Desktop Pubblico) (%CSIDL_COMMON_DESKTOPDIRECTORY%);
  • eventuali personalizzazioni del menu di Start di Windows (%CSIDL_STARTMENU%) con la sua controparte pubblica come per il Desktop (%CSIDL_COMMON_STARTMENU%);
  • i documenti (%CSIDL_PERSONAL%) insieme alla musica (%CSIDL_MYMUSIC%), le immagini (%CSIDL_MYPICTURES%) e i video (%CSIDL_MYVIDEO%);
  • i preferiti di Internet Explorer (%CSIDL_FAVORITES%);
  • tutti i dati presenti all’interno della cartella %AppData% (%CSIDL_PROFILE%\AppData\*) così da non dover riconfigurare alcuna applicazione già installata sulla macchina. Consiglio di commentare questo blocco nell’eventualità si stia preparando una macchina completamente nuova che potrebbe non avere le stesse applicazioni a bordo, così facendo non porterete con voi dati potenzialmente inutili;
  • la cartella di Dropbox nel profilo personale, ammesso che esista (%CSIDL_PROFILE%\Dropbox\*);
  • la cartella di Google Drive nel profilo personale, ammesso che esista pure questa (%CSIDL_PROFILE%\Google Drive\*);
  • le icone di Quick Launch (%CSIDL_APPDATA%\Microsoft\Internet Explorer\Quick Launch);

È un set di informazioni in più oltre quelle standard (desktop, documenti, ecc.) che sicuramente vi farà piacere portare con voi sul nuovo profilo non costringendovi così a perdere ulteriore tempo per riconfigurare tutto.

I batch

Protagonisti anche loro della migrazione perché vi permetteranno di dimenticare la lunga stringa che serve per mettere in azione sia l’azione di scansione (ScanState) che di caricamento file in seguito (LoadState). Allo stato attuale delle cose non ho avuto tempo di crearne uno solo che possa lanciare la stringa adatta sul sistema adatto, è possibile (ci spero) che io trovi una manciata di minuti per farlo in futuro (lo caricherò qui immediatamente, ovviamente). Per il momento sarete voi che in base all’architettura e al sistema operativo dovrete lanciare quelli che serviranno a portare a termine una corretta migrazione, nulla di complicato sia chiaro, solo più “passaggi da fare a manina“.

Lo ScanState -manco a dirlo- analizzerà ciò che andrà portato via e messo nell’archivio che potrete in seguito caricare tramite il LoadState. L’operazione prevede la lettura del file XML originale previsto dal sistema (con lo stretto necessario) coadiuvato però da quello che ho realizzato io per includere più dati utili ai fini del salto alla nuova macchina o al nuovo utente di dominio:

Questo qui sopra è il codice che può lavorare su un sistema Windows 7 a 32 bit. Potete trovare qui quello per sistemi a 64 bit (sempre 7) e qui quello per Windows Xp (32 bit). Occhio però perché con XP cambiano i nomi di alcune directory e per questo motivo ho dovuto creare un diverso file XML per il trasporto dati, lo potete trovare sempre su gist facendo clic qui.

Al termine dello ScanState il LoadState farà il lavoro “contrario” riportando i dati del vecchio utente sul nuovo. Ancora una volta il codice qui di seguito riporta il caso di un sistema Windows 7 a 32 bit. Trovate qui quello per sistemi a 64 bit (sempre 7) e qui quello per Windows Xp (32 bit). Per Windows Xp serve lo stesso file di migrazione custom che ho citato prima con tanto di collegamento diretto:

Vi ricordo che tutto il pacchetto di script è disponibile per il download in versione sempre aggiornata su GitHub, non c’è quindi bisogno di capire come esportarli uno ad uno da gist ;-)

La migrazione step-by-step

C’è un preciso ordine per tutto, questo metodo con script annessi non fa eccezione. Il motivo principale consiste nel blocco dei file che Windows opera quando si fa il login al dominio sulla macchina. Per poter trasferire correttamente tutti i dati occorre rispettare quindi questa tabella di marcia, così da evitare possibili danni collaterali.

1- Un riavvio pulito

Riavviare (o avviare da spenta) la macchina e collegarsi con un amministratore di dominio (meglio del locale, qualche cartella potrebbe avere permessi più restrittivi). A questo punto si partirà con l’operazione di scansione e salvataggio file dell’utente interessato. Nel caso dello ScanState basterà passargli l’utente dal quale effettuare la lettura. Occorrerà aprire un prompt dei comandi e lanciare semplicemente uno “ScanState dominio\utente“:

ScanState-Windows7_completo

L’operazione di lettura e inserimento dati in archivio potrebbe durare parecchio, tutto dipende da quanti GB di spazio occupa il vostro profilo sul disco locale. Per scoprirlo basterà andare in C:\Users\VOSTROUTENTE e con il tasto destro fare clic sulla cartella, quindi Proprietà. Se i GB cominciano ad andare sempre più in alto toccando quote importanti (pari o superiori ai 10, per capirci *1) propenderei per un taglia-incolla dei dati più corposi (generalmente la libreria musicale e le fotografie, per non parlare dei video) in una cartella temporanea nel disco C: (C:\temp andrà benissimo) per poi –una volta fatto il LoadState atto a caricare i dati precedentemente salvati– riportarli dentro manualmente e di certo più rapidamente rispetto al processo automatizzato di Microsoft, fidatevi, la vostra già labile salute mentale vi ringrazierà.

Ricordate che di default il mio batch scriverà i dati (archivio delle impostazioni e dei vostri file) all’interno di C:\Mig, dove troverete anche un log delle operazioni.

2- La “Terra di Mezzo”: cambio del dominio

Al termine della copia dati si potrà portare il PC nel nuovo dominio (ed eventualmente rinominarla se necessario) e riavviarlo immediatamente per applicare la modifica. Alla prossima richiesta di accesso inserite username e password del nuovo dominio, questo permetterà di creare la cartella di profilo nella quale in seguito andranno copiati i dati, una volta dentro riavviare ancora una volta la macchina. Questo servirà a sbloccare eventuali cartelle bloccate da sistema e permettere quindi una scrittura dati priva di errori.

3- Ricaricare i dati

Ora che la macchina si trova nel nuovo dominio e avete fatto creare la cartella del vostro nuovo profilo si potrà procedere con il caricamento dei dati precedentemente salvati. Fate login con l’amministratore di dominio (del nuovo, manco a dirlo) e -sempre da prompt dei comandi- bisognerà lanciare il LoadState adatto al sistema utilizzato, stavolta dandogli in pasto il vecchio utente di dominio seguito dal nuovo, quindi “LoadState vecchiodominio\utente nuovodominio\utente“, a meno di errori lo script verificherà la presenza del pacchetto dati di migrazione all’interno di C:\mig e partirà con il processo di restore:

LoadState

Come per lo ScanState anche il LoadState necessita dei suoi tempi. Al termine della scrittura dati vi verrà presentato un return code 0 se tutto è andato per il verso giusto, al contrario presenterà a video un errore generalmente accompagnato da un codice che potrete ricercare su Google per trovare il giusto documento di riferimento Microsoft. Per esperienza personale è comune incorrere in alcuni ostacoli che sono poi abbastanza semplici da superare. All’interno dei file XML di migrazione ho incluso alcuni casi e le fonti dalle quali ho preso spunto per portare a termine il tutto (vi basterà aprire quei file con un editor di testo qualsiasi).

In ogni caso sarà necessario effettuare una disconnessione dall’utente attuale per passare su quello di destinazione così da controllare che tutto sia filato liscio. Personalmente vi consiglio un riavvio così da non sbagliare. Noterete che -con una certa soddisfazione- file e impostazioni sono al loro posto, persino l’ordine delle icone sul Desktop sarà lo stesso rispetto a ciò che avete lasciato l’ultima volta sul vecchio account di dominio :-)

Prima di saltellare dalla gioia date comunque un’occhiata all’ultimo capitolo di questo articolo (Note, problemi conosciuti e work-around) per saperne di più sulle tracce che lascia il metodo. Se invece avete riscontrato problemi apparentemente irrisolvibili vi consiglio la lettura del prossimo paragrafo subito qui di seguito.

3/a- Ricaricare i dati tramite interfaccia grafica

Sembra quasi un punto messo lì come fosse un interno di un condominio ed in effetti lo scopo è farvi capire che si può arrivare allo stesso traguardo anche in altra maniera. Windows 7 è il primo SO di Microsoft ad includere infatti una funzionalità nativa per la migrazione dei dati da un diverso PC. Si chiama molto banalmente “Trasferimento dati Windows” ed è possibile avviarlo tramite una banale ricerca nel campo vuoto dello Start. Se avviato senza alcun parametro questo chiederà cosa trasferire e da quale sorgente:

Trasferimento dati Windows

Ciò che forse ignorate è che tramite lo ScanState lanciato un paio di paragrafi fa il batch ha creato un archivio perfettamente compatibile con “Trasferimento dati Windows”, il quale ovviamente è in grado di ripristinarlo saltando a piè pari il LoadState da prompt dei comandi. Questo può tornare molto utile anche quando il LoadState restituisce a video errori non facilmente interpretabili e che magari non si riescono ad aggirare. Basterà fare doppio clic sul “bombolone” di dati che troverete sotto C:\Mig\USMT per lanciare il software e decidere così da che account trasferire i dati (quello per il quale avete lanciato lo ScanState, ovviamente) e su che destinazione (l’utente sul nuovo dominio, altrettanto ovviamente), il tutto sempre rigorosamente come amministratori di dominio o locali della macchina così da non far bloccare particolari file utente che diversamente diventerebbero non sovrascrivibili.

trasferimento-manuale-usmt

Note, problemi conosciuti e work-around

Poca roba eh, niente di bloccante, può tornare però utile sapere certe cose, ho messo qua e la dei riferimenti nell’articolo e ve li spiego meglio in questo paragrafo dedicato:

  • *1: per verifica in maniera più intuitiva e approfondita quali cartelle occupano più spazio nel vostro profilo potete scaricare e utilizzare TreeSize Free, ottima utility che non necessita di installazione. Dategli in pasto una cartella precisa del disco (o l’intero disco, se lo ritenete opportuno) e vi dirà in una manciata di minuti “chi occupa cosa” così da permettervi di intervenire in maniera mirata.

passiamo ora alle piccole pecche che il metodo appena spiegato lascia in giro per il disco:

  • Il vostro sfondo potrebbe non essere quello che avevate lasciato l’ultima volta: tipicamente sostituito da un monocolore decisamente più triste e banale, lo sfondo di Windows potrebbe non essere quello che avete cercato di trasferire. Il perché? Programmi di terze parti, browser e qualsiasi altro software in grado di modificare l’aspetto della vostra scrivania potrebbe aver salvato il file immagine di sfondo in una cartella non contemplata dallo script di trasferimento. Così facendo ovviamente Windows non troverà quel file immagine e non sarà in grado di ridarvi visibilità dell’immagine che avevate scelto come contorno delle icone lasciate sparse sulla schermata principale di Windows. Poco male, basterà ricerca quell’immagine e metterla nuovamente come sfondo del Desktop.
  • Ci vedo doppio! Le raccolte sono duplicate: non siete ubriachi e non avete ancora le allucinazioni. Aprendo l’Esplora Risorse di Windows noterete che le raccolte del sistema (Documenti, Immagini, Video e Musica) saranno accompagnate da altrettante icone con lo stesso nome e il classico “(2)” a fianco. Le raccolte vengono raddoppiate perché create immediatamente al login utente (fatto per la prima volta prima del LoadState). Poco male, vi basterà selezionare le “(2)” ed eliminarle, non perderete alcun dato.
  • Il mio disco si è rimpicciolito, mi sta stretto!: non è proprio così. Dovete sempre ricordare che in questo momento avete pressoché raddoppiato l’occupazione del vostro profilo sullo stesso disco. Il fatto che quel profilo sia su due domini differenti vuol dire che corrisponde anche a due SID differenti (Security IDentifier di Microsoft, ndr). Quando siete sicuri di avere tutto al proprio posto lanciate Start / Esegui / sysdm.cpl e dalla tab Avanzate accedete a Profili utente e –una volta caricata la finestra (portate pazienza)– selezionate e cancellate VECCHIODOMINIO\vostroutente che -quasi certamente- occuperà molto spazio (potete notarlo voi stessi, c’è la colonna di occupazione su disco). L’operazione potrebbe durare diversi minuti e potrebbe essere necessario (in caso di errore per Directory non vuota) andare a cancellare manualmente la cartella in C:\Users. Questo vi permetterà di recuperare lo spazio perso in corso di migrazione dati.

Credo di aver riportato tutto (ma proprio tutto) in questo corposissimo articolo. Potrei quasi scommettere che nessuno è stato capace di arrivare fino in fondo ma sono altrettanto certo che là fuori qualcuno mi ringrazierà, soprattutto se dovesse trovarsi nella stessa situazione / necessità come è stato per me lo scorso anno (e ancora anche questo 2014 per alcune macchine).

Cheers.

Condividi l'articolo con i tuoi contatti:

Non avete installato (e non lo volete neanche) il sistema di Unified Communication di Microsoft ma vi beccate in pieno il client e i suoi componenti aggiuntivi in giro per il vostro disco e negli startup dei programmi. In Outlook Lync piazza un pulsante nella parte dedicata al calendario e che serve a fissare un meeting sulla piattaforma di Microsoft. Quel pulsante corrisponde ad una libreria DLL caricata in avvio, poca roba certamente, ma è pur sempre un qualcosa che rallenta potenzialmente l’avvio di Outlook.

Ho creato una policy GPO che va ad intervenire sul registro di sistema per bloccarne il caricamento. Riprodurla è molto semplice e posso già fornirvi il necessario per accelerare i tempi di realizzazione.

lync-2013

Create la nuova policy navigando fino a User Configuration / Preferences / Windows Settings / Registry.

A questo punto il da farsi è sempre lo stesso e ha due possibili vie: si porta tutto a termine a manina inserendo i valori di registro, le chiavi, ecc, oppure si trasforma un file .reg in XML così da poterlo incollare all’interno della finestra della GPO come nulla fosse, saltando a piè pari la rogna. Provate ad indovinare cosa vi suggerisco di fare :-)

Giusto per completezza sappiate che il valore da andare a modificare per disattivare il componente aggiuntivo in fase di avvio programma è il LoadBehavior, da portare a “2” (esadecimale) come descritto nel documento ufficiale di Microsoft all’indirizzo msdn.microsoft.com/en-us/library/bb386106.aspx. Altro aspetto al quale fare attenzione (come nel mio caso) è il tipo di installazione effettuata (di Office 2013, ndr) che se distribuito tramite portale Microsoft con la modalità Click-to-Run prevede una seconda location dove trovare ulteriori chiavi da andare a ritoccare, come riportato in un documento di KB sempre di Microsoft (support.microsoft.com/kb/2916599).

A questo punto le chiavi di registro da ritoccare sono le seguenti:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\15.0\ClickToRun\REGISTRY\MACHINE\Software\Microsoft\Office\Outlook\Addins\UCAddin.LyncAddin.1]
"LoadBehavior"=dword:00000002

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\Outlook\Addins\UCAddin.LyncAddin.1]
"LoadBehavior"=dword:00000002

Che ho trasformato già per voi in codice XML per essere copiate e incollate direttamente nella GPO:

Vi ricordo che il tool di trasformare da file di registro (reg) a codice XML è disponibile pubblicamente all’indirizzo public.gfsolone.com/tools/reg2gpo, basterà avere a portata di mano il file da caricare e inserire i dettagli della GPO, lui penserà al resto e vi proporrà il download del file XML (che potrete direttamente aprire con un blocco note).

Il gioco è già fatto, assegnate la policy agli utenti desiderati (o a tutta l’azienda trattandosi di un componente aggiuntivo per una piattaforma che magari non avete e che non metterete in piedi in un secondo momento) et voilà.

Buon lavoro.

Condividi l'articolo con i tuoi contatti: