Visualizzazione post con etichetta MS Outlook. Mostra tutti i post
Visualizzazione post con etichetta MS Outlook. Mostra tutti i post

giovedì 24 luglio 2025

MS Outlook: Eliminare le cartelle vuote tramite PowerShell

Le cartelle vuote in Outlook possono accumularsi nel tempo, rendendo più difficile la gestione della posta e occupando spazio inutilmente. Questo articolo illustra come utilizzare uno script PowerShell per identificare ed eliminare in modo efficiente le cartelle di posta vuote, inclusi i feed RSS, mantenendo al sicuro le cartelle predefinite di sistema.

Per scaricare lo script è possibile cliccare sul seguente link


Lo script PowerShell esegue:
  • Analisi Gerarchica
    Scansiona ricorsivamente l'intera struttura delle cartelle di una casella di posta o di un file di dati Outlook.
  • Identificazione delle Cartelle di Posta
    Si concentra solo sulle cartelle che contengono (o potrebbero contenere) messaggi di posta elettronica, ignorando elementi come calendari o contatti.
  • Rilevamento Cartelle Nascoste
    Identifica e ignora le cartelle di sistema nascoste, evitando operazioni indesiderate su componenti interni di Outlook.
  • Report Dettagliato
    Genera un file di testo con l'elenco completo delle cartelle visibili, mostrando il loro percorso completo e il numero di elementi contenuti.
  • Pulizia Intelligente
    Offre la funzionalità (opzionale e controllata) di eliminare automaticamente le cartelle che sono completamente vuote e non contengono sottocartelle.

Come Funziona lo Script

Lo script si basa sull'interazione con il modello a oggetti COM (Component Object Model) di Microsoft Outlook, una potente interfaccia che permette a script e applicazioni esterne di controllare Outlook.

1. Inizializzazione e Connessione a Outlook
try {
    $outlookApp = New-Object -ComObject Outlook.Application
}
catch {
    Write-Error "Errore durante l'avvio dell'applicazione Outlook. Assicurati che Outlook sia installato."
    exit 1 
}
$mapiNamespace = $outlookApp.GetNameSpace("MAPI")

Il primo passo è creare un'istanza dell'applicazione Outlook. Un blocco try-catch garantisce che lo script gestisca elegantemente l'assenza di Outlook o altri problemi di avvio. Successivamente, si ottiene il Namespace("MAPI"), che è la porta d'accesso a tutti gli archivi di dati di Outlook (caselle di posta, file PST/OST, archivi).


2. Selezione dell'Archivio Dati
try {
    Write-Host "Seleziona la cartella da cui desideri iniziare l'analisi (questa sarà la radice della scansione)..."
    $startFolder = $mapiNamespace.PickFolder() # Cattura l'oggetto Folder selezionato
    
    if ($startFolder -eq $null) {
        Write-Error "Nessuna cartella selezionata. Lo script verrà terminato."
                [System.Runtime.InteropServices.Marshal]::ReleaseComObject($mapiNamespace) | Out-Null
        [System.Runtime.InteropServices.Marshal]::ReleaseComObject($outlookApp) | Out-Null
        exit 1
    }
    Write-Host "La scansione inizierà dalla cartella: $($startFolder.FullFolderPath)"
}
catch {
    Write-Error "Errore durante la selezione della cartella. Lo script verrà terminato."
    # Rilascia l'oggetto Outlook prima di uscire per pulire le risorse.
    [System.Runtime.InteropServices.Marshal]::ReleaseComObject($mapiNamespace) | Out-Null
    [System.Runtime.InteropServices.Marshal]::ReleaseComObject($outlookApp) | Out-Null
    exit 1
}

Una caratteristica chiave è la flessibilità: lo script chiede all'utente di selezionare una cartella tramite l'interfaccia di Outlook ($mapiNamespace.PickFolder()). Questo permette di scegliere qualsiasi casella di posta configurata o file di dati (come un PST), rendendo lo script versatile per diversi scenari. Una volta selezionata la cartella questa viene impostata come punto di partenza per la scansione.
Selezione cartella
FIG 1 - Selezione cartella



3. Preparazione dell'Output
$timestamp = Get-Date -Format "yyyy-MM-dd.HH-mm-ss"
$outputDirectory = Join-Path -Path $env:USERPROFILE -ChildPath "Documents"
$outputFileName = "OutlookFolderNames_$timestamp.txt"
$outputPath = Join-Path -Path $outputDirectory -ChildPath $outputFileName

if (-not (Test-Path -Path $outputDirectory -PathType Container)) {
    New-Item -Path $outputDirectory -ItemType Directory | Out-Null
    Write-Host "Creata la directory: $outputDirectory"
}

Per un'analisi tracciabile, lo script genera un file di testo con un timestamp unico nel nome, salvandolo nella cartella "Documenti" dell'utente. Viene anche inclusa una verifica per creare la cartella "Documenti" se non esistente, garantendo che l'operazione di scrittura del file avvenga senza errori.


4. La Funzione Ricorsiva ListAndManageFolders
Il cuore dello script è una funzione ricorsiva che attraversa l'intera gerarchia delle cartelle:

