HTML in Batch und Powershell
Hallo zusammen,
zunächst nochmals vielen Dank für eure Unterstützungen!!!!
Ich bin momentan dabei, mich in Batch und Powershell einzulesen nur leider mache ich viele Fehler...
Habe hier folgenden Skript, der Excel nach Änderungsdatum prüft und mir eine Email sendet!
Ich würde nun gerne mein Skript erweitern und die Emails verschönern!
Möchte gerne Html einbinden, d.h wenn Fehler dann in der Mail die Zeile rot markieren und wenn OK dann grün !
Hierzu habe ich gelesen das ich " -BodyAsHtml" einbinden muss
dieses habe ich wie folgt in der letzten Zeile eingebunden, leider erfolglos:
Hier der Code der funktioniert:
Kann mir ggf. jemand weiterhelfen? Werde weiterhin testen, bis ich die Lösung gefunden haben!
Dieses Projekt ist nur eine einmalige Sache, da ich mit Powershell und Batch nie zu tun haben werden!
VG Mike
zunächst nochmals vielen Dank für eure Unterstützungen!!!!
Ich bin momentan dabei, mich in Batch und Powershell einzulesen nur leider mache ich viele Fehler...
Habe hier folgenden Skript, der Excel nach Änderungsdatum prüft und mir eine Email sendet!
Ich würde nun gerne mein Skript erweitern und die Emails verschönern!
Möchte gerne Html einbinden, d.h wenn Fehler dann in der Mail die Zeile rot markieren und wenn OK dann grün !
Hierzu habe ich gelesen das ich " -BodyAsHtml" einbinden muss
dieses habe ich wie folgt in der letzten Zeile eingebunden, leider erfolglos:
-BodyAsHtml -Body "<font size='8' color='red'><b>Test</b>" $report -SmtpServer '%SMTP%' -From '%FROM%'"
Hier der Code der funktioniert:
@echo off & setlocal
set "SMTP=IP"
set "SUBJECT=Mini01-04"
set "FROM=Powershell@%computername%"
set "TO=........."
powershell -Executionpolicy ByPass -Command "$report = (gci 'C:\Users\Michael\Desktop\test\*','C:\Users\Michael\Desktop\test\*','C:\Users\Michael\Desktop\test\*','C:\Users\Michael\Desktop\test\*' -Include '1.xls','2.xls','3.xls' | %%{\"Datum fur $($_.Fullname) : $(@{$true='OK';$false='FEHLER'}[$_.LastWriteTime.Date -eq (get-date).Date])\"}) -join [environment]::Newline; Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -Body $report -SmtpServer '%SMTP%' -From '%FROM%'"
Kann mir ggf. jemand weiterhelfen? Werde weiterhin testen, bis ich die Lösung gefunden haben!
Dieses Projekt ist nur eine einmalige Sache, da ich mit Powershell und Batch nie zu tun haben werden!
VG Mike
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 327235
Url: https://administrator.de/contentid/327235
Ausgedruckt am: 25.11.2024 um 16:11 Uhr
11 Kommentare
Neuester Kommentar
powershell -Executionpolicy ByPass -Command "$report = (gci 'C:\Users\Michael\Desktop\test\*','C:\Users\Michael\Desktop\test\*','C:\Users\Michael\Desktop\test\*','C:\Users\Michael\Desktop\test\*' -Include '1.xls','2.xls','3.xls' | %%{$result = @{$true='OK';$false='FEHLER'}[$_.LastWriteTime.Date -eq (get-date).Date]; \"Datum für $($_.Fullname) : ^<span style=\"color:$(@{'OK'='green';'FEHLER'='red'}[$result])\"^>$result^</span^>\"}) -join [environment]::Newline; Send-MailMessage -To '%TO%' -Subject '%SUBJECT%' -BodyAsHtml -Body $report -SmtpServer '%SMTP%' -From '%FROM%'"
Ohhh jaaaaaaa einfach geil . Sei froh das ist ein Privileg!
Leute ich mach heute schon Freitag, und tschüssss ab ins Wochenende
Leute ich mach heute schon Freitag, und tschüssss ab ins Wochenende
Du hast es unvollständig kopiert...läuft doch...
Du hast auch sicher die Carets ^ vor den < und > drin?
An deiner stelle würde ich das sowieso als reines Powershell-Skript erstellen und nicht so einen MIX aus Batch und PS fabrizieren. Achtung den Code oben kannst du nicht 1 zu 1 in die PS übernehmen, da hier Sonderzeichen für die Verwendung innerhalb einer Batch maskiert wurden!!
An deiner stelle würde ich das sowieso als reines Powershell-Skript erstellen und nicht so einen MIX aus Batch und PS fabrizieren. Achtung den Code oben kannst du nicht 1 zu 1 in die PS übernehmen, da hier Sonderzeichen für die Verwendung innerhalb einer Batch maskiert wurden!!