Archives For PowerShell

Filtrando il tag dedicato al Sysprep ti troverai davanti a diversi articoli che parlano di questa pratica e dei vari problemi riscontrati nel corso delle versioni di Windows. Sysprep è un tool tanto bello quanto potenzialmente stronzo (sì, tanto per chiarire subito le cose), molto suscettibile e per certi versi delicato. L’ho imparato ancora una volta con Windows 10 1709, versione attualmente stabile del sistema operativo di Microsoft che verrà presto sostituita dalla Spring Update 2018 (1803).

Quello di oggi vuole essere il solito articolo “blocco appunti“, da rispolverare in caso di necessità (che magari torna utile anche a te che sei finito su questi lidi, non si sa mai).

Reinstallare Windows OEM quando il supporto di Recovery non c'è 7

Sysprep con Windows 1709

Da cosa partivo

Ti faccio il punto della situazione: con diversi modelli di PC Desktop e Laptop distribuiti all’interno del gruppo, siamo soliti tenere delle immagini master che possiamo facilmente clonare quando occorre preparare nuove postazioni, così da risparmiare tempo ed evitare facili errori dovuti alla distrazione. In questo modo ogni macchina è uguale all’altra (di base, con personalizzazioni software solo se giustificate e realmente necessarie).

La base di partenza era l’immagine di una nostra macchina con Windows 10 1703 (la Creators Update), pulita quanto basta, senza la robusta quantità di applicazioni installate da Store e con un parco software di terza parte “stretto indispensabile“. Chiaramente ho le immagini pre-sysprep da lavorare / modificare e chiudere all’occorrenza per la clonazione.

Cosa volevo ottenere

Un’immagine con upgrade in-place a 1709, perché quella 1703 era nata da zero, potevo quindi permettermi il lusso di lavorare su un aggiornamento anziché rifare tutto nuovamente da zero.

Cosa ho scoperto

Che –come già successo in passato– ci sono alcune accortezze da non lasciarsi sfuggire, perché comprometterebbero la corretta chiusura dell’immagine di sistema, particolare affatto simpatico dopo ore di lavoro. Sì perché c’è di mezzo ancora una volta l’installazione automatica di applicazioni UWP da parte dello Store (non richieste), suggerimenti (anch’essi non richiesti) e tutto ciò che in generale è legato alla chiave AutoDownload in HKLM\NewOS\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate e alla DisableWindowsConsumerFeatures in HKLM\Software\Policies\Microsoft\Windows\CloudContent.

