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

PowerShell ISE

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 Comment more...

PowerShell Scripte lassen sich nicht ausführen

by on Aug.19, 2014, under Knowledgebase, PowerShell, Powershell 3.0, PowerShell ISE, Server-Plattformen, Windows 2008 Server, Windows 7, Windows 8, Windows Betriebssysteme, Windows Server 2012, Windows Server 2012 R2

Wenn man ein PowerShell Script ausführen will, dann kann folgende Meldung erscheinen:

 

XXX.ps1″ kann nicht geladewerden, da die Ausführung von Skripts auf diesem System deaktiviert ist….

Error1

Folgendes schafft Abhilfe.

– eine PowerShell Session als Administrator ausführen und folgenden Command eingeben:

<Set-ExecutionPolicy Unrestricted>

Antw1Danach sollte die Ausführung klappen.

 

Leave a Comment more...

Blogroll

A few highly recommended websites...