32 lines
1.6 KiB
PowerShell
32 lines
1.6 KiB
PowerShell
# This script retrieves message tracking logs for emails that were dropped by the transport service on the current day.
|
|
|
|
# --- Configuration ---
|
|
# Define the path for the output CSV file.
|
|
$OutputPath = "C:\Tools\oof_DROP.csv" # You can change this path
|
|
|
|
# --- Script ---
|
|
|
|
# Set the start and end times for the query to span the entire current day.
|
|
$startOfDay = (Get-Date).Date
|
|
$endOfDay = $startOfDay.AddDays(1).AddSeconds(-1)
|
|
|
|
Write-Host "Querying message tracking logs for dropped 'Automatic Reply' messages between $startOfDay and $endOfDay..."
|
|
|
|
# Query for dropped messages with "Automatische Antwort" in the subject, excluding the postmaster sender.
|
|
$droppedMessages = Get-TransportService | Get-MessageTrackingLog -wa 0 -EventId "DROP" -MessageSubject "Automatische Antwort" -Start $startOfDay -End $endOfDay | Where-Object { $_.Sender -ne 'postmaster@aps.local' }
|
|
|
|
if ($droppedMessages) {
|
|
# Select the desired properties for both console output and CSV export.
|
|
$outputData = $droppedMessages | Select-Object Timestamp, EventId, Source, Sender, @{Name='Recipients';Expression={$_.Recipients -join ';'}}, RecipientStatus, MessageSubject, InternalMessageId
|
|
|
|
# Display the results in the console.
|
|
Write-Host "Dropped 'Automatic Reply' messages found:"
|
|
$outputData | Format-Table
|
|
|
|
# Export the results to a CSV file, overwriting if it exists.
|
|
Write-Host "Exporting results to $OutputPath..."
|
|
$outputData | Export-Csv -Path $OutputPath -NoTypeInformation -Encoding UTF8 -Force
|
|
Write-Host "Export complete."
|
|
} else {
|
|
Write-Host "No dropped 'Automatic Reply' messages found for the current day."
|
|
} |