Puoi trovare diverse informazioni in merito a questi argomenti su alcuni siti web di terza parte e su GitHub (dove ho trovato diversi spunti validi dedicati agli upgrade via SCCM, adattabili anche a utilizzi “one-shot” da chiave USB o rete:

A voler bloccare le installazioni non richieste su una macchina collegata in rete, che stai lavorando per aggiornare l’immagine “master” (pratica comunemente sconsigliata, proprio perché porta con sé rischi legati ad aggiornamenti che si scaricano e installano senza dirti nulla), potresti pensare di agire direttamente via batch sul registro:

:BloccoUpdate
:: Disable Windows Store Updates
:: 2 = always off
:: 4 = always on
REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate /v AutoDownload /t REG_DWORD /d 2 /f
:: Disable Consumer Experience
:: 1 = Off (disabled)
:: 0 = On (enabled)
REG ADD HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CloudContent /v DisableWindowsConsumerFeatures /t REG_DWORD /d 1 /f

Fai ora tutto quello di cui hai bisogno: aggiorna le applicazioni, aggiorna Windows, ritocca ciò che più ritieni opportuno, quindi grazie all’aiuto dell’Assistente aggiornamento Windows fai upgrade a 1709 e completa le prime operazioni necessarie. Quando sarai pronto, fai partire il Clean Manager per pulire i file non necessari sul disco del sistema, poi utilizza il mio script di PowerShell per togliere tutto l’inutile da Windows 10 (vedi qui) e rimetti a posto le chiavi di registro che hai precedentemente ritoccato:

:SbloccoUpdate
:: Disable Windows Store Updates
:: 2 = always off
:: 4 = always on
::REG ADD HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\WindowsStore\WindowsUpdate /v AutoDownload /t REG_DWORD /d 4 /f
:: Disable Consumer Experience
:: 1 = Off (disabled)
:: 0 = On (enabled)
REG ADD HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\CloudContent /v DisableWindowsConsumerFeatures /t REG_DWORD /d 0 /f

A questo punto, salvo ulteriori problemi, sei pronto a chiudere l’immagine master e lanciare il Sysprep. È qui che potresti avere a che fare con un errore dovuto a MiracastView, sto finendo un articolo ad-hoc che verrà pubblicato nei primi giorni della prossima settimana (presumibilmente martedì), per dare continuità a quanto raccontato con questo pezzo.

Upgrade in-place verso Windows 1709

Ho perso il conto di quante macchine (sia aziendali che private) ho aggiornato senza il benché minimo problema a Windows 1703 (e prima ancora a 1607, nda). Con Windows 1709, almeno negli ultimi tempi, le cose non sono andate proprio nella stessa maniera. Su più configurazioni (macchine di diversi vendor) ho sempre sbattuto il muso contro un vicolo cieco oltre il quale non sono mai riuscito ad andare: quello del controllo pre-verifica spazio disco.

Appunti sparsi su Windows 10 1709, Sysprep e Upgrade in-place 3

Non sono stato il solo a scontrarmi con la dura realtà, sono in ottima compagnia: google.com/search?q=making+sure+you%27re+ready+to+install (e qui un thread a caso sul forum di Microsoft: answers.microsoft.com/en-us/windows/forum/windows_10-windows_install/upgrading-to-windows-10-stuck-at-making-sure-youre/0386fe6e-1570-45e3-b560-03512026e196).

Per fartela breve, perché immagino tu non voglia perdere lo stesso tempo che ho perso io, il metodo certamente funzionante è quello del doppio salto. Utilizzare quindi una chiave USB con a bordo Windows 1703, la quale riuscirà a effettuare l’upgrade dell’OS portandolo a Windows 10, per poi saltare internamente (tramite Assistente aggiornamento Windows) a Windows 1709.

Creare un supporto d’installazione Windows 1703

L’immagine di Windows 1703 è ritenuta vecchia e superata, e per questo motivo è un pelo più difficile trovarla (neanche tanto eh, ma di certo non è più così in bella vista). Per scaricarla, puoi appoggiarti a windowsiso.net, sito web che raccoglie lo storico delle installazioni Windows (da 7 in poi). Per andare al dunque, puoi puntare il browser all’indirizzo windowsiso.net/windows-10-iso/windows-10-creators-update-1703-download-build-15063/windows-10-creators-update-1703-iso-download-standard e scegliere lingua e architettura (x86 italiana, x64 italiana), se ci fai caso, i collegamenti sono diretti a server Microsoft, si tratta di immagini pulite e senza rischi (dovrai giusto sopportare la pubblicità all’interno del sito web e al clic del tasto Download, se non usi Adblock).

Diversamente, potresti seguire quanto spiegato sul forum Microsoft, senza passare da siti web di terze parti (procedura da me provata e perfettamente funzionante): answers.microsoft.com/en-us/windows/forum/windows_10-windows_install-winpc/how-to-download-official-windows-10-iso-files/35cde7ec-5b6f-481c-a02d-dadf465df326.

Una volta scaricata l’immagine, potrai appoggiarti a uno dei tanti tool esistenti per la creazione di chiavi USB installabili. Io, dato che lo avevo già tra le mani, ho usato il vecchio “Strumento di download in USB/DVD per Windows 7“, che al contrario del nome non è assolutamente limitato alla creazione di supporti per l’installazione del vecchio OS Microsoft, digerisce qualsiasi ISO. Si trova facilmente sui server di Microsoft (microsoft.com/it-it/download/windows-usb-dvd-download-tool e microsoft.com/en-us/download/details.aspx?id=56485),ma ne ho caricato anche una copia completa (fatta di URL ed eseguibili nelle varie lingue) nel mio spazio Box: app.box.com/s/r3j2rmcxl7nysazehfn8mvq2egqnltty.

Hai ora il file ISO e il tool per poter proseguire, cerca una memoria USB sufficientemente capiente (maggiore di 4 GB, nda).

Apri l’utility di Microsoft e seleziona il file ISO precedentemente scaricato, quindi procedi per poterlo andare a copiare su chiave USB e ottenere il tuo supporto per l’installazione su qualsiasi macchina (impiegherà un po’ di tempo al termine del passaggio 4, porta pazienza).

A lavoro terminato, espelli la chiave USB e utilizzala sul sistema che intendi migrare a Windows 10.

In conclusione

Spero di non aver dimenticato nulla per strada, mal che vada modificherò prossimamente l’articolo per integrare ciò che può mancare all’appello. Se hai dubbi in merito a quanto spiegato, lascia pure un messaggio in area commenti, cercherò di darti una mano se ne sarò in grado. Considera che -spero ormai a stretto giro- sarà disponibile per tutti Windows 1803, che potrebbe correggere gli ultimi problemi mostrati dall’upgrade in-place del 1709 facendoci risparmiare così tempo e imprecazioni (lo spero).

Per quanto riguarda l’argomento Sysprep, se hai ulteriori suggerimenti da integrare sei sempre il benvenuto, più informazioni ci si scambia, meglio è :-)

Buon lavoro!


ulteriori riferimenti: Andre Da Costa mantiene costantemente aggiornata una discussione / guida nel forum di Microsoft, sui vari passaggi necessari per aggiornare Windows 10 (nelle più disparate modalità), la trovi all’indirizzo answers.microsoft.com/en-us/windows/forum/windows_10-windows_install-winpc/how-to-upgrade-to-windows-10-version-1709-fall/617a37da-8fc0-4f33-a3eb-59fe9082f925

Condividi l'articolo con i tuoi contatti:

Mi capita di tanto in tanto di imbattermi in vecchie caselle di posta utenti che hanno ancora i nomi delle cartelle in inglese, eredità di una precedente vita su IBM Lotus Domino, oggi non più giustificate su Office 2016 ProPlus interamente installati in italiano. Esistono diversi metodi per riportare alla lingua nostrana quei nomi, un paio di questi sono quelli che generalmente utilizzo (o faccio utilizzare direttamente all’utente finale).

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

Partiamo da un presupposto molto semplice: quanto fatto e spiegato in questo articolo è frutto della scoperta dell’acqua calda, tutto è infatti già ben documentato da Microsoft all’indirizzo support.microsoft.com/en-us/help/2826855/folder-names-are-incorrect-or-displayed-in-an-incorrect-language-in-ou. Io mi sono limitato a isolare i due metodi che fino a oggi hanno dato puntualmente risultati (lato utente o lato diretto Exchange in cloud).

Via Outlook

Chiudi Outlook e dallo StartEsegui (su Windows 10 ti basta la combinazione  + R, oppure clic destro su tasto Windows → Esegui) digita il comando Outlook /resetfoldernames, quindi premi invio.

Questo farà partire il client di posta elettronica che, salvo sporadici casi (non rari, ma neanche così normali) effettuerà un reset del nome delle cartelle del tuo account personale (no, niente caselle di posta condivise mappate in automatico, nda), trasformando l’inglese in italiano.

In alternativa, se il /resetfoldernames non dovesse sortire alcun effetto, puoi ripetere il procedimento ma richiamando Outlook /resetfolders.

Via PowerShell

Che poi, come al solito, è il metodo che preferisco perché immediato e valido per qualsiasi casella di posta, anche quelle condivise che nel paragrafo precedente ho specificato essere intoccabili se un Outlook le mappa in maniera automatica. La PowerShell modifica la lingua adottata dalle cartelle di posta elettronica dando retta a un comando “parlante” secondo una tabella di localizzazione sempre aggiornata, disponibile anch’essa in documentazione Microsoft.

Il comando di cui ti parlo è il Set-MailboxRegionalConfiguration, trovi la documentazione all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/client-access/Set-MailboxRegionalConfiguration?view=exchange-ps.

Se ti interessa il succo, questa è la stringa che ho utilizzato da prompt:

Set-MailboxRegionalConfiguration -id mario.rossi@contoso.com -LocalizeDefaultFolderName:$true -Language it-IT

Dovrai semplicemente sostituire mario.rossi@contoso.com con un indirizzo appartenente al tuo tenant, il resto puoi lasciarlo invariato. Trovi la tabella delle lingue disponibili all’indirizzo msdn.microsoft.com/it-it/library/system.globalization.cultureinfo%28vs.71%29.aspx?f=255&MSPPError=-2147217396.

Outlook: forzare i nomi delle cartelle in italiano 4

A comando eseguito non otterrai conferma alcuna, passerai semplicemente a una riga vuota di PowerShell, in attesa che tu dica cos’altro fare. La modifica è immediata e l’utente potrà accorgersene autonomamente dando un’occhiata al suo Outlook.

Buon lavoro.

Condividi l'articolo con i tuoi contatti:

Parte tutto da un documento più che approfondito disponibile nel sito di supporto Office (support.office.com): support.office.com/en-us/article/use-network-upload-to-import-your-organization-s-pst-files-to-office-365-103f940c-0468-4e1a-b527-cc8ad13a5ea6, e questo altro non è che un articolo promemoria per ricordare a me (in futuro) e a te (che forse sei capitato da queste parti per caso) la serie di passaggi da portare a termine per eseguire il caricamento di un file PST (che forse hai salvato da qualche parte sul tuo disco locale) su Exchange Online, quindi sul tuo spazio Office 365.

Office 365: importazione PST da disco locale a Exchange Online

I passaggi sono diversi e in alcuni casi macchinosi, ma non sono difficili, ti toccherà semplicemente avere pazienza nei tempi apparentemente morti (diciamo che questa attività -a un certo punto- potrà proseguire in background senza che tu debba necessariamente star fermo lì ad attendere che termini).

Qualsiasi operazione da ora in poi andrà eseguita con un amministratore di Office 365, o per lo meno un livello che abbia tra i suoi ruoli “Mail Recipients” (vedi qui). Io ho usato un amministratore globale.

Carica i dati

Accedi a protection.office.com e spostati in Governance dei dati, quindi in Importa. Ammesso che sia la prima volta che stai per fare questa operazione, dovrai creare una nuova attività di importazione con relativa chiave / URL SAS. Fai clic sul pulsante preposto (Nuovo processo di importazione) e dai un nome al processo (tutto minuscolo, senza spazi), quindi fai presente che caricherai i dati via rete (upload diretto sui server Azure, nda).

Scarica il tool AzCopy in versione più aggiornata, direttamente dai server di Microsoft, e installalo. Ora fai clic su Mostra l’URL della firma di accesso condiviso per il caricamento in rete (nella pagina web dell’importazione) e copia il contenuto mostrato a video, ti servirà entro poco.

Apri un prompt dei comandi e spostati nella cartella di installazione di AzCopy (%ProgramFiles(x86)%\Microsoft SDKs\Azure\AzCopy), quindi avvia AzCopy seguendo poche regole fondamentali:

AzCopy.exe /Source:<CartellaPST> /Dest:<URL SAS> /V:<File di log> /Y
  • <CartellaPST> dovrà corrispondere alla cartella locale all’interno della quale hai posizionato i file PST (anche uno singolo eh, la storia non cambia).
  • <URL SAS> dovrà corrispondere all’URL che hai copiato “poco fa“, generato dalla pagina di importazione dati di Office 365.
  • <File di log> corrisponderà, se lo vuoi, alla posizione personalizzata del file di log sul tuo disco locale.

Volendo fare un esempio, potresti ottenere qualcosa di simile:

AzCopy.exe /Source:"C:\temp\Posta" /Dest:"https://3c3e5952a2764023ad14984.blob.core.windows.net/ingestiondata?sv=2012-02-12&se=9999-12-31T23%3A59%3A59Z&sr=c&si=IngestionSasForAzCopy201601121920498117&sig=Vt5S4hVzlzMcBkuH8bH711atBffdrOS72TlV1mNdORg%3D" /V:"c:\temp\upload.log" /Y

Una volta lanciato il comando, salvo errori, partirà l’upload dei dati verso Azure (ti ricordo che verranno caricati tutti i dati nella cartella sorgente, non fare il mio stesso errore lasciando in quella cartella anche i file di log, finiti anch’essi sullo spazio in cloud, inutilmente!):

Office 365: importazione PST da disco locale a Exchange Online 3

Specifica le corrispondenze

Una volta terminato potrai procedere con lo step successivo, la preparazione del file di corrispondenza tra ciò che tu hai caricato su Azure e la destinazione di ciascun file PST. Per capirci, potresti aver caricato uno, due o forse più file PST dal disco locale, che in realtà appartengono a un solo utente su Office 365. Grazie al file di mappatura (un normale CSV, nda) potrai fare in modo che il contenuto di quei dati finisca tutto nella mailbox di un solo utente.

Nel mio caso la corrispondenza era quella più semplice, 1:1, così come singolo era il file caricato su Azure per fare l’importazione di test (giusto per imparare a usare lo strumento). Tradotto in (pochi) soldoni, questo è il risultato d’esempio:

Workload,FilePath,Name,Mailbox,IsArchive,TargetRootFolder,ContentCodePage,SPFileContainer,SPManifestContainer,SPSiteUrl
Exchange,,CartelleLocali.pst,shared_mailbox@contoso.onmicrosoft.com,FALSE,/,,,,

Tu puoi scaricare il file di esempio e modificarlo partendo da qui. Rapidamente, come fatto per la stringa di upload di AzCopy, ti spiego le corrispondenze dei parametri principali:

  • Workload corrisponde a Exchange se devi importare dei file PST all’interno di caselle di posta ospitate su Office 365.
  • FilePath rimane vuoto se hai caricato i file PST all’interno dello spazio Azure senza specificare una particolare cartella di destinazione, in pratica la cartella radice.
  • Name deve essere sostituito con il vero nome del file PST caricato, occhio al case-sensitive (lettera maiuscola è diversa dalla stessa lettera minuscola). Nel mio esempio qui sopra, il file si chiama CartelleLocali.pst (andrebbe in errore se il file si chiamasse in realtà cartellelocali.pst)
  • Mailbox deve corrispondere alla casella di posta elettronica (personale o condivisa, poco importa) all’interno della quale verranno importati i contenuti del tuo file PST. Sostituisci quindi shared_mailbox@contoso.onmicrosoft.com con il vero indirizzo di posta corrispondente nel tuo Exchange online. Puoi anche importare i contenuti del PST in una Cartella Pubblica, in quel caso ti rimando alla documentazione di Microsoft.
  • IsArchive ti permette di indirizzare il caricamento dei dati verso la casella di posta viva o il suo archivio online (in-place Archive). Nel mio esempio impostata a FALSE, mi permetter di importare i dati del PST nella casella di posta “viva“.
  • TargetRootFolder ti permette di specificare in che cartella importare i contenuti del PST. Lasciando il campo vuoto verrà creata una cartella chiamata “Imported” all’interno della quale finiranno tutti i dati del PST. Diversamente, specificando “/” (sì, senza virgolette!), i contenuti finiranno nella cartella della Posta in arrivo. Puoi altrimenti forzare la cartella di destinazione specificandone il nome, per esempio “Backup” cercherebbe la cartella Backup allo stesso livello della Posta in arrivo, facendoci finire dentro tutti i dati. Se hai possibilità, meglio fare qualche test giusto per capire come funziona.

Scegli se e cosa filtrare, quindi termina

Il processo di importazione dei dati può ormai cominciare. Microsoft analizzerà quanto gli hai chiesto di trasferire e valuterà sulla base dell’età dei contenuti il miglior suggerimento da fornirti, per esempio potrebbe capitarti (come nel mio caso) che quei contenuti siano più vecchi di 12 mesi e che quindi potresti non volerli trasportare tutti online. A te la scelta, chiaramente puoi ignorare il suggerimento e procedere con un’importazione totale.

Non devi fare null’altro. Dovrai esclusivamente attendere il termine del processo, puoi chiudere la finestra e aspettare che venga consegnata una mail di fine lavori alla tua casella di posta elettronica, così da andare poi a verificare che non ci siano stati degli errori di importazione (e se sì, come risolverli). Apri la casella di posta che hai scelto come destinazione di quei contenuti e verifica che ci sia tutto :-)

Cos’altro c’è da sapere?

Una rapida curiosità riguardo i file caricati su Azure, perché volevo sapere come cancellarli, andando invece incontro a una FAQ già eloquente in merito. Copio e incollo:

After I upload my PST files to the Azure storage area, how long are they kept in Azure before they’re deleted?

When you use the network upload method to import PST files, you upload them to an Azure blob container named ingestiondata. If there are no import jobs in progress on the Import page in the Security & Compliance Center), then all PST files in the ingestiondata container in Azure are deleted 30 days after the most recent import job was created in the Security & Compliance Center. That also means you have to create a new import job in the Security & Compliance Center (described in Step 5 in the network upload instructions) within 30 days of uploading PST files to Azure.

This also means that after PST files are deleted from the Azure storage area, they’re no longer displayed in the list of files for a completed import job in the Security & Compliance Center. Although an import job might still be listed on the Import page in the Security & Compliance Center, the list of PST files might be empty when you view the details of older import jobs.

vedi: support.office.com/en-us/article/FAQ-about-importing-PST-files-to-Office-365-2fe71b05-f5a2-4182-ade7-4dc5cabdfd51?ui=en-US&rs=en-US&ad=US

Non dovrei aver dimenticato altro. Nell’eventualità ci fosse qualcosa di poco chiaro inerente lo specifico argomento, lascia pure un commento e cercherò di darti una mano più che volentieri.

Buona importazione!

Condividi l'articolo con i tuoi contatti: