Wie kann ich im folgendem Powershell Script eine Farbige Ausgabe erzielen?
Habe folgenden Code, welcher auch funktioniert: #_________________________HAUPTPROGRAMM_______________________________________________________________________________________________________________________________________________________________________#
$empfaengerMail = Get-Content "C:\Users\ms\Desktop\empfaenger.txt"
$datum = get-date -uFormat "%d.%m.%Y"
$wochentag = Get-Date -format dddd
$kalenderwoche = [System.Globalization.DateTimeFormatInfo]::CurrentInfo.Calendar.GetWeekOfYear((get-date),2,1)
$servers = Get-Content "C:\Users\ms\Desktop\Servers.txt"
$ab = gwmi Win32_LogicalDisk -ComputerName $servers -Filter "DriveType='3'" | select Systemname,DeviceID,@{n="Speicherplatz (GB)";e={"{0:F2}" -f ($_.Size / 1GB)}},@{n="Freier Speicherplatz (GB)";e={"{0:F2}" -f ($_.Freespace / 1GB)}}
$ab | Sort-Object Systemname | Format-List -GroupBy Systemname | Out-File "C:\Speicherplatz CST-Server\Speicherplatz_$datum.txt" -Encoding UTF8
#_________________________VERSENDEN DER LOGFILES_____________________________________________________________________________________________________________________________________________________________#
#_________________________VERSENDEN VIA SMTP_________________________________________________________________________________________________________________________________________________________________#
$emailSmtpServer = "dominica.cst.lokal"
$emailSmtpServerPort = "587"
$emailSmtpUser = "benutzername"
$emailSmtpPass = "passwort"
$attachment = "C:\Speicherplatz CST-Server\Speicherplatz_$datum.txt"
$attach = New-Object Net.Mail.Attachment($attachment)
$emailMessage = New-Object System.Net.Mail.MailMessage
$emailMessage.Attachments.Add($attach)
$emailMessage.From = "Speicherplatz Manager <support@creativesoftware.de>"
$emailMessage.To.Add( "support@creativesoftware.de" )
$emailMessage.Subject = "CST: Speicherplatz Übersicht am $wochentag KW$kalenderwoche"
$emailMessage.IsBodyHtml = $true
$emailMessage.Body = @"
<p>Speicherplatz von CST in Übersicht</p>
<p></p>
<p>Anbei der Speicherplatz als Textdatei angehängt!</p>
<p></p>
<p>Stand: $datum</p>
"@
$SMTPClient = New-Object System.Net.Mail.SmtpClient( $emailSmtpServer , $emailSmtpServerPort )
$SMTPClient.EnableSsl = $true
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential( $emailSmtpUser , $emailSmtpPass );
$SMTPClient.Send( $emailMessage )
Dies wird alles in einer schönen HTML Tabelle ausgegeben. Nun möchte ich, dass das Feld mit Freespace rot wird, wenn es unter 15% fällt.... Ich weiß aber nicht wie das geht
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>
Kein style... Elemente mit Inline-Style ausgeben lassen.
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:
Warum funktioniert jetzt folgendes nicht: