Archives For Regedit

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:

So benissimo quello che stai pensando, che forse un rilascio a così stretto giro dall’altro (lo 0.2 è dello scorso 28 dicembre) è un tantino anomalo, e l’osservazione può anche starci. Il problema è che ho trovato un’anomalia strana per un programma di Microsoft (e più in generale per il suo sistema operativo), il bottone che scatena la macro per esportare i file PDF sul Desktop partendo da una o più mail da te selezionate, tiene conto della differenza tra “PDF” e “pdf, come stessimo parlando di case-sensitive.

SaveModule.bas 0.3 per Outlook 2016 (estrazione PDF dagli allegati)

Me ne sono accorto grazie alla segnalazione di un utente in ufficio, che riusciva a esportare correttamente file con estensione “pdf“, perdendo però per strada alcuni file che avevano come estensione un “.PDF” in maiuscolo. Pur faticando a credere a un case-sensitive prerogativa dei sistemi Unix-Like, ho modificato nuovamente lo script per adattarlo all’esigenza, e stavolta mi sono deciso a integrare il costrutto Case al suo interno, per sostituire l’If semplice che ha fatto fino a ora il suo dovere.

Cosa cambia?

Questo, nello specifico:

sFileType = LCase$(Right$(strFile, 4))

che dopo aver ottenuto il nome del file (strFile = sName & objAttachments.Item(i).FileName), va a estrapolarne le ultime 4 posizioni (in pratica il “.ext” dove ext è l’estensione del file) e fa partire un costrutto Case all’interno del quale si possono specificare più estensioni da portare fuori nella cartella degli Attachments:

Select Case sFileType
Case ".PDF", ".pdf"
 'Combine with the path to the Temp folder.
 strFile = strFolderpath & strFile
 'Save the attachment as a file.
 objAttachments.Item(i).SaveAsFile strFile
End Select

Il resto rimane, per evidenti motivi, invariato. Tu potrai tranquillamente aggiungere ulteriori estensioni di cui tenere conto ponendo un’ulteriore virgola dopo il “.pdf” e aggiungendo magari un formato immagine, per esempio Case ".PDF", ".pdf", ".png".

Ho già aggiornato gli script rilasciati via GitHub, compreso il modulo unico di salvataggio che integra la macro da attivare con il pulsante e la regola automatica di ingresso posta. Trovi qui il codice della macro con pulsante: gist.github.com/gioxx/b7b16bdd96d3541bdfb29b23ed1d7e1d, qui invece quello del modulo intero: gist.github.com/gioxx/1e703b56db11b6363e2d07f4b6617bd9. Ho aggiornato anche la cartella condivisa su Box nel caso tu voglia scaricare tutto il materiale in un solo colpo: app.box.com/s/5ksruqc3pi74fumkbt4wg3avb1f6tmzf.

Per modificare il comportamento del tuo Outlook, potrai semplicemente richiamare la combinazione ALT + F11 da tastiera (per aprire l’editor Visual Basic, nda), selezionare tutto il codice relativo al modulo di salvataggio, cancellarlo, copiare il nuovo codice da Gist e incollarlo, salvando poi la modifica. Il tutto sarà immediatamente operativo.

È giusto ricordare ancora una volta che anche in questa nuova versione del codice non posso fare nulla per le Shared Mailbox caricate in Auto-Mapping e senza copia cache locale su Outlook. Ciò vuol dire che se utilizzi le caselle di posta condivise collegandoti direttamente al server (basta togliere l’opzione “Scarica cartelle condivise” dalle opzioni avanzate del tuo account Exchange), non potrò salvare alcunché nella cartella sul tuo Desktop, perché in realtà quei PDF non esistono sul tuo hard disk, ma vengono scaricati secondo necessità quando fai doppio clic su di loro (o quando chiedi a Outlook di salvarli in una cartella specifica).

Al solito, l’area commenti è a tua totale disposizione per richiedere ulteriori informazioni o rispondere a qualche tuo dubbio. Puoi usare invece Gist per proporre modifiche o miglioramenti al codice.

Buon lavoro!


Immagine di copertina: Caspar Rubin on Unsplash
Condividi l'articolo con i tuoi contatti:

Ammesso che l’argomento abbia solleticato il tuo interesse, il SaveModule.bas è quel file di cui ti ho parlato qualche tempo fa in un articolo dedicato all’estrazione di file PDF dagli allegati delle tue email in Outlook 2016:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF)

