Blog

Hier poste ich dinge zu Themen die mich beschäftigten.

Neueste 5 Einträge

  • PHP: sende Mail
  • Powershell: gruppename like finden und aktivierte user zaehlen
  • HW und SW auslesen und exportieren
  • Angeschlossene Monitore auslesen
  • bash: deepL Pro Paket MAC OS

2023-04-15

Powershell - Exchange Online Mailtracking

Bitte beachten Sie, dass Sie das Exchange Online PowerShell-Modul benötigen, um dieses Skript auszuführen. Sie können das Modul mit dem folgenden Befehl installieren:

Install-Module -Name ExchangeOnlineManagement

Anschließend können Sie das folgende Skript verwenden:

# Exchange Online-Modul importieren und anmelden
Import-Module ExchangeOnlineManagement
Connect-ExchangeOnline

# Eingabeaufforderung für Benutzerdaten
$SearchType = Read-Host -Prompt “Geben Sie ‘1′ für Absender oder ‘2′ für Empfänger ein”
$EmailAddress = Read-Host -Prompt “Geben Sie die E-Mail-Adresse ein”
$StartDate = Read-Host -Prompt “Geben Sie das Startdatum ein (Format: ‘YYYY-MM-DD’)”
$EndDate = Read-Host -Prompt “Geben Sie das Enddatum ein (Format: ‘YYYY-MM-DD’)”

# Nachrichtenverfolgung basierend auf der Suche
if ($SearchType -eq “1”) {
    $MessageTrackingLogs = Get-ExoMessageTrace -StartDate $StartDate -EndDate $EndDate -SenderAddress $EmailAddress
} elseif ($SearchType -eq “2”) {
    $MessageTrackingLogs = Get-ExoMessageTrace -StartDate $StartDate -EndDate $EndDate -RecipientAddress $EmailAddress
} else {
    Write-Host “Ungültige Eingabe” -ForegroundColor Red
    exit
}

# Überprüfen, ob E-Mails erfolgreich zugestellt wurden
foreach ($log in $MessageTrackingLogs) {
    $MessageId = $log.MessageId
    $MessageTraceDetail = Get-ExoMessageTraceDetail -MessageId $MessageId
    $DeliveryStatus = $MessageTraceDetail | Where-Object { $_.EventId -eq “DELIVER” }

    if ($DeliveryStatus) {
        Write-Host “E-Mail mit MessageId ‘$MessageId’ wurde erfolgreich zugestellt” -ForegroundColor Green
    } else {
        Write-Host “E-Mail mit MessageId ‘$MessageId’ wurde nicht erfolgreich zugestellt” -ForegroundColor Red
    }
}

Das Skript fragt den Benutzer nach der Art der Suche (Absender oder Empfänger), der E-Mail-Adresse und dem Zeitraum für die Suche. Basierend auf den Benutzereingaben sucht das Skript dann nach den Nachrichten und überprüft, ob sie erfolgreich ausgeliefert wurden.

Beachten Sie, dass das Skript administrative Berechtigungen für Exchange Online erfordert, um die Nachrichtenverfolgung und die Verfolgungsdetails abzurufen. Stellen Sie sicher, dass Sie über die erforderlichen Berechtigungen verfügen, bevor Sie das Skript ausführen.

Admin - 11:11:49 @ Projekte, Powershell-Skripte | Kommentar hinzufügen