agnostiker
Goto Top

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 ?

Content-ID: 101879

Url: https://administrator.de/contentid/101879

Ausgedruckt am: 22.11.2024 um 22:11 Uhr

agnostiker
agnostiker 15.11.2008 um 09:33:51 Uhr
Goto Top
Keiner da der sich mit der Powershell auskennt ?
crehwoldt
crehwoldt 15.11.2008 um 12:39:46 Uhr
Goto Top
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
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"   
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.
 |fl 
an ?