Function ListAndManageFolders {
    param(
        [Parameter(Mandatory=$true)]
        [object]$Folders, # Collezione di oggetti Outlook.Folder
        [string]$Indent = "" # Stringa per l'indentazione gerarchica
    )

    foreach ($folder in $Folders) {
        $propertyAccessor = $null

        try {
            if ($folder -eq $null) {
                Write-Warning "Trovato un oggetto cartella nullo, saltato."
                continue
            }
            if ($folder.DefaultMessageClass -eq "IPM.Note") {
                if ($folder.Folders.Count -gt 0) {
                    ListAndManageFolders -Folders $folder.Folders -Indent ($Indent + "  ")
                }
                $propertyAccessor = $folder.PropertyAccessor
                $isHidden = $false
                try {
                    $isHidden = $propertyAccessor.GetProperty($hiddenFolderPropName)
                }
                catch {
                    Write-Verbose "Impossibile leggere la proprietà nascosta per la cartella $($folder.FullFolderPath). Assunta non nascosta."
                    $isHidden = $false
                }
                if ($isHidden -ne $true) {
                    $outputLine = "$Indent$($folder.FullFolderPath) ($($folder.Items.Count) elementi)"
                    $outputLine | Out-File -FilePath $outputPath -Append -Encoding UTF8
                    Write-Host $outputLine
                    if ($folder.Items.Count -eq 0 -and $folder.Folders.Count -eq 0) {
                        Write-Host "$Indent   [ELIMINAZIONE] Cartella vuota rilevata: $($folder.Name)" -ForegroundColor Yellow
                        try {
                            $folder.Delete()
                            Write-Host "$Indent   [SUCCESSO] Cartella eliminata: $($folder.Name)" -ForegroundColor Green
                        }
                        catch {
                            Write-Error "$Indent   [ERRORE] Impossibile eliminare la cartella $($folder.Name): $($_.Exception.Message)"
                        }
                    }
                }
            }
        }
        catch {
            Write-Error "Errore durante l'elaborazione della cartella '$($folder.FullFolderPath)': $($_.Exception.Message)"
        }
        finally {
            if ($propertyAccessor -ne $null) {
                [System.Runtime.InteropServices.Marshal]::ReleaseComObject($propertyAccessor) | Out-Null
            }
        }
    }
}

- Filtro per Tipo di Cartella: if ($folder.DefaultMessageClass -eq "IPM.Note") assicura che vengano elaborate solo le cartelle destinate ai messaggi di posta (incluse le cartelle RSS), escludendo calendari, contatti, ecc.

- Rilevamento Cartelle Nascoste: Viene utilizzata la proprietà MAPI http://schemas.microsoft.com/mapi/proptag/0x10F4000B (corrispondente a PR_ATTR_HIDDEN) per identificare le cartelle nascoste di sistema. Queste vengono ignorate per evitare modifiche indesiderate.

- Output e Visualizzazione: Per ogni cartella visibile, il suo percorso completo e il conteggio degli elementi vengono scritti sia nel file di output che nella console, con un'indentazione che riflette la gerarchia.

- Logica di Eliminazione:
if ($folder.Items.Count -eq 0 -and $folder.Folders.Count -eq 0) {
    Write-Host "$Indent   [ELIMINAZIONE] Cartella vuota rilevata: $($folder.Name)" -ForegroundColor Yellow
    try {
          $folder.Delete()
          Write-Host "$Indent   [SUCCESSO] Cartella eliminata: $($folder.Name)" -ForegroundColor Green
    }
    catch {
           Write-Error "$Indent   [ERRORE] Impossibile eliminare la cartella $($folder.Name): $($_.Exception.Message)"
    }
}

Questa sezione è cruciale e potenzialmente distruttiva. La cartella viene eliminata solo se è completamente vuota (zero elementi e zero sottocartelle). Viene fornito un feedback visivo e una robusta gestione degli errori per ogni tentativo di eliminazione.

Output
FIG 2 - Output



5. Gestione degli Oggetti COM e Pulizia
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($startFolder) | Out-Null # Rilascia la cartella di partenza
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($mapiNamespace) | Out-Null
[System.Runtime.InteropServices.Marshal]::ReleaseComObject($outlookApp) | Out-Null

Un aspetto critico della programmazione con oggetti COM è la gestione della memoria. A differenza degli oggetti .NET, gli oggetti COM non vengono automaticamente rilasciati dal garbage collector di PowerShell. Non rilasciare questi oggetti può portare a perdite di memoria, blocchi di Outlook o processi "fantasma" in background. Lo script include chiamate esplicite a [System.Runtime.InteropServices.Marshal]::ReleaseComObject() per ogni oggetto COM creato, garantendo una pulizia efficiente delle risorse.


Considerazioni Importanti:

Backup: Prima di eseguire qualsiasi script che comporti l'eliminazione di dati, è fondamentale eseguire un backup completo della casella di posta o del file PST.

Autorizzazioni: Lo script deve essere eseguito con un utente che abbia le autorizzazioni necessarie per interagire con Outlook e per eliminare le cartelle.

Parametro -WhatIf: Per future evoluzioni, si potrebbe considerare di aggiungere un parametro -WhatIf alla funzione di eliminazione, permettendo agli amministratori di simulare l'eliminazione senza effettivamente apportare modifiche.





martedì 15 luglio 2025

MS Outlook: Errore "Memoria Insufficiente" alla selezione di una cartella

Durante l'utilizzo delle versioni del client di posta Microsoft Outlook (in particolare Outlook 2010, Outlook 2013, Outlook 2016 e Outlook 2019), gli utenti potrebbero riscontrare un errore indicante "memoria insufficiente" al momento di accedere a una cartella specifica. Tale anomalia si manifesta tipicamente con messaggi di errore del tipo

Messaggio di errore 1
  • "Memoria disponibile insufficiente per eseguire questo programma. Chiudere uno o più programmi e riprovare."
  • "There is not enough free memory to run this program. Quit one or more programs, and then try again."

Messaggio di errore 2
  • "Impossibile visualizzare la cartella. Memoria disponibile insufficiente per eseguire questo programma. Chiudere uno o più programmi e riprovare."
  • "Unable to display the folder. There is not enough free memory to run this program. Quit one or more programs, and then try again."

Messaggio di errore 3
  • "Impossibile visualizzare la cartella. Memoria disponibile insufficiente per eseguire questo programma. Chiudere uno o più programmi e riprovare."
  • "Cannot display the folder. There is not enough free memory to run this program. Quit one or more programs, and then try again."

I messaggi possono variare leggermente nella formulazione, ma il nucleo del problema rimane lo stesso.
MS Outlook



Possibili cause del problema
Questo errore si verifica a causa di una carenza di memoria disponibile per visualizzare la cartella desiderata. Le ragioni possono essere molteplici e spesso interconnesse:
  • Personalizzazioni delle Viste: Una delle cause principali è legata alle personalizzazioni applicate alle viste delle cartelle, come l'impostazione di filtri complessi o raggruppamenti. Queste modifiche possono richiedere una quantità maggiore di memoria per essere elaborate.
  • Gestione degli Add-in: Molti add-in di Outlook, sebbene utili, possono sottoscrivere un numero elevato di cartelle in diverse posizioni all'interno del profilo utente. Ogni sottoscrizione MAPI (Messaging Application Programming Interface) consuma una porzione di memoria condivisa. Una combinazione elevata di elementi e cartelle, unita a un numero considerevole di sottoscrizioni da parte degli add-in, può facilmente esaurire la memoria disponibile per il client.
  • File di Dati PST di Grandi Dimensioni: La presenza di file di dati di Outlook (.pst) estremamente grandi e con un numero elevato di cartelle può anch'essa contribuire all'esaurimento della memoria, soprattutto se questi file sono attivi e in fase di indicizzazione o sincronizzazione.


Workaround
Per mitigare l'errore di "memoria insufficiente", la strategia principale consiste nell'aumentare la memoria heap disponibile per le sottoscrizioni MAPI. Questa operazione richiede una modifica del Registro di sistema di Windows:
  • Assicurarsi che Outlook sia completamente chiuso prima di iniziare.
  • Aprire l'Editor del Registro di Sistema cliccando su Start, quindi Esegui (o premere la combinazione di tasti WIN+R) e digitare regedit seguito da Invio.
  • Navigare alla Sottocartella del Sottosistema di Messaggistica di Windows
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem
  • Creare il Valore DWORD (32-bit) SharedMemMaxSize.
  • Cliccare con il tasto destro su SharedMemMaxSize e selezionare Modifica. Nel campo Dati valore, digitare 300000. Assicurarsi che l'opzione Base sia impostata su Esadecimale e cliccare su OK.

    SharedMemMaxSize
    FIG 1 - SharedMemMaxSize

  • Navigare alla Sottocartella di Outlook 
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Messaging Subsystem\Applications\Outlook
    Se le sottocartelle Applications e Outlook non esistono, sarà necessario crearle manualmente.
  • Creare un secondo Valore DWORD (32-bit) SharedMemMaxSize (se necessario).
  • Cliccare con il tasto destro su SharedMemMaxSize e selezionare Modifica. Nel campo Dati valore, digitare 300000. Anche in questo caso, assicurarsi che l'opzione Base sia impostata su Esadecimale prima di cliccare su OK
  • Uscire dall'Editor del Registro di Sistema

Se impostare entrambi i valori del Registro di sistema a 0x300000 (equivalente esadecimale di 3.145.728 in decimale) non risolve il problema, è possibile aumentare ulteriormente questi valori fino a 0x800000 (equivalente esadecimale di 8.388.608 in decimale).

Oltre alla modifica del Registro di sistema, esistono altre strategie che possono contribuire a risolvere o prevenire l'errore di memoria:
  • Gestione dei File PST/OST: Se si utilizzano file di dati Outlook (.pst o .ost) di grandi dimensioni, considerare le seguenti azioni:
    - Chiusura dei file non necessari: Chiudere i file .pst che non sono attivamente utilizzati.
    - Riduzione del numero di cartelle: Ottimizzare la struttura delle cartelle, riducendo il numero complessivo di sottocartelle, specialmente in file di dati molto grandi. Archiviare le vecchie email può essere d'aiuto.
  • Revisione e disabilitazione degli Add-in:
    Disabilitazione Selettiva: Disabilitare temporaneamente gli add-in uno per uno per identificare quello che potrebbe causare il problema.
    Disinstallazione degli Add-in non essenziali: Rimuovere gli add-in che non sono più necessari o che mostrano comportamenti anomali.





giovedì 3 luglio 2025

MS Outlook: La copia delle riunioni non è consentita

A partire da MS Outlook versione 2311 Build 17029.20000, la copia delle riunioni non è più supportata. Gli utenti che tenteranno di copiare una riunione dal calendario si imbatteranno nel messaggio: "La copia delle riunioni non è supportata."
La copia delle riunioni non è supportata
FIG 1 - La copia delle riunioni non è supportata

Non si tratta di un errore, ma di una modifica deliberata da parte del team di Outlook che ha implementato questo blocco per affrontare una serie di problematiche di vecchia data.

La pratica di copiare gli eventi è stata a lungo sconsigliata come "best practice" documentata. Le azioni eseguite su eventi copiati hanno dimostrato di produrre risultati imprevedibili, portando a confusioni, incongruenze e potenziali problemi di sincronizzazione tra i partecipanti. Questi "effetti collaterali" possono includere:
  • Incoerenze di sincronizzazione: Gli eventi copiati potrebbero non aggiornarsi correttamente per tutti i partecipanti in caso di modifiche.
  • Problemi con le risposte RSVP: La gestione delle risposte "Accetta", "Rifiuta", "Suggerisci pianificazione alternativa" può diventare problematica.
  • Conflitti di calendario: La presenza di eventi duplicati o inconsistenti può generare confusione nella pianificazione.
  • Difficoltà nella gestione delle eccezioni: Modifiche a eventi ricorrenti potrebbero non propagarsi correttamente agli eventi copiati.
Per mitigare questi rischi e garantire un'esperienza utente più stabile e prevedibile, il team di Outlook ha deciso di bloccare proattivamente la funzionalità di copia. Questa mossa riflette un impegno verso una maggiore affidabilità e integrità dei dati del calendario.

Sebbene il blocco della copia possa richiedere un leggero aggiustamento nelle abitudini degli utenti, le alternative consigliate promuovono una migliore gestione degli eventi:
  • Creare un nuovo evento: Per replicare un evento esistente con modifiche minime, la creazione di un nuovo evento e la ricompilazione dei dettagli è il metodo più sicuro. Questo garantisce che tutte le proprietà dell'evento siano correttamente inizializzate e sincronizzate.
  • Modificare l'evento originale: Se l'intento è modificare un evento esistente, è fondamentale farlo direttamente sull'originale per garantire che tutte le parti coinvolte ricevano gli aggiornamenti.

Per gli utenti che, per motivi specifici e consapevoli dei rischi, necessitano di riabilitare temporaneamente la copia degli eventi, Microsoft ha messo a disposizione una chiave di registro non legata a policy:

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options\Calendar]
"EnableMeetingCopy"=DWORD:1

Per eseguire la modifica nel registro:
  • Aprire l'Editor del Registro di Sistema: Premere Win+R, digitare regedit e premere Invio.
  • Navigare al percorso: Espandere le chiavi fino a raggiungere
    HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options\Calendar
  • Creare o Modificare il Valore DWORD:
    Se EnableMeetingCopy non esiste, fare clic con il tasto destro del mouse sullo spazio vuoto nel pannello di destra, selezionare Nuovo -> Valore DWORD (32 bit). Nominarlo EnableMeetingCopy.
    Se EnableMeetingCopy esiste già, fare doppio clic su di esso.
  • Impostare il Dato Valore: Nella finestra di modifica, assicurarsi che "Dati valore" sia impostato su (per 1 non fa differenza che la Base selezionata sia Esadecimale o Decimale). Cliccare OK.
  • Chiudere l'Editor del Registro di Sistema e riavviare Outlook.

È fondamentale sottolineare che l'attivazione di questa chiave è a discrezione e rischio dell'utente. Come ribadito dal team di Outlook, l'utilizzo di eventi copiati può portare a problemi imprevisti e il supporto tecnico di Outlook non fornirà assistenza per problemi derivanti da eventi creati tramite copia. In caso di problematiche dopo la riabilitazione di questa funzionalità, la raccomandazione è di eliminare l'evento copiato e di creare un nuovo evento da zero.




mercoledì 2 luglio 2025

MS Outlook: Gestire le Risposte Automatiche ricorrenti

Nel mondo professionale odierno, la gestione efficiente della comunicazione è fondamentale. Le risposte automatiche ("Fuori Ufficio" o "Out of Office") sono uno strumento prezioso per informare i mittenti della propria assenza, ma spesso si desidera una soluzione più flessibile delle impostazioni standard di Outlook, specialmente per assenze ricorrenti in giorni specifici della settimana. Sebbene Outlook non offra una funzionalità diretta per programmare risposte automatiche con ricorrenza settimanale, è possibile ovviare a questa limitazione sfruttando le regole personalizzate.

Questo articolo esplorerà un metodo efficace per configurare risposte automatiche che si attivano solo in determinati giorni della settimana, basandosi sull'utilizzo delle regole di Outlook. Questa soluzione è stata testata e si è dimostrata funzionante per esigenze di ricorrenza settimanale.

Outlook



Configurazione di una Regola per Risposte Automatiche Ricorrenti
La chiave per implementare questa funzionalità risiede nella creazione di una regola in Outlook che intercetti le email in arrivo in un giorno specifico della settimana e attivi una risposta predefinita. Di seguito i passaggi per configurare una regola personalizzata:
  • In Outlook, cliccare su File->Gestisci regole e avvisi (o Home-> Regole-> Gestisci regole e avvisi).

    Regole e avvisi
    FIG 1 - Regole e avvisi

  • Nella finestra "Regole e avvisi", cliccare su Nuova regola....
  • Scegliere l'opzione Applica regola ai messaggi ricevuti e cliccare su Avanti.

    Applica regola ai messaggi ricevuti
    FIG 2 - Applica regola ai messaggi ricevuti

  • Selezionare la casella Con parole specifiche nell'intestazione del messaggio quindi cliccare sulla scritta blu parole specifiche. Si aprirà una nuova finestra.

    Con parole specifiche nell'intestazione del messaggio
    FIG 3 - Con parole specifiche nell'intestazione del messaggio

  • In questa finestra, digitare l'abbreviazione di tre lettere del giorno della settimana (in inglese) in cui si desidera attivare la risposta automatica (es. Mon, Tue, Wed, Thu, Fri, Sat, Sun). Cliccare Aggiungi. per aggiungere l'abbreviazione all'Elenco di ricerca. Se si intende aggiungere un altro giorno digitare l'abbreviazione corrispondente nell'apposita casella e cliccare su Aggiungi. Al termine cliccare su OK

    Parola o frase da cercare nell'intestazione
    FIG 4 - Parola o frase da cercare nell'intestazione

  • Clicca Avanti per proseguire.

    Con parole specifiche nell'intestazione del messaggio
    FIG 5 - Con parole specifiche nell'intestazione del messaggio

  • Selezionare la casella Imposta risposta del server utilizzando un messaggio specifico quindi cliccare sulla scritta blu un messaggio specifico. Si aprirà una nuova finestra di composizione email (senza destinatario, CC o CCN).
    Imposta risposta del server utilizzando un messaggio specifico
    FIG 6 - Imposta risposta del server utilizzando un messaggio specifico

  • Compilare l'oggetto e il corpo del messaggio con il testo desiderato per la risposta. Una volta completato il messaggio, cliccare su Salva e chiudi.

    Messaggio
    FIG 7 - Messaggio

  • Clicca Avanti per proseguire nella configurazione della regola.

    Creazione guidata regola
    FIG 8 - Creazione guidata regole

  • Nella schermata successiva è possibile impostare eventuali eccezioni alla regola (ad esempio per email provenienti da un particolare mittente). Se non si ha bisogno di specifiche eccezioni, cliccare su Avanti.

    Eccezioni
    FIG 9 - Eccezioni

  • Nell'ultima schermata, è possibile rivedere tutte le impostazioni della regola. Assegnare un nome significativo alla regola (es. "Risposta automatica Lunedì-Venerdì"). Assicurarsi che la casella Attiva regola sia selezionata. Cliccare su Fine per salvare e attivare la regola quindi su OK per chiudere la finestra Regole e avvisi.

    Completare la creazione della regola
    FIG 10 - Completare la creazione della regola


Conclusioni
Questa soluzione è ideata specificamente per una ricorrenza settimanale fissa. Non è adatta per date specifiche o periodi di tempo irregolari.


Sfruttare le regole di Outlook per gestire le risposte automatiche "Fuori Ufficio" in giorni specifici della settimana offre una soluzione pratica e personalizzabile per una comunicazione più efficace. Sebbene richieda una configurazione manuale iniziale, il beneficio di automatizzare queste risposte per schemi ricorrenti può migliorare significativamente la gestione del tempo e delle aspettative dei contatti.





sabato 28 giugno 2025

MS Outlook: Risolto il bug che causava il crash all’apertura dei messaggi

Microsoft ha annunciato la risoluzione di un grave malfunzionamento che affliggeva Outlook nella sua versione "classica", provocandone il crash all’apertura di nuovi messaggi o durante la lettura delle email. Il problema ha colpito trasversalmente gli utenti di Microsoft 365, in particolare quelli che avevano recentemente aggiornato il client di posta elettronica nel mese corrente.
Outlook

Secondo quanto riportato dal team di sviluppo di Outlook, il bug era legato all’impossibilità da parte del programma di accedere alla Forms Library, una componente fondamentale per la creazione e la gestione dei moduli all’interno dell’applicazione. Il malfunzionamento è emerso soprattutto in ambienti Virtual Desktop Infrastructure (VDI), sempre più diffusi in contesti aziendali e enterprise.

Il problema tecnico
Il crash si verifica durante l'inizializzazione della libreria di moduli (Forms Library), necessaria per la composizione dei messaggi. In assenza della cartella di sistema FORMS2, Outlook non riesce a caricare le risorse richieste e si arresta in modo anomalo. Il bug ha interessato tutte le versioni aggiornate di Outlook incluse nei vari canali Microsoft 365: Current Channel Preview, Monthly Enterprise Channel e Semi-Annual Enterprise Channel, oltre alle edizioni perpetue Outlook 2021 e Outlook 2024.


Patch Microsoft
Microsoft ha già rilasciato aggiornamenti correttivi per la maggior parte dei canali interessati. In particolare:
  • Le versioni per Microsoft 365 sono state corrette nei primi giorni della settimana.
  • Gli aggiornamenti per Outlook 2016 e Outlook 2019 saranno distribuiti rispettivamente il 1° luglio e l’8 luglio 2025 sotto forma di aggiornamenti non di sicurezza.

Workaround
Per chi non può aggiornare immediatamente o è in attesa della versione corretta, Microsoft ha indicato una soluzione temporanea che consiste nella creazione manuale della cartella mancante nel percorso locale dell’utente (C:\Users\<username>\AppData\Local\Microsoft\FORMS2). Ecco i passaggi:
  • Chiudere Outlook e tutte le applicazioni di Office.
  • Aprire il menu Start, selezionare "Esegui" (oppure utilizzare a combinazione WIN+R) e digitare: 
    %localappdata%\Microsoft
    quindi cliccare su OK.
  • Nella finestra di Esplora file, selezionare Nuovo -> Cartella e assegnarle il nome FORMS2.

Questa procedura consente a Outlook di aggirare il problema fino all’installazione dell’aggiornamento definitivo.





giovedì 26 giugno 2025

MS Outlook: Disabilitare il salvataggio delle impostazioni su cloud tramite registro di sistema

Nell'era del cloud computing, la sincronizzazione delle impostazioni utente tra diversi dispositivi è diventata una funzionalità comune e spesso apprezzata. Microsoft Outlook, parte integrante della suite Office, non fa eccezione, offrendo la possibilità di archiviare le impostazioni nel cloud per un'esperienza utente fluida e coerente. Tuttavia, ci sono scenari in cui gli amministratori IT o gli utenti avanzati potrebbero desiderare di disabilitare questa funzionalità, magari per motivi di conformità, sicurezza dei dati o semplicemente per mantenere un maggiore controllo locale sulle configurazioni.

Fortunatamente, esistono metodi per disabilitare l'opzione "Archivia le mie impostazioni di Outlook nel cloud", sia tramite l'interfaccia utente di Outlook che attraverso modifiche del registro o l'applicazione di Criteri di Gruppo. Questo articolo esplorerà la chiave di registro menzionata e come integrarla con le pratiche consigliate da Microsoft.

Archivia le mie impostazioni di Outlook nel cloud
FIG 1 - Archivia le mie impostazioni di Outlook nel cloud



La Funzionalità "Archivia le mie impostazioni di Outlook nel cloud"
Quando si abilita questa opzione, le impostazioni per l'account Microsoft 365 in uso verranno automaticamente sincronizzate tra tutti i dispositivi Windows su cui si utilizza Outlook. Questo include la maggior parte delle opzioni configurabili tramite File -> Opzioni in Outlook:
  • Generale
  • Posta
  • Calendario
  • Gruppi
  • Persone
  • Attività
  • Ricerca
  • Accessibilità
  • Avanzate
Mentre le impostazioni nelle seguenti aree della finestra di dialogo Opzioni di Outlook non vengono trasferite:
  • Lingua
  • Personalizza barra multifunzione
  • Barra di accesso rapido
  • Componenti aggiuntivi
  • Centro protezione


Disabilitare il salvataggio delle impostazioni su cloud 
La chiave di registro che controlla la funzionalità di sincronizzazione delle impostazioni di Outlook nel cloud a livello di utente è la seguente:

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Preferences] "EnableCloudSettings"=dword:00000000

Per disabilitare il salvataggio delle impostazioni di Outook su cloud:
  • Aprire l'Editor del Registro di Sistema: Premere Win+R, digitare regedit e premere Invio.
  • Navigare al percorso: Espandere le chiavi fino a raggiungere
    HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Preferences
  • Creare o Modificare il Valore DWORD:
    Se EnableCloudSettings non esiste, fare clic con il tasto destro del mouse sullo spazio vuoto nel pannello di destra, selezionare Nuovo -> Valore DWORD (32 bit). Nominarlo EnableCloudSettings.
    Se EnableCloudSettings esiste già, fare doppio clic su di esso.
  • Impostare il Dato Valore: Nella finestra di modifica, assicurarsi che "Dati valore" sia impostato su 0  (per 0 non fa differenza che la Base selezionata sia Esadecimale o Decimale). Cliccare OK.
  • Chiudere l'Editor del Registro di Sistema e riavviare Outlook.

Editor del Registro di sistema
FIG 2 - Editor del Registro di sistema




martedì 11 giugno 2024

MS Outlook: Nascondere l'interruttore Prova il nuovo Outlook tramite registro di sistema

Nelle recenti versioni di Outlook è apparso, in alto a destra della finestra del client, l'interruttore Prova il nuovo Outlook che consente di provare le funzionalità più recenti, le funzionalità assistite intelligenti e una nuova progettazione moderna e semplificata dell'app Outlook. L'intento di Microsoft è quello di introdurre una serie di innovazioni che mirano a migliorare significativamente l'esperienza utente, offrendo un mix di funzionalità avanzate, una nuova interfaccia utente e una maggiore integrazione con altri servizi Microsoft.
Interruttore Prova il nuovo Outlook
FIG 1 - Interruttore Prova il nuovo Outlook

Tuttavia il nuovo Outlook è ancora in una fase sperimentale e non tutte le funzionalità della modalità "classica" sono supportate. Ad esempio, non vengono supportati i componenti aggiuntivi,  supporto limitato per le cartelle pubbliche e, al momento, non è previsto il supporto offline.

In un contesto aziendale potrebbe essere una buona idea fare in modo che l'interruttore Prova il nuovo Outlook non venga visualizzato agli utenti. Tale operazione può essere eseguita tramite Intune, con la creazione di una policy o agendo tramite il registro di sistema. In quest'articolo verrà mostrata quest'ultima opzione:
  • Avviare l'Editor del registro di sistema (WIN+R e digitare regedit seguito da invio).
  • Posizionarsi sulla seguente chiave di registro  
    HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Options\General
  • Creare, se non presente, un valore DWORD e rinominarlo in HideNewOutlookToggle
  • Eseguire un doppio click del mouse sul valore appena creato e assegnargli come valore 1 quindi cliccare su OK
    Editor del Registro di sistema
    FIG 2 - Editor del Registro di sistema

  • Riavviare Outlook.
Per ripristinare l'interruttore basterà eliminare il valore DWORD nominato HideNewOutlookToggle e assegnargli valore 0.





lunedì 7 agosto 2023

MS Outlook: Outlook si è chiuso mentre alcuni elementi erano aperti

A causa di un bug, all'avvio di Outlook potrebbe apparire il messaggio
"Outlook si è chiuso mentre alcuni elementi erano aperti. Riaprire gli elementi dell'ultima sessione?"
anche se il client di posta viene chiuso correttamente. Microsoft è a conoscenza del problema e sta lavorando ad una fix.
Microsoft Outlook
FIG 1 - Microsoft Outlook

In attesa che venga rilasciata una fix ufficiale, una soluzione temporanea consiste nel disattivare la relativa opzione di avvio di Outlook:
  • Dal menu File di Outlook, selezionare Opzioni;
  • Nella scheda Generale, in Opzioni di avvio , selezionare Mai riaprire gli elementi precedenti dal menu a discesa;
    Outlook Opzioni di avvio
    FIG 2 - Outlook Opzioni di avvio

  • Cliccare sul pulsante OK per confermare la modifica e riavviare Outlook.


Se l'opzione sopra indicata non è presente o se si intende intervenire tramite il registro di sistema è possibile procedere nel seguente modo:
  • Avviare l’Editor del Registro di sistema (WIN+R e digitare regedit seguito da invio);
  • Posizionarsi sulla chiave
    HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Preferences
  • Modificare (o creare se non presente) il valore DWORD con nome ReopenWindowsOption e assegnargli il valore 1;
    Editor del Registro di sistema, ReopenWindowsOption
    FIG 3 - Editor del Registro di sistema, ReopenWindowsOption

  • Chiudere l'Editor del Registro di sistema e riavviare Outlook.

Per chi non volesse mettere le mani all'interno del registro di sistema, dal seguente link è possibile scaricare il file .reg per impostare l'opzione di avvio





mercoledì 3 maggio 2023

MS Outlook: Backup e ripristino delle Azioni rapide

Le Azioni rapide (Quick steps) di MS Outlook applicano una o più azioni ai messaggi di posta elettronica consentendo di risparmiare tempo e di automatizzare la gestione delle email. MS Outlook include delle azioni rapide già impostate che possono essere personalizzate oppure è possibile crearne di nuove.
MS Outlook, Azioni rapide
FIG 1 - MS Outlook, Azioni rapide

Le azioni rapide predefinite in MS Outlook includono quanto segue:

Azione Rapida Descrizione
Sposta
Sposta il messaggio selezionato in una cartella di posta specificata e contrassegna il messaggio come letto.
Al responsabile
Inoltra il messaggio al responsabile. Se l'organizzazione usa Microsoft Exchange Server o Microsoft 365, il nome del responsabile viene rilevato nel Elenco indirizzi globale e inserito nella casella A oppure è possibile specificare manualmente il destinatario.
Messaggio di posta elettronica team
Inoltra il messaggio ad altri utenti del team. Se l'organizzazione usa Microsoft Exchange Server o Microsoft 365, i nomi dei membri del team vengono rilevati nel Elenco indirizzi globale e inseriti nella casella A.
Chiudi
Segna il messaggio di posta elettronica selezionato come completato, lo sposta in una cartella e lo contrassegna come già letto.
Rispondi ed elimina
Risponde al mittente ed elimina il messaggio di posta elettronica originale.
Crea nuova
Creare un'azione rapida personalizzata per eseguire qualsiasi sequenza di comandi, assegnare un nome e quindi applicare un'icona per identificarla.


Le Azioni rapide non vengono salvate in locale sulla postazione ma all'interno della casella di posta elettronica. Con un account Exchange, creando un nuovo profilo MS Outlook su una nuova postazione, le azioni rapide verranno automaticamente ripristinate. Se si utilizza, invece, un account POP3, le azioni rapide verranno salvate all'interno del file PST pertanto, nel caso in cui ci si sposti su un nuovo computer, è necessario portarsi dietro e riutilizzare il file PST originale.

Le Azioni rapide sono memorizzate all'interno di una "cartella nascosta" della casella di posta o del file PST (nel caso di account POP3). Per eseguire il backup e il ripristino delle Azioni rapide, è necessario utilizzare MFCMAPI.

MFCMAPI è uno strumento di modifica di basso livello per accedere ai dati della casella di posta. Si tratta di uno strumento molto potente sviluppato da Stephen Griffin, Senior Escalation Engineer del Developer Support di Microsoft. Nell'utilizzo di MFCMAPI bisogna prestare sempre la massima attenzione in quanto si possono causare danni irreversibili alla casella di posta elettronica.


Backup di tutte le Azioni rapide

  • Scaricare l'ultima versione di MFCMAPI dal sito GitHub  (scaricare la versione a 32 o a 64 bit a seconda della versione di Outlook utilizzata).
  • Decomprimere e avviare MFCMAPI.
  • Cliccare sul menu Session, quindi su Logon e selezionare il profilo di MS Outlook su cui si intende agire.
    MFCMAPI Session, Logon
    FIG 2 - MFCMAPI Session, Logon

    Scegli profilo
    FIG 3 - Scegli profilo

  • Nella parte superiore di MFCMAPI vengono visualizzate tutte le caselle di posta configurate e i file pst collegati. Fare doppio clic sulla casella di posta di cui si desidera eseguire il backup delle Azioni rapide.
    Profilo MS Outlook
    FIG 4 - Profilo MS Outlook
  • Nel riquadro di navigazione a sinistra, espandere l'elenco di cartelle denominato Radice cassetta postale.
  • Espandere l'elenco di cartelle denominato IPM_SUBTREE.
  • A questo punto dovrebbe essere presente una cartella denominata: Impostazioni azioni rapide. Fare clic con il pulsante destro del mouse su di essa e scegliere: Export folder -> As MSG files...
    Impostazioni azioni rapide, Export folder
    FIG 5 - Impostazioni azioni rapide, Export folder
  • Abilitare entrambe le voci: Save associated items e Save as Unicode MSG e cliccare su OK.
    Save Folder Contents To MSG
    FIG 6 - Save Folder Contents To MSG
  • Selezionare la cartella in cui salvare le Azioni rapide e cliccare su OK. Poiché ogni azione rapida sarà salvata come un singolo file msg, è consigliabile selezionare una cartella vuota oppure crearne una nuova.
    Cartella
    FIG 7 - Cartella


Backup solo di alcune Azioni rapide
Nel caso in cui volessimo eseguire il backup solo di alcune Azioni rapide, seguire i passaggi mostrati in precedenza fino ad individuare la cartella Impostazioni azioni rapide.
  • Cliccare, con il tasto destro del mouse, sulla cartella Impostazioni azioni rapide e selezionare Open associated contents table.
    Impostazioni azioni rapide, Open associated contents table
    FIG 8 - Impostazioni azioni rapide, Open associated contents table
  • Nella nuova finestra di dialogo, viene visualizzato un elenco di messaggi che rappresentano le Azioni rapide create dall'utente.
  • Selezionare un messaggio e osservare la proprietà PR_ROAMING_XMLSTREAM.
    Azioni rapide
    FIG 9 - Azioni rapide
  • Eseguire un doppio clic su questa proprietà per visualizzare il nome dell'Azione rapida nella sezione Text.
    Nome azione rapida
    FIG 10 - Nome azione rapida
  • Per eseguire il backup di una singola azione, fare clic con il pulsante destro del mouse sul messaggio e scegliere Export message.
    Export message
    FIG 11 - Export message
  • Dall'elenco a discesa Format to save message selezionare MSG file (UNICODE) e fare clic su OK.
    Select format for saving message
    FIG 12 - Select format for saving message
  • Selezionare la cartella in cui si intende salvare il messaggio. É possibile modificare il nome con cui il file verrà salvato.
    Salva con nome
    FIG 13 - Salva con nome
  • Nella finestra di dialogo CopyTo cliccare su OK.
    CopyTo
    FIG 14 - CopyTo
  • Nella finestra di dialogo Tags To Exclude cliccare su OK.
    Tags To Exclude
    FIG 15 - Tags To Exclude


Ripristino Azioni rapide da backup

Per ripristinare le Azioni rapide da un backup:
  • In MFCMAPI posizionarsi sulla cartella Impostazioni azioni rapideCliccare, con il tasto destro del mouse, sulla cartella Impostazioni azioni rapide e selezionare Open associated contents table.
  • Dal menu Folder selezionare Import quindi cliccare su From MSG.
    Import from MSG
    FIG 16 - Import from MSG
  • Selezionare il file .MSG da importare e cliccare su Apri. É possibile selezionare più file o tutti i file contenuti nella cartella premendo la combinazione di tasti CTRL+A.
  • Nella finestra di dialogo Load MSG, verificare che nell'elenco a discesa Load style sia selezionata la voce Load message into current folder e cliccare su OK.
    Load MSG
    FIG 17 - Load MSG