PowerShell: rimozione dei SID orfani sulle caselle di posta

| |

Powershell_200px-GWallSapete cosa sono i SID? Brevemente:

a session identifier, session ID or session token is a piece of data that is used in network communications (often over HTTP) to identify a session, a series of related message exchanges. Session identifiers become necessary in cases where the communications infrastructure uses a stateless protocol such as HTTP. For example, a buyer who visits a seller’s site wants to collect a number of articles in a virtual shopping cart and then finalize the shopping by going to the site’s checkout page. This typically involves an ongoing communication where several webpages are requested by the client and sent back to them by the server. In such a situation, it is vital to keep track of the current state of the shopper’s cart, and a session ID is one way to achieve that goal.

continua su en.wikipedia.org/wiki/Session_ID

Nel caso di Office 365 con servizio di posta annesso, i SID possono identificare sessioni appartenenti a utenti non più in forze all’azienda, o comunque non più gestiti dal server Exchange in cloud, si tratta di veri e propri zombie esadecimali che si trovano all’interno delle ACL delle caselle di posta, facilmente individuabili tramite un Get-MailboxPermission:

Powershell: rimozione dei SID orfani sulle caselle di posta

Possono essere molti, su molte caselle di posta, dipende da quante volte fate un giro sul server per verificare le ACL delle vostre caselle di posta elettronica (soprattutto condivise, nda), e in particolare maniera in base a quanti utenti conta il vostro Exchange (chiaro che in una piccola organizzazione è difficile fare così tanti morti che camminano). Io non avevo mai fatto questo tipo di pulizia da almeno due anni. Ho quindi raccolto la documentazione necessaria e realizzato un piccolo script che, tra le varie, permette in maniera automatica (batch) di analizzare tutte le caselle di posta elettronica configurate su Exchange e riportare a voi i SID orfani, procedendo poi con la pulizia. Può inoltre pulire una singola casella di posta da voi indicata, oppure partire da un CSV precedentemente esportato.

Il codice, al solito, è pubblico e disponibile per eventuali modifiche o suggerimenti. Lo si trova nel solito repository Github, all’indirizzo github.com/gioxx/o365/blob/master/RemoveOrphanedSID-CSV.ps1.

Le opzioni di cui parlo sono 3, concatenabili tra di loro: CSV, Mbox e Action.

  • Il primo determina la posizione di un file CSV dove esportare un’analisi (lanciata dallo script) o all’interno del quale sono specificate le caselle precedentemente analizzate e da prendere come base dati per la pulizia dei SID orfani.
  • Il secondo determina la singola casella di posta da prendere in esame per una pulizia dei SID orfani.
  • Il terzo determina la possibile azione da intraprendere. Di default lo script analizzerà ed esporterà i risultati dell’analisi su file CSV, ma nel caso in cui ad Action si farà seguire un “remove“, allora lo script prenderà come base dati ciò che avrete precedentemente esportato, procedendo poi con un’azione di rimozione dei SID rilevati, uno dopo l’altro, chiedendo conferma a video così da evitare possibili errori non voluti (sicuramente seccante al primo lancio dello script, io ho dovuto confermare più di 200 rimozioni premendo invio).

Powershell: rimozione dei SID orfani sulle caselle di posta 1

Ho cercato di prevedere ogni possibilità di analisi o rimozione SID orfani, ma sono chiaramente fallibile come chiunque altro, fatemi presenti eventuali errori o possibili miglioramenti tramite area commenti, sono sempre ben accetti.

Esempi di utilizzo? Presto detto:

.\RemoveOrphanedSID-CSV.ps1 -csv C:\Export.CSV

Lancia un’analisi delle caselle presenti su Exchange ed esporta i risultati nel file CSV specificato.

.\RemoveOrphanedSID-CSV.ps1 -mbox shared@contoso.com

Lancia un’analisi della singola casella di posta, i risultati vengono mostrati direttamente a video.

.\RemoveOrphanedSID-CSV.ps1 -action remove

Lancia una rimozione di tutti i SID orfani trovati nelle caselle di posta gestite da Exchange e precedentemente esportati dallo script, concatenabile con -CSV C:\Export.CSV per modificare la sorgente dati, oppure con -Mbox shared@contoso.com per limitare l’azione di rimozione dei SID alla singola casella di posta condivisa.

Sono riportati, insieme alle informazioni sullo script e le sue modifiche, all’interno dell’header del file PS1, come ogni altro mio script disponibile nel set dedicato a Office 365 e Powershell su Github (github.com/gioxx/o365).

Buon lavoro :-)

Riconoscimenti: social.technet.microsoft.com/Forums/en-US/e368f138-fcca-444c-a499-4df4d28c5f83/removing-old-sids-from-full-access-send-as-permissions?forum=exchange2010

Correzioni, suggerimenti? Lascia un commento nell'apposita area qui di seguito o contattami privatamente.
Ti è piaciuto l'articolo? Offrimi un caffè! ☕ :-)

L'articolo potrebbe non essere aggiornato

Questo post è stato scritto più di 5 mesi fa, potrebbe non essere aggiornato. Per qualsiasi dubbio ti invito a lasciare un commento per chiedere ulteriori informazioni! :-)

Condividi l'articolo con i tuoi contatti:
Subscribe
Notify of
guest

This site uses Akismet to reduce spam. Learn how your comment data is processed.

0 Commenti
Inline Feedbacks
View all comments