Office 365: Messaggi Secondari (Clutter) verso il viale del tramonto

| |

Per me quella che tanti hanno definito “comodità” non lo è mai realmente stata. I “Messaggi secondari” di Outlook li ho disattivati fin da subito e tanti mi hanno seguito a ruota fuori e dentro l’azienda. A distanza di poco tempo da quel 2015 che ha dato i natali alla novità in casa Microsoft (Office 365: Messaggi Secondari (Exchange Online Clutter)) ne è stato annunciato il prevedibile declino già nel 2017, salvo poi prendersi molto tempo prima di accompagnare i vari tenant Office 365 verso la dismissione della funzionalità che lo scorso 31/12/19 è davvero partita con il conto alla rovescia programmato per il poco distante 31/1/20, cosa che nell’effettivo però non ha dato il colpo di grazia ai Messaggi secondari (riferimento: techcommunity.microsoft.com/t5/outlook-blog/update-on-focused-inbox-and-our-plans-for-clutter/ba-p/136448).

Qualche giorno fa ho scoperto – grazie al dubbio di un collega – che qualcosa dei Messaggi secondari si muove ancora, giusto per quei (pochi) utenti che ne hanno fatto uso in passato. Senza attendere che Microsoft dismetta autonomamente anche loro ho deciso di cercarli e procedere direttamente con la disattivazione da PowerShell, questo perché – aggiungo – per l’utente è nel frattempo diventato impossibile disattivare autonomamente la funzionalità a causa dell’ultimo restyling grafico di Outlook Web Access (OWA) che non riporta più l’interruttore in grado di attivare o disattivare Messaggi secondari.

Windows: cancellare rapidamente grandi quantità di dati

Cerca e disattiva

O se preferisci “individua e distruggi“, fai un po’ come ti pare, la sostanza non cambia, lo scopo del gioco è togliere di mezzo definitivamente questa funzione facendo leva sul fatto che ormai la stessa Microsoft la disconosce e che se proprio non puoi fare a meno di qualche sorta di automatismo che si sente in dovere di importi quali email considerare e quali no, allora dovrai passare alla Focus Inbox (Messaggi in evidenza per chi possiede Outlook installato in italiano).

Per cercare tutte le utenze che hanno ancora l’impostazione Messaggi secondari attiva ti basterà aprire PowerShell, connetterti al tuo tenant e poi eseguire questo comando:

Get-MailBox -ResultSize unlimited | Where-Object {(Get-Clutter -Identity $_.UserPrincipalName).IsEnabled -eq $True} | select PrimarySmtpAddress | export-csv C:\temp\ClutterDetails.csv -NoTypeInformation

Il processo potrebbe impiegare davvero molto tempo, tutto dipende dalla quantità di caselle di posta che occorrerà analizzare. In alternativa puoi farti dire a che punto dell’analisi ti trovi facendo stampare a video ogni utente analizzato (il che ti permette di capire che tutto sta procedendo per il verso giusto), cambiando un po’ il codice (tratto dall’ottimo lavoro di Alan Byrne):

$OutputFile = "C:\temp\ClutterDetails.csv"   #The CSV Output file that is created, change for your purposes 
Out-File -FilePath $OutputFile -InputObject "UserPrincipalName,SamAccountName,ClutterEnabled" -Encoding UTF8 
 
#Get all users 
#No input file found, gather all mailboxes from Office 365 
write-host "Retrieving Users"
$objUsers = get-mailbox -ResultSize Unlimited | select UserPrincipalName, SamAccountName 
 
#Iterate through all users     
Foreach ($objUser in $objUsers) 
{     
    #Prepare UserPrincipalName variable 
    $strUserPrincipalName = $objUser.UserPrincipalName 
    $strSamAccountName = $objUser.SamAccountName 
    
    write-host "Processing $strUserPrincipalName"
    #Get Clutter info to the users mailbox 
    $strClutterInfo = $(get-clutter -Identity $($objUser.UserPrincipalName)).isenabled  
    
    #Prepare the user details in CSV format for writing to file 
    $strUserDetails = "$strUserPrincipalName,$strSamAccountName,$strClutterInfo"
     
    #Append the data to file 
    Out-File -FilePath $OutputFile -InputObject $strUserDetails -Encoding UTF8 -append 
} 

write-host "Completed - data saved to $OutputFile"

Al termine (vale per entrambi i codici) otterrai un comodo file CSV ClutterDetails.csv in C:\Temp tramite il quale potrai capire quanti e quali utenti hanno ancora la funzionalità attiva, ragionare se sia il caso di spingere sull’acceleratore e proseguire nella disattivazione o prenderti del tempo per anticipare loro la modifica. Se sei deciso a continuare nel tuo percorso sappi che ti basterà importare quel CSV e chiedere a PowerShell (quindi a Exchange) di disattivare la funzionalità Clutter su quelle specifiche caselle di posta (anche questo codice si basa tutto sommato su una rivisitazione di quello di Alan Byrne):

Import-Csv C:\temp\DisableClutter.csv | foreach {
    $objUser = get-mailbox $_.UserPrincipalName | select UserPrincipalName
    $strUserPrincipalName = $objUser.UserPrincipalName 
    write-host "Processing $strUserPrincipalName" 
    Set-Clutter -Identity $strUserPrincipalName -Enable:$False
}

Qualche accortezza sul codice poco sopra: il file CSV da importare nel mio caso si chiamava DisableClutter.csv e si trovava anch’esso in C:\Temp. La colonna contenente gli indirizzi di posta elettronica filtrati perché individuati con Clutter abilitata ha in testa la dicitura UserPrincipalName, fondamentale per mappare poi correttamente il campo giusto nello script e per evitare che questo vada in errore.

Anche questa operazione può durare diverso tempo, varia in base al numero di caselle di posta da modificare, ciascun comando di Set-Clutter produrrà a video il risultato per permettere a te di verificare che tutto vada a buon fine.

Cercare lo stato di Clutter partendo da una lista di caselle di posta

Modificando di pochissimo il codice di Alan potrai verificare lo stato di Clutter di una casella di posta elettronica partendo da un elenco CSV da te fornito. Nel mio esempio il CSV si chiama MailboxesList.csv e si trova in C:\Temp. In colonna uno c’è l’elenco degli indirizzi da verificare e l’intestazione della colonna riporta UserPrincipalName. Ciò detto, ecco il codice:

$OutputFile = "C:\temp\clutter\ClutterDetails.csv"   #The CSV Output file that is created, change for your purposes 
Out-File -FilePath $OutputFile -InputObject "UserPrincipalName,SamAccountName,ClutterEnabled" -Encoding UTF8 -Append

Write-Host "Retrieving Users"
Import-Csv C:\temp\MailboxesList.csv | foreach {
    $objUser = get-mailbox $_.UserPrincipalName | select UserPrincipalName, SamAccountName
    $strUserPrincipalName = $objUser.UserPrincipalName 
    $strSamAccountName = $objUser.SamAccountName
    Write-Host "Processing $strUserPrincipalName"
    $strClutterInfo = $(get-clutter -Identity $($objUser.UserPrincipalName)).isenabled  
    $strUserDetails = "$strUserPrincipalName,$strSamAccountName,$strClutterInfo"
    Out-File -FilePath $OutputFile -InputObject $strUserDetails -Encoding UTF8 -append 
} 

Write-Host "Completed - data saved to $OutputFile"

In caso di dubbi l’area commenti è sempre a tua disposizione.

#StaySafe


Qualche riferimento utile:
gallery.technet.microsoft.com/office/Export-all-Office-365-ff2fb17f
o365info.com/manage-clutter-by-using-powershell-office-365
social.technet.microsoft.com/Forums/en-US/8a0dde7d-3019-42ca-9e86-41848781a700/office-365-clutter-option-missing
techcommunity.microsoft.com/t5/outlook-blog/update-on-focused-inbox-and-our-plans-for-clutter/ba-p/136448
techcommunity.microsoft.com/t5/office-365/export-mailboxes-with-clutter-enabled/m-p/276763
Gioxx's Wall

Se hai correzioni o suggerimenti puoi lasciare un commento nell'apposita area qui di seguito o contattarmi privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! Satispay / PayPal / Buy Me A Coffee / Patreon

Condividi l'articolo con i tuoi contatti: