none
Exchange Powershell Script zum Versand von Emails + Anhang Problem

    Frage

  • Hi,

    folgendes Script ist im Einsatz und funktioniert auch bei manuellem Ausführen. Teilweise läuft es auch 1-3 Tage alleine, wenn man alle taskeng.exe schließt und es dann einmal ausführt. (das Script läuft täglich einmal)

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe C:\mail.ps1

    Es wird

    - unabhängig von Benutzeranmeldung

    - mit höchsten Privilegien

    - Aufgabe beenden falls länger als 2 Stunden ausgeführt wird

    - Beenden der Aufgabe erzwingen

    Script (mail.ps1):

    $filename = “C:\mail.txt”
    $smtpServer = “SERVER”

    $msg = new-object Net.Mail.MailMessage
    $att = new-object Net.Mail.Attachment($filename)
    $smtp = new-object Net.Mail.SmtpClient($smtpServer)

    $msg.From = “admin@domain.de”
    $msg.To.Add(”kontakt@domain.de”)
    $msg.Subject = “Logs”
    $msg.Body = “.”
    $msg.Attachments.Add($att)

    $smtp.Send($msg)
    $att.Dispose()

    Die Empfängeradresse ist ein externer Kontakt dem eine domainfremde Emailadresse zugeordnet ist. domain.de ist externes relay auf dem Exchangeserver, admin@domain.de existiert als Postfach.

    System: MS Server 2008 durchgepatcht. Der SERVER ist ein SBS 2008

    Freitag, 17. Februar 2012 07:37

Antworten

  • Da fällt uns offenbar nicht viel zu ein.. :)

    Grundsätzlich sollte das so gehen. Die taskeng.exe kann durchaus mehrfach auftauchen (pro Benutzeraccount unter der ein Task läuft; eine für Tasks mit "höchsten Privilegien" und eine ohne), aber nicht für ein und denselbenTask.

    Schau doch mal ob zu den taskeng.exe's (ggfls. mit Process Explorer) auch noch eine powershell.exe als Unterprozess existiert. Das würde für ein hängendes Script sprechen, was allerdings durch "Beenden erzwingen" erledigt sein sollte. Prüf's trotzdem mal.
    Um ganz sicherzugehen das das Skript (spontan fällt mir als mögliche Fehlerquelle allerdings nur das Attachment ins Auge) nicht das Problem ist, könntest du den Code mal durch ein einfaches:

    add-content $env:temp\tasktest.txt (get-date)

    ersetzen.

    Falls das Problem damit immer noch besteht, liegt dein Problem nicht bei powershell und ich würde dich bitten die Frage (ohne den Code) mal im Serverforum zu posten.

    Grüße, Denniver



    Blog: http://bytecookie.wordpress.com

    Hilf mit und markiere hilfreiche Beiträge als "Hilfreich" und Beiträge die deine Frage ganz oder teilweise beantwortet haben als "Antwort".

    Mittwoch, 22. Februar 2012 10:42
    Moderator

Alle Antworten