Creare Report di Active Directory Exchange con PowerShell. Microsoft Exchange è un popolare software server di posta elettronica utilizzato da aziende e organizzazioni in tutto il mondo. Una delle caratteristiche chiave di Exchange è la possibilità di generare report su vari aspetti del server e del suo utilizzo. Questi report forniscono informazioni preziose sulla performance e la salute del server Exchange, nonché sulle abitudini di utilizzo dei suoi utenti.
Questo articolo esplora come generare questi report utilizzando PowerShell, un potente linguaggio di scripting della riga di comando. Esaminiamo alcuni tipi di report comuni, i cmdlet di PowerShell utilizzati per crearli e alcune best practice per lavorare con PowerShell e Exchange. Dovremmo capire come generare e lavorare con i report di Exchange in PowerShell entro la fine di questo articolo.
Iniziamo con Creare Report di Active Directory Exchange con PowerShell.
Genera report su Active Directory Exchange con PowerShell
Leggi anche Distribuisci il monitoraggio di Azure AD
Prerequisiti
Per eseguire comandi di PowerShell Exchange, dobbiamo soddisfare i seguenti prerequisiti:
- Dobbiamo avere i diritti di accesso appropriati per eseguire comandi di PowerShell sul server Exchange. L’accesso a questi permessi generalmente significa far parte del gruppo Gestione Organizzazione Exchange o essere assegnati i ruoli e i permessi corretti.
- Dobbiamo avere l’Exchange Management Shell installato sul nostro computer. L’Exchange Management Shell è un modulo PowerShell con cmdlet progettati appositamente per gestire i server Exchange. Di solito, l’Exchange Management Shell è integrato in un Windows Server con servizi Exchange.
- Supponiamo di dover stabilire una sessione remota PowerShell session con il server Exchange. Questo può essere fatto utilizzando il Connect-ExchangeServer cmdlet, che ci consente di connetterci al server utilizzando le nostre credenziali Exchange.
- In alternativa, importiamo il modulo di Gestione Exchange Shell nella nostra sessione di PowerShell. Importiamo il modulo utilizzando il comando Import-Module seguito dal nome del modulo.
Import-Module ExchangeManagementShell
Una volta soddisfatti questi prerequisiti, dovremmo essere pronti per eseguire comandi di Exchange PowerShell e generare report. Nella sezione successiva dell’articolo, elencheremo diversi modi per controllare il nostro ambiente Microsoft Exchange.
Utilizzo dei comandi Get Mail in PowerShell
Il Get-Mail cmdlet di PowerShell è uno strumento potente per gestire e lavorare con messaggi di posta elettronica in Microsoft Exchange. Ci consente di recuperare messaggi di posta specifici o gruppi di notifiche in base a vari criteri, come mittente, destinatario, oggetto o intervallo di date. Inoltre, possiamo utilizzare il Get-Mail cmdlet per visualizzare i dettagli dei singoli messaggi o per esportarli in un file per un’analisi più approfondita.
Ecco alcuni esempi dei comandi Get-Mail.
Generazione di un Rapporto sul Traffico Email
Tutto sommato, i rapporti sul traffico email generati dal Get-MailTrafficSummaryReport ci aiutano a analizzare il traffico email di un’organizzazione fornendo informazioni come il numero di email inviate e ricevute, il numero di spam ricevuti e inviati, malware, email spoof e così via.
Get-MailTrafficSummaryReport
Il comando sopra recupera il traffico di posta elettronica per gli ultimi sette (7) giorni per impostazione predefinita. Tuttavia, possiamo recuperare il massimo dei precedenti 90 giorni di rapporto statistico di posta elettronica utilizzando gli attributi -StartDate e -EndDate. Ecco alcuni esempi:
Rapporto sul traffico di posta in entrata e in uscita
Eseguire il cmdlet con il –Direction parametro per ottenere il traffico di posta in entrata e in uscita separatamente:
Get-MailTrafficSummaryReport –Direction Inbound –StartDate 6/13/22 -EndDate 6/15/22
Il frammento sopra riportato recupera le statistiche sul traffico di posta in entrata da 13 giugno 2022 a 20 giugno 2022.
Possiamo fare lo stesso se stiamo visualizzando il traffico in uscita:
Get-MailTrafficSummaryReport –Direction Outbound
Di conseguenza, possiamo utilizzare i valori del parametro -EventType per determinare cosa è successo alle comunicazioni dopo che il servizio le ha filtrate:
Get-MailTrafficSummaryReport –Direction Inbound –EventType GoodMail –StartDate 7/1/22 -EndDate 7/31/22
Per informazioni sulle comunicazioni contrassegnate come spoofing da software anti-spoofing:
Get-MailTrafficSummaryReport –EventType SpoofMail
Si noti che l’output del comando dipenderà dalla configurazione specifica del tuo Exchange Server e dal traffico di posta durante il periodo specificato.
Rapporto su E-mail Inviate e Ricevute
Inoltre, gli amministratori spesso vogliono sapere quante e-mail gli utenti inviano e ricevono. Possiamo utilizzare il cmdlet Get-MailTrafficTopReport per visualizzare queste statistiche sulle e-mail. Il cmdlet seguente mostra il conteggio delle e-mail inviate e ricevute dagli utenti negli ultimi 7 giorni:
Get-MailTrafficTopReport -EventType TopMailUser
Visualizza il numero di e-mail che gli utenti ricevono durante il periodo specificatoperiodo.
Get-MailTrafficTopReport -EventType TopMailUser –Direction Inbound –StartDate 7/15/22 -EndDate 7/20/22
Rapporto sullo Stato del Flusso Posta in Office 365
Prima di utilizzare questo comando, assicurati di essere attualmente autenticato con un server ibrido convergente su Office 365. In alternativa, puoi connetterti e autenticarti direttamente su Office 365 con il seguente comando:
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUrl https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
Il rapporto sullo stato del flusso di posta generato dalla command Get-MailFlowStatusReport mostra informazioni sui messaggi in entrata e in uscita bloccati dalla protezione edge:
Get-MailFlowStatusReport | ft Date, EventType, MessageCount
Il cmdlet sopra restituisce il numero di messaggi per un intervallo di date, organizzati in base alla disposizione finale del messaggio. Per impostazione predefinita, il comando visualizza i dati degli ultimi sette giorni. Tuttavia, otteniamo un flusso di posta rapporto per un massimo di novanta giorni specificando il -StartDate e -EndDate.
Leggi anche Deploy Office 365 User Reports
Generazione di un Rapporto di Protezione Email
Soprattutto, i rapporti di protezione email ci aiutano a identificare spam e malware da Exchange Online Protection (EOP), nonché messaggi che corrispondono a regole di flusso di posta, regole DLP e altri criteri.
Rapporti su Spam Office 365
In totale, il comando Get-MailDetailSpamReport visualizza informazioni sui messaggi di spam inviati e ricevuti dalla nostra organizzazione. Il cmdlet visualizza un elenco di messaggi di spam rilevati negli ultimi dieci (10) giorni.
Di conseguenza, Microsoft 365 rifiuta o contrassegna come spam alcuni messaggi di posta elettronica inviati dalla nostra organizzazione. Eseguire il seguente cmdlet per identificare tali messaggi:
Get-MailDetailSpamReport –Direction Outbound
Inoltre, i filtri antispam classificheranno talvolta le buone e-mail in ingresso come spam. L’amministratore può creare una lista bianca per un dominio o un indirizzo specifico verificando tali e-mail. Per visualizzare i messaggi di spam in ingresso:
Get-MailDetailsSpamReport –Direction Inbound
Per visualizzare i messaggi di spam inviati da un utente specifico in un periodo specificato utilizzando i parametri -StartDate e -EndDate:
Get-MailDetailsSpamReport –SenderAddress marion@infrasos.com -StartDate 7/15/22 -EndDate 7/20/22
Eseguire il cmdlet con RecipientAddress invece di SenderAddress per visualizzare i messaggi di spam ricevuti da un utente.
Report su malware di Exchange Online
Successivo, il cmdlet Get-MailDetailATPReport aiuta a identificare le email contenenti malware. Esegui il cmdlet per vedere tutte le malware inviate e ricevute negli ultimi dieci (10) giorni.
Per visualizzare la malware inviata dal nostro organizzazione, possiamo utilizzare il seguente frammento qui sotto:
Get-MailDetailATPReport –Direction Outbound
Inoltre, elenchiamo anche le email di malware rilevate ricevute dal nostro organizzazione se utilizziamo la direzione Inbound al posto:
Get-MailDetailATPReport –Direction Inbound
Quindi, al fine di visualizzare la malware inviata da specifici utenti, utilizza il parametro -RecipientAddress:
Get-MailDetailATPReport –RecipientAddress marion@infrasos.com
Identificazione della regola di trasporto
Il comando PowerShell Get-MailDetailTranportRuleReport visualizza informazioni sui messaggi che soddisfano le condizioni specificate da qualsiasi regola di trasporto. Il comando mostra la regola di trasporto applicata e i dettagli dell’email per gli ultimi dieci (10) giorni.
L’esempio seguente recupera tutti i messaggi inviati da [email protected] che hanno soddisfatto la condizione definita dalla regola di trasporto tra il 15 luglio 2021 e il 20 luglio 2022:
Get-MailDetailTransportRuleReport -TransportRule r1 –StartDate 7/15/22 -EndDate 7/20/22 -SenderAddress marion@infrasos.com
Il risultato seguente è un esempio di rapporto di regola di trasporto generato dal comando precedente:
Si prega, eseguire il seguente cmdlet per identificare le email e la regola di trasporto di Exchange che reindirizza il messaggio a un’altra email:
Get-MailDetailTransportRuleReport –Action RedirectMessage
Monitora le Email Dichiarate dalla Politica DLP
La maggior parte delle organizzazioni configura Prevenzione della Perdita dei Dati (DLP) politiche per proteggere i loro dati email riservati. Possiamo utilizzare il cmdlet Get-MailDetailDLPPolicyReport per identificare i messaggi che corrispondono alle condizioni definite dalle politiche DLP policies.
Get-MailDetailDLPPolicyReport
Also Read Use Office 365 Password Reports
Get Microsoft 365 Message Tracing Report
Per monitorare il flusso email, la maggior parte degli amministratori preferisce il tracciamento dei messaggi. Il tracciamento dei messaggi fornisce agli amministratori informazioni dettagliate sui messaggi inviati, ricevuti, eliminati e cancellati. Tra i dettagli ci sono:
- Indirizzo mittente
- Indirizzo destinatario
- Data di invio/ricezione
- Oggetto email
- Stato di consegna email
- Dimensione dell’email
- ID traccia messaggio, ecc.
- Indirizzo IP di origine
Per ottenere il rapporto di traccia, possiamo eseguire il comando Get-MessageTrace. Di default, il cmdlet recupera i dati delle ultime 48 ore. Possiamo recuperare i dati degli ultimi dieci (10) giorni utilizzando i parametri –StartDate e –EndDate. Possiamo utilizzare i cmdlet Start-HistoricalSearch e Get-HistoricalSearch per cercare i dati dei messaggi per più di dieci giorni.
In sostanza, l’esempio seguente recupera le informazioni di traccia per i messaggi inviati da un utente specifico durante il periodo specificato:
Get-MessageTrace –SenderAddress marion@infrasos.com -StartDate 7/25/22 -EndDate 7/30/22
Per esportare il rapporto di traccia messaggi in un file CSV:
Get-MessageTrace | Export-CSV -NoTypeInformation
Possiamo inviare l’output alla vista a griglia se vogliamo filtrare i dettagli della traccia messaggi:
Get-MessageTrace | Out-GridView
Il comando sopra ci consente di filtrare o restringere i dettagli della traccia messaggi, come
- Messaggi di traccia per oggetto,
- I status di consegna dei messaggi includono consegnato, fallito, in sospeso, espanso, messo in quarantena, filtrato come spam e sconosciuto
Grazie per aver letto Creare report Active Directory Exchange con PowerShell. Concluderemo ora questo articolo.
Creare report Active Directory Exchange con PowerShell Conclusione
In conclusione, Microsoft Exchange fornisce una grande quantità di informazioni e intuizioni sulle prestazioni e l’uso del nostro server di posta elettronica. Generando report utilizzando PowerShell, accediamo a queste informazioni per migliorare la salute ed efficienza del server Exchange.
Che siamo amministratori di sistema o utenti, comprendere come generare e lavorare con i report Exchange in PowerShell può essere una competenza preziosa. Seguendo gli esempi e le best practice delineate in questo articolo, dovremmo essere sulla buona strada per padroneggiare questo potente strumento.
Source:
https://infrasos.com/create-active-directory-exchange-reports-with-powershell/