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
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 514596
Url: https://administrator.de/forum/powershell-e-mail-versand-mit-farbigem-html-aus-txt-datei-514596.html
Ausgedruckt am: 25.12.2024 um 19:12 Uhr
4 Kommentare
Neuester Kommentar
# ...
$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