michi-ffm
Goto Top

HTML in Powershell

Hallo Zusammen,

vielleicht kann mir jemand behilflich sein?
Wie bekomme ich das hin, das in der eMail folgendes passiert:

IF (Ok dann Grüner Text) if (Fail dann Roter Text)

Hier der Code:
$ResultList = Foreach($File in $FilesToCheck){
    $Result = Get-Item -Path $File | Select-Object -Property FullName,@{'Name'='Status';Expression={If((Get-Date $_.LastWriteTime).Date -eq (Get-Date).Date ){'OK'}Else{'Failure'}}}  
    [PSCustomObject]@{
        'Path' = $Result.FullName  
        'Status' = $Result.Status  
    }
}


$Body = $ResultList | ConvertTo-Html -Fragment -AS Table

Content-Key: 336255

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

Printed on: April 23, 2024 at 09:04 o'clock

Mitglied: 132895
132895 Apr 27, 2017 updated at 07:50:41 (UTC)
Goto Top
$body = @"  
<style type="text/css">  
.ok td{color:green}
.error td{color:red}
</style>
<table>
    <tr><th>Path</th><th>Status</th></tr>
    $($filesToCheck |%{
         if ($_.LastwriteTime.Date -eq (get-date).Date){
             "<tr class=`"ok`"><td>$($_.Fullname)</td><td>OK</td></tr>"  
         }else{
             "<tr class=`"error`"><td>$($_.Fullname)</td><td>Failure</td></tr>"  
         }
    })
</table>
"@  
Member: michi-ffm
michi-ffm Apr 27, 2017 at 08:41:53 (UTC)
Goto Top
Vielen Dank sieht sehr vielversprechend aus face-smile
Jedoch wenn ich das so 1:1 übernehme ist mein Outpute Failure oder mach hier einen Fehler?

$ResultList = Foreach($File in $FilesToCheck){
    $Result = Get-Item -Path $File | Select-Object -Property FullName,@{'Name'='Status';Expression={If((Get-Date $_.LastWriteTime).Date -eq (Get-Date).Date ){'OK'}Else{'Failure'}}}  
    [PSCustomObject]@{
        'Path' = $Result.FullName  
        'Status' = $Result.Status  
    }

}
$Body = @"  
<style type="text/css">  
.ok td{color:green}
.error td{color:red}
</style>
<table>
    <tr><th>Path</th><th>Status</th></tr>
    $($FilesToCheck |%{
         if ($_.LastwriteTime.Date -eq (get-date).Date){
             "<tr class=`"OK`"><td>$($_.FullName)</td><td>OK</td></tr>"  
         }else{
             "<tr class=`"error`"><td>$($_.FullName)</td><td>Failure</td></tr>"  
         }
    })
</table>
"@  
Mitglied: 132895
132895 Apr 27, 2017 updated at 08:45:27 (UTC)
Goto Top
1:1 du bist gut face-big-smile, nee, mein Code ist alles was du brauchst! Dein Ding oben brauchst du nicht ..Du musst nur die Variable $filestocheck mit den Dateien füllen, alles andere ist in meinem Code schon drin.
Member: michi-ffm
michi-ffm Apr 27, 2017 at 09:10:13 (UTC)
Goto Top
autsch face-smile

Daten sind gefüllt, jedoch zeigt er mir Fail an obwohl die Dateien den aktuellen Datum haben ^^
Mitglied: 132895
132895 Apr 27, 2017 updated at 09:30:45 (UTC)
Goto Top
Nope, geht einwandfrei, du hast es falsch modifiziert ...
Member: michi-ffm
michi-ffm Apr 27, 2017 at 09:36:41 (UTC)
Goto Top
hm

Hier müsste doch gehen:
$FilesToCheck = Get-Content -Path "$PSScriptRoot\FileList.txt"  


$Body = @"  
<style type="text/css">  
.ok td{color:green}
.error td{color:red}
</style>
<table>
    <tr><th>Path</th><th>Status</th></tr>
    $($FilesToCheck |%{
         if ($_.LastwriteTime.Date -eq (get-date).Date){
             "<tr class=`"OK`"><td>$($_.FullName)</td><td>OK</td></tr>"  
         }else{
             "<tr class=`"error`"><td>$($_.FullName)</td><td>Failure</td></tr>"  
         }
    })
</table>
"@  
Mitglied: 132895
Solution 132895 Apr 27, 2017 updated at 09:39:10 (UTC)
Goto Top
Falsch!!!
In $filestocheck gehört eine Objekt-Auflistung von Get-ChildItem!!
Member: michi-ffm
michi-ffm Apr 27, 2017 at 09:46:30 (UTC)
Goto Top
Vielen Dank gerne würde ich dir für Get-ChildItem ein Bier ausgeben ^^