A seguito di un problema nato da mail (tante) inviate con un allegato sempre diverso (nel contenuto) ma sempre con lo stesso nome (!!!), ho optato per mettere una pezza alla mancanza dello scorso ottobre riguardo l’estrazione e sovrascrittura di file con nome uguale, non pensavo sarebbe stato necessario “e invece“. Ho quindi modificato i due file .bas precedentemente rilasciati (SavePDF_Rule e SavePDF_Button) per integrare il nuovo controllo e correggere (solo per il bottone) una dimenticanza che non inficiava comunque sul risultato finale.

Cosa è cambiato

Nello specifico? Questo:

dtDate = objMsg.SentOn
sName = Format(dtDate, "ddmmyyyy", vbUseSystemDayOfWeek, vbUseSystem) & "_" & Format(dtDate, "hhnnss", vbUseSystemDayOfWeek, vbUseSystem) & "-"

e quindi:

strFile = sName & objAttachments.Item(i).FileName

Che tradotto in parole povere vuol dire che vado a ricavarmi la data e l’ora di ricezione della email contenente il PDF allegato, quindi antepongo a quel PDF il dato appena ricavato, nella modalità ddmmyyyy (due cifre per il giorno, due per il mese, quattro per l’anno, inserendo gli zeri quando e dove necessario), facendo seguire poi l’ora nella modalità hhnnss (due cifre per l’ora, due per i minuti, due per i secondi). Il risultato ti permette di avere più file con lo stesso nome –in origine– ma diverso nella loro destinazione (la cartella “Attachments” sul tuo Desktop, ricordi?).

Puoi tranquillamente copiare l’intero nuovo codice e andarlo a sostituire nel tuo Outlook che esegue già il vecchio, ho aggiornato anche i file già a tua disposizione nella cartella su box.com: app.box.com/s/5ksruqc3pi74fumkbt4wg3avb1f6tmzf. Una volta copiato e incollato il codice (sovrascrivendo quello già presente) ricordati di salvare la modifica (nell’editor Visual Basic di Outlook), sarà immediatamente operativa. Il resto non cambia.

Ricordati che

Rimane ancora lì presente la possibilità di integrare nello script fornito anche ulteriori formati da scaricare dagli allegati mail, come detto in precedenza:

Salvo errori nel processo di “installazione” (se così posso chiamarlo), tutto dovrebbe funzionarti alla perfezione, permettendoti di catturare i file PDF che vengono allegati alle mail che ricevi e portarli nella cartella Attachments sul tuo Desktop. Nessuno però ti impedisce di modificare lo script e fargli verificare l’esistenza di altre estensioni, come doc, docx, xlsx e chi più ne ha più ne metta. Trovi diversi riferimenti in merito nel sito web che più mi ha aiutato a plasmare il risultato di cui avevo necessità (slipstick.com/developer/save-attachments-to-the-hard-drive).

e che anche in questa nuova versione del codice non posso fare nulla per le Shared Mailbox caricate in Auto-Mapping e senza copia cache locale su Outlook. Ciò vuol dire che se utilizzi le caselle di posta condivise collegandoti direttamente al server (basta togliere l’opzione “Scarica cartelle condivise” dalle opzioni avanzate del tuo account Exchange), non potrò salvare alcunché nella cartella sul tuo Desktop, perché in realtà quei PDF non esistono sul tuo hard disk, ma vengono scaricati secondo necessità quando fai doppio clic su di loro (o quando chiedi a Outlook di salvarli in una cartella specifica).

Mi sembra ci sia tutto, anche per stavolta passo e chiudo :-)

Buon lavoro!


Photo by Kevin on Unsplash
Condividi l'articolo con i tuoi contatti:

Tempo fa ho inserito un paio di personalizzazioni a bordo del Kace aziendale, per rilevare l’ID del TeamViewer installato a bordo di ogni nostro client, perché in alcuni casi l’utente non è in grado di trovare e fare doppio clic sull’icona del programma, rallentando i tempi di assistenza. Replicare la cosa è davvero banale, e ti basta inserire due nuove voci “Software” custom all’interno dell’inventario.

Kace: rilevare l'ID del proprio parco macchine

Per client a 32 bit

Naviga l’inventario Software di Kace, quindi creane uno nuovo manualmente. Inserisci un nome “parlante” (nel mio caso ho utilizzato TeamViewerID-x86), una versione (0.1 andrà più che bene) e un Publisher (inserisci il tuo nome, così da capire subito che si tratta di Custom Rules). Seleziona i Sistemi Operativi supportati, quelli a 32 bit per il momento, poi passeremo alla regola per intercettare l’ID anche sui Windows a 64 bit.

Nella Custom Inventory Rule copia e inserisci la stringa qui di seguito:

RegistryValueReturn(HKEY_LOCAL_MACHINE\SOFTWARE\TeamViewer, ClientID, NUMBER)

Essa si basa su un articolo disponibile nell’area Support di Quest, disponibile all’indirizzo support.quest.com/kb/sol111924.

Per client a 64 bit

Leggi la procedura relativa alle macchine a 32 bit, ciò che cambia è:

  • il nome da assegnare al Software Custom, che stavolta potrebbe chiamarsi TeamViewerID-x64.
  • I Sistemi Operativi compatibili, che dovranno tutti essere a 64 bit.
  • La Custom Inventory Rule, che deve leggere una diversa chiave di registro, questa:
RegistryValueReturn(HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\TeamViewer, ClientID, NUMBER)

Salva anche questo nuovo software, attendi quindi che le macchine aggiornino il loro inventario, troverai l’ID del TeamViewer (sempre aggiornato!) all’interno della scheda inventario di ciascun PC, sotto SoftwareCustom Inventory Fields:

Kace: rilevare l'ID del proprio parco macchine 2

Buon lavoro! :-)

Condividi l'articolo con i tuoi contatti:

Sono partito da un’esigenza segnalata da uno degli utenti in ufficio, il quale aveva bisogno di scaricare un grande numero di documenti PDF in un solo colpo, “catturandoli” da più mail già ricevute e messe da parte nel suo Outlook (una mail, un allegato PDF, questa la proporzione). Outlook non prevede questa necessità, e permette esclusivamente di scaricare tutti gli allegati –di una singola mail– in un solo colpo. Aggirare l’ostacolo però è possibile, lo si fa tramite una porzione di codice VBA da andare a inserire nella finestra del Microsoft Visual Basic, richiamabile da ogni singolo programma di Office.

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF)

Inizialmente pensato come un comportamento da adottare in seguito alla ricezione di una nuova mail (con una regola ad-hoc, per ingaggiare uno script), si è trasformato in un pulsante da andare a inserire nella barra multifunzione di Outlook, un “tool” da tenere a portata di mano in caso di necessità, che a oggi permettono di individuare e scaricare file PDF, ma che con una piccola modifica potrebbe intercettare qualsiasi altra cosa.

Il funzionamento, spiegato in maniera semplice, è questo:

  • si seleziona una o più mail tra quelle del proprio Outlook,
  • si fa clic su un pulsante messo appositamente nella barra multifunzione del client di posta elettronica,
  • si attende che lo script verifichi l’esistenza di file PDF negli allegati delle mail selezionate, quindi li estragga e li vada a inserire in una apposita cartella sul Desktop (che verrà utilizzata se già esistente, creata se invece non presente). Il tutto dura qualche secondo (minuto, se le mail da analizzare sono davvero tante).

Tradotto in passaggi da riprodurre sul proprio Outlook, la cosa cambia, ed è chiaramente più tecnica. Te la faccio il più semplice possibile.

Procedure in comune: notifica per le macro non firmate

Prima di partire, dovrai andare a modificare il comportamento del Centro di sicurezza del tuo Outlook affinché ti faccia comparire degli avvisi a video nel caso in cui venga tentata l’esecuzione di una Macro non firmata. Questo permetterà allo script aggiunto (ne parliamo dopo) di funzionare correttamente, in quanto “home made” (fatto in casa, dai).

Per farlo, dovrai andare in FileOpzioniCentro protezioneImpostazioni Centro protezioneImpostazioni macro e selezionare la voce “Visualizza notifiche per tutte le macro”:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 1

Un clic su OK per confermare la modifica e chiudere la finestra, sei a posto.

Procedure in comune: VBA

Per entrambi i tipi di comportamento che puoi scatenare in Outlook (salvataggio dei PDF tramite pulsante nella barra multifunzione, oppure tramite regola che lancia lo script), dovrai sempre andare ad aprire la finestra di Microsoft Visual Basic che richiami tramite la combinazione di tasti ALT + F11.

Per facilitarti le cose, ho già impacchettato ciò che ti serve per ottenere il risultato desiderato. Ho scritto due file BAS (codici importabili in VBA) che ho pubblicato su Gist. Il primo è quello relativo al salvataggio scatenato da una regola, il secondo per quello tramite pulsante (quindi manualmente). Scarica ciò che ti serve (fai clic in alto a destra sul pulsante Download ZIP, quindi estrai il contenuto e recupera il file con estensione bas):

Torna nella finestra di Microsoft Visual Basic, fai clic con il tasto destro su Progetto1 e seleziona Importa file, seleziona quindi il file che il file relativo al codice che ti interessa utilizzare per terminare l’importazione, poi fai clic su Salva (nella barra superiore degli strumenti, altrimenti c’è la combinazione da tastiera CTRL + S).

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 2

Nel caso in cui tu volessi entrambi le funzioni (quindi tutto il codice sorgente) fai riferimento a questo ulteriore collegamento a Gist.

Salvare PDF con una regola

Prima di procedere, apri un prompt dei comandi, copia e incolla questa stringa:

REG ADD "HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Security" /v EnableUnsafeClientMailRules /t REG_DWORD /d 1 /f

Ciò permetterà di sbloccare la possibilità di utilizzare / richiamare uno script all’interno di una regola di Outlook, opzione disabilitata di default da Microsoft (già da qualche tempo).

Fatto ciò, se hai già caricato il mio script tra i moduli VBA, dovrai solo creare una nuova regola e –nella seconda schermata di avanzamento– chiedergli di eseguire uno script, troverai quello precedentemente caricato tra i disponibili (forse sarà l’unico), utilizzalo e vai avanti con la sua costruzione:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 3

Troverai (nel caso in cui la regola entri in funzione) i file PDF all’interno della cartella Attachments sul tuo Desktop.

Salvare PDF con un pulsante

Dando per scontato che tu abbia già importato il codice VBA (come già descritto un paio di paragrafi fa),fai clic con il tasto destro sulla barra multifunzione di Outlook e seleziona la voce Personalizza barra multifunzione. Fai clic sul pulsante “Nuovo gruppo” (in basso a destra nel popup comparso), posizionalo dove lo preferisci spostandolo con le frecce su / giù disponibili lateralmente nella finestra a video, quindi rinominalo (suggerisco “Tools“).

Seleziona ora la voce “Macro” nella colonna sinistra “Scegli comandi da:” e aggiungi Progetto1.ExportAttachments, quindi rinominalo in (per esempio) “Estrai PDF”:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 4

Un clic su OK per salvare e chiudere la finestra, il risultato dovrebbe assomigliare a questo:

Outlook 2016: scaricare insieme gli allegati da diverse mail (PDF) 5

Puoi verificare il funzionamento della modifica selezionando manualmente delle mail e facendo clic sul pulsante. Troverai (se ne esistono, e quindi se vengono estratti) i file PDF all’interno della cartella Attachments sul tuo Desktop.

In conclusione

Attento: ricordati che, allo stato attuale delle cose, due allegati con lo stesso nome non possono coesistere nella stessa cartella Attachments (andrebbe modificato lo script), l’ultimo estratto sovrascrive sempre quello estratto precedentemente.

Salvo errori nel processo di “installazione” (se così posso chiamarlo), tutto dovrebbe funzionarti alla perfezione, permettendoti di catturare i file PDF che vengono allegati alle mail che ricevi e portarli nella cartella Attachments sul tuo Desktop. Nessuno però ti impedisce di modificare lo script e fargli verificare l’esistenza di altre estensioni, come doc, docx, xlsx e chi più ne ha più ne metta. Trovi diversi riferimenti in merito nel sito web che più mi ha aiutato a plasmare il risultato di cui avevo necessità (slipstick.com/developer/save-attachments-to-the-hard-drive).

Tutto il set di script e modifiche da operare vengono rilasciate –come sempre– “as is“, con nessuna garanzia o responsabilità. Tutto è stato provato decine di volte, installato su più PC, fatto funzionare senza battere ciglio, ma sappiamo tutti benissimo che ogni configurazione differisce dall’altra per delle “virgole“. Quella certamente testata si è basata su Outlook 2016 x64 (1708 build 8431.2079). Ne ho caricato una copia completa sul mio spazio box, nel caso in cui ti serva scaricare tutto in un colpo: app.box.com/s/5ksruqc3pi74fumkbt4wg3avb1f6tmzf

L’area commenti, come al solito, resta a disposizione per eventuali suggerimenti e domande inerenti questo articolo.

Buon lavoro!

Condividi l'articolo con i tuoi contatti: