Active Directory Exchangerapporten maken met PowerShell. Microsoft Exchange is een populaire e-mail server software die door bedrijven en organisaties wereldwijd wordt gebruikt. Eén van de kenmerkende functionaliteiten van Exchange is de mogelijkheid om rapporten te genereren over verschillende aspecten van de server en haar gebruik. Deze rapporten geven waardevolle inzichten in de prestaties en gezondheid van de Exchange server, evenals de gebruikspatronen van haar gebruikers.
Dit artikel onderzoekt hoe deze rapporten kunnen worden gegenereerd met behulp van PowerShell, een krachtige opdrachtregelbibliotheek. We bekijken enkele algemene rapporttypen, de PowerShell cmdlets die worden gebruikt om ze aan te maken, en enkele best practices voor het werken met PowerShell en Exchange. We moeten aan het einde van dit artikel begrijpen hoe Exchange rapporten kunnen worden gegenereerd en met PowerShell kan worden gewerkt.
Laten we beginnen met het maken van Active Directory Exchange-rapporten met PowerShell.
Maak Active Directory Exchange-rapporten met PowerShell
Lees ook Implementeer Azure AD-bewaking
Vereisten
Om Exchange PowerShell opdrachtenuit te voeren, moeten we aan de volgende vereisten voldoen:
- We moeten de juiste machtigingen hebben om PowerShell-opdrachtenuit te voeren op de Exchange-server. Toegang tot deze machtigingen betekent meestal dat je lid bent van de Exchange Organization Management groep of dat je de juiste rollen en machtigingen hebt toegewezen gekregen.
- We moeten de Exchange Management Shell geïnstalleerd hebben op onze computer. De Exchange Management Shell is een PowerShell-module met cmdlets die specifiek ontworpen zijn om Exchange-servers te beheren. Meestal is de Exchange Management Shell ingebouwd in een Windows Server met Exchange-services.
- Stel dat we een remote PowerShell sessie willen aanmaken met de Exchange-server. Dit kan worden gedaan met behulp van de Connect-ExchangeServer cmdlet, die ons in staat stelt om verbinding te maken met de server met behulp van onze Exchange-referenties.
- Alternatief importeren we de Exchange Management Shell module in onze PowerShell-sessie. We importeren de module met behulp van de Import-Module cmdlet, gevolgd door de naam van de module.
Import-Module ExchangeManagementShell
Het gebruik van de Get Mail-opdrachten in PowerShell
De PowerShell Get-Mail cmdlet is een krachtig hulpmiddel voor het beheren en werken met e-mailberichten in Microsoft Exchange. Het stelt ons in staat om specifieke e-mailberichten of groepen meldingen op te halen op basis van verschillende criteria, zoals afzender, ontvanger, onderwerp of datumbereik. Bovendien kunnen we de Get-Mail cmdlet gebruiken om de details van individuele berichten weer te geven of om ze naar een bestand te exporteren voor verdere analyse.
Hier zijn enkele voorbeelden van de Get-Mail commando’s.
Het genereren van een E-mailverkeersrapport
Al met al, e-mailverkeersrapporten gegenereerd door de Get-MailTrafficSummaryReport commando helpen ons bij het analyseren van het e-mailverkeer van een organisatie door informatie te bieden zoals het aantal verzonden en ontvangen e-mails, het aantal ontvangen en verzonden spam, malware, nep-e-mails, enzovoort.
Get-MailTrafficSummaryReport
De bovenstaande opdracht haalt standaard e-mailverkeer op voor de afgelopen zeven (7) dagen. We kunnen echter maximaal de e-mailstatistiekenrapportage van de voorgaande 90 dagen herstellen door het gebruik van de -StartDate en -EndDate kenmerken. Hier zijn enkele voorbeelden:
Inkomend en Uitgaand E-mailverkeer Rapport
Voer de cmdlet uit met de –Direction parameter om inkomend en uitgaand e-mailverkeer afzonderlijk te krijgen:
Get-MailTrafficSummaryReport –Direction Inbound –StartDate 6/13/22 -EndDate 6/15/22
Het bovenstaande fragment haalt inkomende e-mail verkeersstatistieken op van 13 juni 2022 tot 20 juni 2022.
We kunnen hetzelfde doen als we uitgaand verkeer bekijken:
Get-MailTrafficSummaryReport –Direction Outbound
Vervolgens kunnen we de -EventType parameterwaarden gebruiken om te bepalen wat er met berichten is gebeurd nadat de service ze heeft gefilterd:
Get-MailTrafficSummaryReport –Direction Inbound –EventType GoodMail –StartDate 7/1/22 -EndDate 7/31/22
Om te leren over berichten die zijn gemarkeerd als gespoofd door anti-spoofing software:
Get-MailTrafficSummaryReport –EventType SpoofMail
Let erop dat de uitvoer van de opdracht afhankelijk is van de specifieke configuratie van uw Exchange Server en het e-mailverkeer tijdens de opgegeven periode.
Exchange Verzonden en Ontvangen E-mail Rapport
Bovendien willen beheerders vaak weten hoeveel e-mails gebruikers verzenden en ontvangen. We kunnen de Get-MailTrafficTopReport cmdlet gebruiken om deze e-mailstatistieken weer te geven. De onderstaande cmdlet toont het aantal e-mails dat gebruikers de afgelopen 7 dagen hebben verzonden en ontvangen:
Get-MailTrafficTopReport -EventType TopMailUser
Bekijk het aantal e-mails dat gebruikers tijdens de opgegeven periode ontvangen.
Get-MailTrafficTopReport -EventType TopMailUser –Direction Inbound –StartDate 7/15/22 -EndDate 7/20/22
Lees ook Probeer de Office 365 Rapportage
Office 365 Mail Flow Status Rapport
Voordat u deze opdracht gebruikt, moet u ervoor zorgen dat u momenteel geïdentificeerd bent met een hybride server die is samengevoegd met Office 365. U kunt alternatief rechtstreeks verbinden en identificeren bij Office 365 met de volgende opdracht:
$UserCredential = Get-Credential
$Session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUrl https://outlook.office365.com/powershell-liveid/ -Credential $UserCredential -Authentication Basic -AllowRedirection
De mail flow status rapportage gegenereerd door de opdracht Get-MailFlowStatusReport toont informatie over geblokkeerde inkomende en uitgaande e-mails door randbescherming:
Get-MailFlowStatusReport | ft Date, EventType, MessageCount
Het cmdlet hierboven retourneert het aantal berichten voor een datumreeks, georganiseerd volgens de uiteindelijke verwerking van het bericht. Standaard toont de opdracht gegevens van de afgelopen zeven dagen. We krijgen echter een mail flowrapport voor maximaal negentig dagen door de -StartDate en -EndDate op te geven.
Genereren van een E-mailbeschermingsrapport
Allereerst helpen e-mailbeschermingsrapporten ons bij het identificeren van spam en malware door Exchange Online Protection (EOP), evenals e-mails die overeenkomen met mail flow regels, DLP-regels en andere criteria.
Office 365 Spam Rapporten
Alle gezamenlijk, de Get-MailDetailSpamReport opdracht toont informatie over spamberichten die door ons bedrijf zijn verzonden en ontvangen. De cmdlet toont een lijst van spamberichten die zijn gedetecteerd in de afgelopen tien (10) dagen.
Daarom markeert of weigert Microsoft 365 in sommige gevallen e-mails die vanuit ons bedrijf worden verzonden als spam. Voer de volgende cmdlet uit om die e-mails te identificeren:
Get-MailDetailSpamReport –Direction Outbound
Bovendien classificeren anti-spamfilters soms goede inkomende e-mails als spam. De beheerder kan een domein of specifieke adreswhitelisten door die e-mails te controleren. Om inkomende spamberichten te bekijken:
Get-MailDetailsSpamReport –Direction Inbound
Om spam te bekijken die door een specifieke gebruiker is verzonden gedurende een bepaalde periode met behulp van de -StartDate en -EndDate parameters:
Get-MailDetailsSpamReport –SenderAddress marion@infrasos.com -StartDate 7/15/22 -EndDate 7/20/22
Voer de cmdlet uit met RecipientAddress in plaats van SenderAddress om spam te bekijken die door een gebruiker is ontvangen.
Exchange Online Malware Reports
Dan, de Get-MailDetailATPReport cmdlet helpt bij het identificeren van e-mails met malware. Voer de cmdlet uit om alle malware te zien die in de afgelopen tien (10) dagen is verzonden en ontvangen.
Om malware te bekijken die vanuit ons bedrijf is verzonden, kunnen we het volgende fragment gebruiken:
Get-MailDetailATPReport –Direction Outbound
Bovendien geven we ook de gemelde malware-e-mails die door ons bedrijf zijn ontvangen, als we de Inbound richting in plaats daarvan gebruiken:
Get-MailDetailATPReport –Direction Inbound
Dus, om malware te bekijken die door specifieke gebruikers is verzonden, gebruik de -RecipientAddress parameter:
Get-MailDetailATPReport –RecipientAddress marion@infrasos.com
Identificeren van de Transport Regel
Het PowerShell-commando Get-MailDetailTranportRuleReport toont informatie over berichten die voldoen aan de voorwaarden opgegeven door elke transportregel. Het commando toont de toegepaste transportregel en de e-mailgegevens voor de afgelopen tien (10) dagen.
Het volgende voorbeeld haalt alle berichten op die zijn verzonden door [email protected] die voldoen aan de voorwaarde gedefinieerd door de transportregel tussen 15 juli 2021 en 20 juli 2022:
Get-MailDetailTransportRuleReport -TransportRule r1 –StartDate 7/15/22 -EndDate 7/20/22 -SenderAddress marion@infrasos.com
Het onderstaande resultaat is een voorbeeld van een transportregelrapport dat is gegenereerd door het bovenstaande commando:
Voer alsjeblieft het volgende cmdlet uit om identificeren e-mails en de Exchange-transportregel die het bericht naar een ander e-mailadres omleidt:
Get-MailDetailTransportRuleReport –Action RedirectMessage
Monitor E-mails Gedetecteerd door DLP-beleid
De meeste organisaties configureren Data Loss Prevention (DLP) beleid om hun vertrouwelijke e-mailgegevens te beschermen. We kunnen de cmdlet Get-MailDetailDLPPolicyReport gebruiken om berichten te identificeren die voldoen aan de door DLP beleid gedefinieerde voorwaarden.
Get-MailDetailDLPPolicyReport
Haal het Microsoft 365 Berichtstracering Rapport op
Om e-mailverkeer te controleren, geven de meeste beheerders de voorkeur aan berichtstracering. Berichtstracering biedt beheerders gedetailleerde informatie over berichten die zijn verzonden, ontvangen, gewist en verwijderd. Onder de details vallen:
- Verzendadres
- Ontvangenadres
- Verzend-/ontvangdatum
- E-mailonderwerp
- E-mailleveringstatus
- E-mail grootte
- Bericht trace id, etc.
- Bron IP-adres
Om het traceerrapport te krijgen, kunnen we het commando Get-MessageTrace uitvoeren. Standaard haalt de cmdlet de gegevens van de afgelopen 48 uur op. We kunnen de gegevens van de laatste tien (10) dagen ophalen met behulp van de parameters -StartDate en -EndDate. We kunnen de cmdlets Start-HistoricalSearch en Get-HistoricalSearch gebruiken om berichtgegevens te doorzoeken die ouder zijn dan tien dagen.
In principe haalt het onderstaande voorbeeld traceerinformatie op voor berichten die zijn verzonden door een specifieke gebruiker gedurende de opgegeven periode:
Get-MessageTrace –SenderAddress marion@infrasos.com -StartDate 7/25/22 -EndDate 7/30/22
Om het bericht traceerrapport naar een CSV-bestand te exporteren:
Get-MessageTrace | Export-CSV -NoTypeInformation
We kunnen de uitvoer naar de grid view sturen als we de bericht traceerdetails willen filteren:
Get-MessageTrace | Out-GridView
Het bovenstaande commando stelt ons in staat de bericht traceerdetails te filteren of te beperken, zoals
- Berichten traceren op onderwerp,
- Statussen voor berichtlevering zijn: geleverd, mislukt, in behandeling, uitgebreid, in quarantaine geplaatst, gespamd en onbekend
Bedankt voor het lezen van “Active Directory Exchange-rapporten maken met PowerShell”. We zullen dit artikel nu afronden.
Conclusie Active Directory Exchange-rapporten maken met PowerShell
Samengevat biedt Microsoft Exchange een schat aan informatie en inzichten over de prestaties en het gebruik van onze e-mailserver. Door rapporten te genereren met behulp van PowerShell kunnen we deze informatie gebruiken om de gezondheid en efficiëntie van onze Exchange-server te verbeteren.
Of we nu systeembeheerders zijn of gebruikers, het begrijpen van het genereren en werken met Exchange-rapporten in PowerShell kan een waardevolle vaardigheid zijn. Door de voorbeelden en beste praktijken in dit artikel te volgen, zijn we goed op weg om deze krachtige tool onder de knie te krijgen.
Source:
https://infrasos.com/create-active-directory-exchange-reports-with-powershell/