bheleu21
Goto Top

Powershell - Auswertung per Mail verschicken - Formatierungsproblem

Guten Mittag an alle!

Ich kämpfe gerate mit einem vermutlich sehr simplen Syntaxprolem, finde aber leider keine Lösung egal wie ich es drehe und wende.

Info zum Skript, es liest jeden Abend aus welches (andere) Skript auf einem Server gelaufen ist, wann es wieder läuft und ob es erfolgreich war.

Dann schickt es ein Mail an einen Verteiler mit dem Ergebnis. Leider kommt der Output per Mail ziemlich unleserlich an und ich schaff es nicht das zu formatieren.

Vielleicht sieht einer von euch wo ich den Fehler gemacht habe !

P.s. sollte jemand das Skript für sich gebrauchen können - feel free to use it !


Skript:

  1. Auslesen der aktiven Scheduled tasks auf .\

$date = Get-Date
$sched = New-Object -Com "Schedule.Service"
$sched.Connect()
$out = @()
$sched.GetFolder("\").GetTasks(0) | % {
$xml = [xml]$_.xml
$out += New-Object psobject -Property @{
"Name" = $_.Name
"Status" = switch($_.State) {0 {"Unknown"} 1 {"Disabled"} 2 {"Queued"} 3 {"Ready"} 4 {"Running"}}
"NextRunTime" = $_.NextRunTime
"LastRunTime" = $_.LastRunTime
"LastRunResult" = $_.LastTaskResult

}
}

  1. Verschicke das ganze als Mail

$UserMail = "Scriptinfo@xxx.at"

$smtp = "Mailserver"

$to = "Scriptinfo@xxx.at"

$from = "Scriptinfo@axxx.at"

$subject = "Skriptzusammenfassung von $date"

$body = "<font color=red>Report</font> <br>"

  1. UNd hier muss irgendwie der Hund begraben sein - Output geht aber es kommt als grausme reihe heraus die nicht lesbar ist:

$body += Format-Table -InputObject $out -Property * | Out-String -Width ([int]::MaxValue)

Send-MailMessage -from $UserMail -to $UserMail -Subject "Skriptzusammenfassung von $date" -Body $body -BodyAsHtml -SmtpServer MainMailserverName


Beispiel wie der Output aussieht im Mail:
Status : Ready LastRunTime : 02.06.2015 23:20:00 Name : ActiveDirectoryOffboardingAutomati NextRunTime : 03.06.2015 23:20:00 LastRunResult : 0 Status : Ready LastRunTime : 02.06.2015 23:00:00 Name : AutoDisableComputers1 NextRunTime : 03.06.2015 23:00:00 LastRunResult : 0 Status : Ready LastRunTime : 02.06.2015 23:05:00 Name : AutoDisableUsersNeu NextRunTime : 03.06.2015 23:05:00 LastRunResult : 0 Status : Ready LastRunTime : 02.06.2015 23:10:00 Name : LyncTelefonKlappenExport NextRunTime : 03.06.2015 23:10:00 LastRunResult : 0 Status : Disabled LastRunTime : 29.05.2015 14:17:28 Name : Optimize Start Menu Cache Files-S-1-5-21-1203159950-51644421-2948905077-9863 NextRunTime : 30.12.1899 00:00:00 LastRunResult : 0 Status : Ready LastRunTime : 02.06.2015 23:55:00 Name : Taskreport NextRunTime : 03.06.2015 23:55:00 LastRunResult : 0


Für jede Hilfe Dankbar !!
Lg. Sven

Content-Key: 273682

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

Ausgedruckt am: 19.03.2024 um 04:03 Uhr

Mitglied: 114757
Lösung 114757 03.06.2015 aktualisiert um 13:14:38 Uhr
Goto Top
Moin,
weil Tabellen ohne die richtigen Tags in HTML eben nicht wie Tabellen dargestellt werden face-wink
$body += $out | Convertto-HTML -Fragment -As Table
Gruß jodel32
Mitglied: Bheleu21
Bheleu21 03.06.2015 um 13:16:50 Uhr
Goto Top
Danke an dich,
das ist das zweimal das du hier kompetente Hilfe für mich parat hast !
Merci !