Wie kann ich im folgendem Powershell Script eine Farbige Ausgabe erzielen?

1 Antwort

Indem du den Wert für den noch verfügbaren Speicherplatz abprüfst (bzw. ob der Wert bereits unter 15% liegt - Stichwort Dreisatz) und je nachdem entweder einen font-Tag um den Text einfügst oder nicht.

<font color="red">DEIN WERT</font>

Ebenso sollte es funktionieren, im td-Tag die Farbe zu setzen:

<td style="color:red">DEIN WERT</td>

Kneipenbubi99 
Beitragsersteller
 23.11.2017, 16:10

Warum funktioniert jetzt folgendes nicht:

$datum = get-date -uFormat "%d.%m.%Y"

$servers = Get-Content "C:\Users\ms\Desktop\Servers.txt"
$freiN = @{n="Freier Speicherplatz (GB)";e={"{0:F2}" -f ($_.Freespace / 1GB)}}
$gesamt = @{n="Speicherplatz (GB)";e={"{0:F2}" -f ($_.Size / 1GB)}}
$status = @{n="aktueller Status"; ;e={"{0:F2}" -f (($_.Freespace / $_.Size)*100)}}

foreach ($servers in $server)
{
if ($status -lt 15)
{
$header = "
td {width:100px; max-width:300px; background-color:red;}
table {width:100%;}
th {font-size:14pt;background-color:yellow;}"
}
else
{
$header = "
td {width:100px; max-width:300px; background-color:green;}
table {width:100%;}
th {font-size:14pt;background-color:yellow;}"
}
}

$ab = gwmi Win32_LogicalDisk -ComputerName $servers -Filter "DriveType='3'" | select Systemname,DeviceID,$gesamt,$freiN,$status

$ab | ConvertTo-Html -Head $header | Out-File "C:\Users\ms\Desktop\test1.html"

Invoke-Expression "C:\Users\ms\Desktop\test1.html"
0
regex9  23.11.2017, 17:12
@Kneipenbubi99

Die meisten E-Mail-Dienste haben nur einen geringen Support von HTML-Elementen oder anderen Webtechniken wie CSS. Du solltest daher wenn Inline-Styles nutzen oder solche veralteten Tags wie font.

Lies hier mehr dazu:

1