Powershell E-Mail Versand mit farbigem HTML aus txt Datei
Hallo,
ich habe folgenden Code:
die Log.txt sieht so aus:
Erfolgreich \\Server1\pfad\zur\log\log.txt
Erfolgreich \\Server2\pfad\zur\log\log.txt
Fehlgeschlagen \\Server3\pfad\zur\log\log.txt
Erfolgreich \\Server4\pfad\zur\log\log.txt
Jetzt wäre es schön, wenn in der E-Mail die Worte Erfolgreich grün und Fehlgeschlagen in rot dargestellt würden und im Betreff oder der Mail selber die Anzahl der erfolgreichen und fehlgeschlagen Vorgänge steht. Kann mir da jemand helfen?
Danke und Gruß
Bugger
ich habe folgenden Code:
$pw = Get-Content .\MailPW.txt | ConvertTo-SecureString
$cred = New-Object System.Management.Automation.PSCredential "MailUser", $pw
$Logfile = "C:\Logs\Log.txt"
$body = gc $Logfile |%{"$_ <br/>"} | Out-String
Send-MailMessage -Credential $cred -to "user1@server.de" -from "user2@server.de" -SmtpServer "server.de" -Subject "Logs" -body $body -BodyAsHtml -encoding ([System.Text.Encoding]::UTF8)
die Log.txt sieht so aus:
Erfolgreich \\Server1\pfad\zur\log\log.txt
Erfolgreich \\Server2\pfad\zur\log\log.txt
Fehlgeschlagen \\Server3\pfad\zur\log\log.txt
Erfolgreich \\Server4\pfad\zur\log\log.txt
Jetzt wäre es schön, wenn in der E-Mail die Worte Erfolgreich grün und Fehlgeschlagen in rot dargestellt würden und im Betreff oder der Mail selber die Anzahl der erfolgreichen und fehlgeschlagen Vorgänge steht. Kann mir da jemand helfen?
Danke und Gruß
Bugger
Please also mark the comments that contributed to the solution of the article
Content-Key: 514596
Url: https://administrator.de/contentid/514596
Printed on: April 18, 2024 at 02:04 o'clock
4 Comments
Latest comment
# ...
$body = (((gc $Logfile) -replace 'Erfolgreich','<span style="color:green">$0</span>') -replace 'Fehlgeschlagen','<span style="color:red">$0</span>') -join '<br />'
# ...
Klar mach ein Regex Match auf den Inhalt des Logs und zähle die Anzahl von Erfolgreich und Fehlgeschlagen
$logdata = gc $logfile -raw
[regex]::matches($logdata,'(?i)Erfolgreich').Count
[regex]::matches($logdata,'(?i)Fehlgeschlagen').Count