Exchange 2007 Script welches Mailboxsize über 1GB, Most Spam Recievers, Top Blocked Sender Domains etc zeigt
Ich habe ein Script gebastelt:
###Send mailbox statistics script
### email
$FromAddress = "it@domain.tld"
$ToAddress = "it@domain.tld"
$MessageSubject = "Mailbox Size Report"
$MessageBody = "Attached is the current list of mailbox sizes."
$SendingServer = "mailserver"
###scripts
Get-MailboxStatistics |where {$_.TotalItemSize -gt 1000MB} | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}} > d:\mailboxes.txt
Get-AntispamTopRecipients.ps1 -StartDate "9/9/2008" -top10 >> d:\mailboxes.txt
Get-AntispamTopBlockedSenderDomains.ps1 p1 -top10 >> d:\mailboxes.txt
###mail msgs
$SMTPMessage = New-Object System.Net.Mail.MailMessage $FromAddress, $ToAddress,
$MessageSubject, $MessageBody
$Attachment = New-Object Net.Mail.Attachment("d:\mailboxes.txt")
$SMTPMessage.Attachments.Add($Attachment)
###senden
$SMTPClient = New-Object System.Net.Mail.SMTPClient $SendingServer
$SMTPClient.Send($SMTPMessage)
$Attachment.dispose()
Soweit so rudimentär, aber funktioniert soweit.
Probleme:
Das SCript sollte automatisch einmal im Monat laufen, wie stelle ich das an ?
1. Get-AntispamTopRecipients.ps1 -StartDate "9/9/2008" -top10 >> d:\mailboxes.txt
Das Command zeigt mir natuerlich die Size ab dem 9.9.2008 an, aber eigentlich solls mir die top10 der letzten 30 tage anzeigen, gibts sowas wie ein -last30days ?
2. Get-AntispamTopRecipients.ps1 -StartDate "9/9/2008" -top10 >> d:\mailboxes.txt
Get-AntispamTopBlockedSenderDomains.ps1 p1 -top10 >> d:\mailboxes.txt
das funktioniert auch soweit, nur sehen die stats nicht sehr formatiert aus, wo adde ich sortierung und ueberschriften damit das log "leserlicher" wird ?
###Send mailbox statistics script
$FromAddress = "it@domain.tld"
$ToAddress = "it@domain.tld"
$MessageSubject = "Mailbox Size Report"
$MessageBody = "Attached is the current list of mailbox sizes."
$SendingServer = "mailserver"
###scripts
Get-MailboxStatistics |where {$_.TotalItemSize -gt 1000MB} | Sort-Object TotalItemSize -Descending | ft DisplayName,@{label="TotalItemSize(MB)";expression={$_.TotalItemSize.Value.ToMB()}} > d:\mailboxes.txt
Get-AntispamTopRecipients.ps1 -StartDate "9/9/2008" -top10 >> d:\mailboxes.txt
Get-AntispamTopBlockedSenderDomains.ps1 p1 -top10 >> d:\mailboxes.txt
###mail msgs
$SMTPMessage = New-Object System.Net.Mail.MailMessage $FromAddress, $ToAddress,
$MessageSubject, $MessageBody
$Attachment = New-Object Net.Mail.Attachment("d:\mailboxes.txt")
$SMTPMessage.Attachments.Add($Attachment)
###senden
$SMTPClient = New-Object System.Net.Mail.SMTPClient $SendingServer
$SMTPClient.Send($SMTPMessage)
$Attachment.dispose()
Soweit so rudimentär, aber funktioniert soweit.
Probleme:
Das SCript sollte automatisch einmal im Monat laufen, wie stelle ich das an ?
1. Get-AntispamTopRecipients.ps1 -StartDate "9/9/2008" -top10 >> d:\mailboxes.txt
Das Command zeigt mir natuerlich die Size ab dem 9.9.2008 an, aber eigentlich solls mir die top10 der letzten 30 tage anzeigen, gibts sowas wie ein -last30days ?
2. Get-AntispamTopRecipients.ps1 -StartDate "9/9/2008" -top10 >> d:\mailboxes.txt
Get-AntispamTopBlockedSenderDomains.ps1 p1 -top10 >> d:\mailboxes.txt
das funktioniert auch soweit, nur sehen die stats nicht sehr formatiert aus, wo adde ich sortierung und ueberschriften damit das log "leserlicher" wird ?
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 101879
Url: https://administrator.de/contentid/101879
Ausgedruckt am: 22.11.2024 um 22:11 Uhr
2 Kommentare
Neuester Kommentar
Hi,
- Die erste Zeile ist nicht ganz volständig, oder ? (get-mailboxstatistics?)
- Ein Powershell Script kannst Du mit dem folgenden Command aus einer Batch/CMD starten (und damit über den Taskplaner). Mit PSConsoleFile gibst du zusätzliche die Exchange CMDLets an
- Get-AntispamTopRecipients ist ja auch nur ein powershell-script. Evtl. findest Du im Code die Möglichkeit das Datum zu ändern ? Alternativ kannst Du das Datum als Parameter übergeben z.B.
gibt dir das Datum von heute minus 30 Tage aus.
- Ich habe die Scripte leider nicht zur Hand? Welche Ausgaben bekommst Du ? Im besten Fall solltest Du ja auch wieder "Objekte" bekommen. Was zeigt z.B. an ?
- Die erste Zeile ist nicht ganz volständig, oder ? (get-mailboxstatistics?)
- Ein Powershell Script kannst Du mit dem folgenden Command aus einer Batch/CMD starten (und damit über den Taskplaner). Mit PSConsoleFile gibst du zusätzliche die Exchange CMDLets an
PowerShell.exe -PSConsoleFile "C:\Program Files\Microsoft\Exchange Server\Bin\ExShell.Mcf1" -Command ". '<Path to Your Script>'"
- Get-AntispamTopRecipients ist ja auch nur ein powershell-script. Evtl. findest Du im Code die Möglichkeit das Datum zu ändern ? Alternativ kannst Du das Datum als Parameter übergeben z.B.
get-date ([DateTime]::Now.adddays(-30)) -format "MM/dd/yy"
- Ich habe die Scripte leider nicht zur Hand? Welche Ausgaben bekommst Du ? Im besten Fall solltest Du ja auch wieder "Objekte" bekommen. Was zeigt z.B.
|fl