Ist es in Office 365 möglich, das SMTP-Protokoll zu exportieren? Vielleicht in Powershell oder auf andere Weise.
Mein Ziel ist es, einen vollständigen Überblick über alle Nachrichten zu erhalten, die von und an eine bestimmte Domain gesendet werden.
Ist es in Office 365 möglich, das SMTP-Protokoll zu exportieren? Vielleicht in Powershell oder auf andere Weise.
Mein Ziel ist es, einen vollständigen Überblick über alle Nachrichten zu erhalten, die von und an eine bestimmte Domain gesendet werden.
Antworten:
Durch die Kombination von 2 Skripten, die irgendwo online gefunden wurden, konnte ich es herausfinden.
Dies ist das Skript, das die Arbeit erledigt hat.
#Accept input parameters
Param(
[Parameter(Position=0, Mandatory=$true, ValueFromPipeline=$true)]
[string] $Office365Username,
[Parameter(Position=1, Mandatory=$true, ValueFromPipeline=$true)]
[string] $Office365Password
)
$OutputFile = "DetailedMessageStats.csv"
Write-Host "Connecting to Office 365 as $Office365Username..."
#Connect to Office 365
$SecurePassword = $Office365Password | ConvertTo-SecureString -AsPlainText -Force
$cred = New-Object System.Management.Automation.PSCredential -ArgumentList $Office365Username, $SecurePassword
$session = New-PSSession -ConfigurationName Microsoft.Exchange -ConnectionUri "https://ps.outlook.com/powershell/" -Credential $cred -Authentication Basic -AllowRedirection
Import-PSSession $session -AllowClobber
Write-Host "Collecting Recipients..."
#Collect all recipients from Office 365
$Recipients = Get-Recipient -ResultSize Unlimited | select PrimarySMTPAddress
$MailTraffic = @{}
foreach($Recipient in $Recipients)
{
$MailTraffic[$Recipient.PrimarySMTPAddress.ToLower()] = @{}
}
$Recipients = $null
#Collect Message Tracking Logs (These are broken into "pages" in Office 365 so we need to collect them all with a loop)
$Messages = $null
$Page = 1
do
{
Write-Host "Collecting Message Tracking - Page $Page..."
$CurrMessages = Get-MessageTrace -StartDate (Get-Date).AddDays(-7) -EndDate (Get-Date) -PageSize 5000 -Page $Page| Select Received,*Address,*IP,Subject,Status,Size
if ($CurrMessages -ne $null)
{
$CurrMessages | Export-Csv C:\FILE-$PAGE.csv -NoTypeInformation
}
$Page++
$Messages += $CurrMessages
}
until ($CurrMessages -eq $null)
Remove-PSSession $session
Ich habe ein paar Zeilen leicht geändert, um alle Protokolle zu sammeln
$OutputFile = "c:\temp\SMTPlog"
$CurrMessages | Export-Csv "$($OutputFile)$($Page).csv" -NoTypeInformation
a complete overview of all messages send from and to a specific domainWissen Sie, solche Dinge geben Sie im Allgemeinen auf, wenn Sie in die "Cloud" gehen. Wenn Sie diese Art der vollständigen Überwachung und Protokollierung benötigen / möchten, sind Cloud-Dienste möglicherweise nicht das, was Sie wirklich wollen.