PowerShell: estrarre un messaggio dalla quarantena

| |

Da qualche tempo l’interfaccia grafica per la gestione della quarantena su Office 365 ha qualche problema per ciò che riguarda la renderizzazione della pagina. Questo vuol dire che nel momento in cui io necessito di andare a verificare i dettagli di un’email bloccata mi ritrovo davanti a qualcosa di molto simile a questo:

PowerShell: estrarre un messaggio dalla Quarantena

Informazioni non presenti, il popup sulla destra non si chiude neanche facendo clic sulla X in alto a destra e tocca aggiornare in maniera forzata la pagina per poter tornare a muoversi. In attesa che Microsoft metta a posto quanto rotto (non necessariamente su tutti i tenant, quindi tu potresti non riscontrare l’anomalia) io ho dovuto cercare una diversa via per verificare quelle poche email “dubbie” ma lecite che vengono fermate dai criteri di Quarantena decisi per l’azienda.

Questione di identità

Per poterti muovere hai bisogno di un dato abbastanza importante: l’identità del messaggio. Il documento tecnico che spiega di cosa si tratta lo trovi all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/get-quarantinemessage, io ho impostato i criteri di blocco affinché mandino un’email agli amministratori Exchange includendo alcune informazioni tra cui il MessageID, questo torna parecchio comodo per arrivare a scoprire l’Identity del messaggio in Quarentena, fondamentale per poterlo estrarre e creare il file EML da verificare.

Se non hai modo di recuperare diversamente il MessageID puoi sempre fare il giro un pelo più lungo. Se conosci almeno il mittente dell’email (e questo lo vedi dall’interfaccia grafica seppur “mezza rotta“) puoi usare un:

Get-QuarantineMessage -SenderAddress mario.rossi@contoso.com

Dove mario.rossi@contoso.com andrà chiaramente sostituito con il reale mittente. Se la richiesta andrà a buon fine otterrai almeno un risultato corrispondente all’email bloccata in quarantena. A questo punto andiamo andiamo al sodo e chiediamo il parametro Identity:

Get-QuarantineMessage -SenderAddress mario.rossi@hycu.com | ft identity

Dovresti ottenere così un codice del tipo c1026272-3c42-4bp0-5076-08d854d381cc\3d916d71-8c4a-9efc-1e58-2ec5abe9014a ed è ciò che ti serve per arrivare fino in fondo. Se invece hai già a disposizione il MessageID ma non l’Identity dovrai usare questo comando:

Get-QuarantineMessage -MessageID "<5c695d7e-6642-4681-a4b0-9e7a86613cb7@contoso.com>" | ft Identity

Tutto chiaro? Ciò che ti serve – come detto poco fa – è l’Identity del messaggio da estrarre dalla quarantena.

Pronto per l’estrazione

Ora che hai il parametro che ti serve si passa all’estrazione del messaggio per successiva analisi. Io sono solito salvarlo in EML così da poterlo agilmente aprire in Outlook e fare le opportune verifiche, nessuno però ti impedisce di salvarlo anche in TXT. La documentazione del comando Export-QuarantineMessage la trovi all’indirizzo docs.microsoft.com/en-us/powershell/module/exchange/export-quarantinemessage. Tutto ciò che ti serve è:

$e = Export-QuarantineMessage -Identity c1026272-3c42-4bp0-5076-08d854d381cc\3d916d71-8c4a-9efc-1e58-2ec5abe9014a; $bytes = [Convert]::FromBase64String($e.eml); [IO.File]::WriteAllBytes("C:\Temp\Messaggio.eml", $bytes)

Dove chiaramente il codice di Identity dovrà essere quello che hai ottenuto prima e il C:\Temp\Messaggio.eml è solo un esempio per indicare al comando dove salvare il messaggio estratto e in quale formato, varialo pure secondo tua esigenza.

Il messaggio verrà ora estratto e tu potrai analizzarlo senza la necessità di passare dall’interfaccia grafica di Office 365, almeno fino a quando non verrà rimessa a posto :-)

#StaySafe

×

Pillole

Le pillole sono articoli di veloce lettura dedicati a notizie, script o qualsiasi altra cosa possa essere "divorata e messa in pratica" con poco.

Uno spazio del blog riservato ai post "a bruciapelo"!

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: