5ain7 ga11 . CH || i7-l3ak5. CH || g07r007.CH

Scheduled Exchange Powershell Output via Email

by on May.05, 2015, under Exchange 2010, Exchange 2013, Exchange Server, Knowledgebase, PowerShell ISE, Server-Plattformen, Windows 2008 Server, Windows Server 2012 R2

Möchte man einen Exchange PoweShell Output terminiert ausführen und per Email senden, dann geht dies mit folgendem Script. Im Script habe ich gerade noch den Output in HTML formatiert und mit einer Table verpasst. In diesem Falle war es ein Get-MessagetrackingLog Output über einen ganzen Tag.

[code language=”powershell”]
$smtpServer = “mail.it-leaks.ch”
# SMTP Relay Server
$smtpFrom = “DailyReport@it-leaks.ch”
# SMTP Absender
$smtpTo = “spicedham@inter.net”
# Absender
$messageSubject = “Daily Report”
# Subject

$style = “< style>BODY{font-family: Arial; font-size: 10pt;}”
$style = $style + “TABLE{border: 1px solid black; border-collapse: collapse;}”
$style = $style + “TH{border: 1px solid black; background: #dddddd; padding: 5px; }”
$style = $style + “TD{border: 1px solid black; padding: 5px; }”
$style = $style + “< /style>”
# Style auf Arial setzen und Table einbauen

$message = New-Object System.Net.Mail.MailMessage $smtpfrom, $smtpto
$message.Subject = $messageSubject
$message.IsBodyHTML = $true
# Nachricht zusammenfügen und als HTML deklarieren

$message.Body = get-messagetrackinglog -Start (Get-Date).AddHours(-24) -Sender “out@it-leaks.ch” -EventID “SEND” | select {$_.Recipients},{$_.MessageSubject},{$_.TimeStamp} | ConvertTo-Html -Head $style
# Message Content aus Exchange PowerShell generieren

$smtp = New-Object Net.Mail.SmtpClient($smtpServer)
$smtp.Send($message)
# Message senden
[/code]

Damit das Script via Windows Scheduler täglich ausführen kann, habe ich es in einem CMD Wrapper verpackt, welcher das Script via Exchange PowerShell ausführt.

[code language=”powershell”]
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -command “. ‘c:\Program Files\Microsoft\Exchange Server\V14\bin\RemoteExchange.ps1’; Connect-ExchangeServer -auto; D:\DailyScripts\SendEmailwAttachHTML.ps1”
exit
[/code]

Anschliessend kann das CMD File via Windows Scheduler geplant werden.
Scheduler


Leave a Reply

 

Blogroll

A few highly recommended websites...