Powershell, Lokales Ergebnis und Server Ergebnis unterschiedlich
Hallo,
ich hoffe ihr könnt mir helfen. Ich bin so langsam echt am verzweifeln...
Zu meinem Problem:
Ich soll für meinen Ausbilder ein Powershell Skript entwerfen dass den Freien Speicherplatz auf den Serverlaufwerken berechnet und ab einer bestimmten Grenze eine Email schickt.
Nun muss ich dazu sagen das ich noch ein absoluter Powershellneuling bin, aber ich hab alles hinbekommen so wie er es wollte.
Serverlaufwerke werden ausgelesen, Ergebnis in einer HTML Datei gespeichert, und wenn die Warngrenze erreicht wurde wird das HTML File als Email verschickt.
Mein Problem ist jetzt folgendes:
Wenn ich das Skript LOKAL ausführe bekomm ich wie gewollt als letzte Spalte in der Email die Prozentangabe des freien Speichers.
Auf dem Server (Windows Server 2003) jedoch nicht!
Weiss jemand woran das liegen könnte?!?
Hier mal mein Skript:
ich hoffe ihr könnt mir helfen. Ich bin so langsam echt am verzweifeln...
Zu meinem Problem:
Ich soll für meinen Ausbilder ein Powershell Skript entwerfen dass den Freien Speicherplatz auf den Serverlaufwerken berechnet und ab einer bestimmten Grenze eine Email schickt.
Nun muss ich dazu sagen das ich noch ein absoluter Powershellneuling bin, aber ich hab alles hinbekommen so wie er es wollte.
Serverlaufwerke werden ausgelesen, Ergebnis in einer HTML Datei gespeichert, und wenn die Warngrenze erreicht wurde wird das HTML File als Email verschickt.
Mein Problem ist jetzt folgendes:
Wenn ich das Skript LOKAL ausführe bekomm ich wie gewollt als letzte Spalte in der Email die Prozentangabe des freien Speichers.
Auf dem Server (Windows Server 2003) jedoch nicht!
Weiss jemand woran das liegen könnte?!?
Hier mal mein Skript:
$Empfaenger = "bla@blabla.com"
$Absender = error@blabla.com"
$WarnLimit = "15"
function sendmail($mail)
{
$body = get-content "d:\log.html"
$SmtpServer = "10.1.1.105"
$SmtpClient = new-object system.net.mail.smtpClient
$MailMessage = New-Object system.net.mail.mailmessage
$SmtpClient.Host = "$SmtpServer"
$mailmessage.from = "$Absender"
$mailmessage.To.add("$Empfaenger")
$mailmessage.Subject = “Serverlaufwerk fast voll!!!”
$MailMessage.IsBodyHtml = $true
$mailmessage.Body = $body
$smtpclient.Send($mailmessage)
}
$a = "<style>"
$a = $a + "BODY{background-color:peachpuff;}"
$a = $a + "TABLE{border-width: 1px;border-style: solid;border-color: black;border-collapse: collapse;}"
$a = $a + "TH{border-width: 1px;padding: 5px;border-style: solid;border-color: black;background-color:thistle}"
$a = $a + "TD{border-width: 1px;padding: 5px;border-style: solid;border-color: black;background-color:PaleGoldenrod}"
$a = $a + "</style>"
$festplatten = gwmi win32_logicaldisk -filter "drivetype=3" | select SystemName,DeviceID,VolumeName,@{Name="Size";Expression={"{0:N1}" -f ($_.Size/1gb)}},@{Name="FreeSpace";Expression={"{0:N1}" -f ($_.FreeSpace/1gb)}},@{Name="Prozent";Expression={($_.FreeSpace / $_.Size)*100}} | convertto-html -property SystemName,DeviceID,VolumeName,FreeSpace,Prozent -head $a –body "<H2>Freier Speicher</H2>" | Out-File d:\log.html
$disks = gwmi win32_logicaldisk -filter "drivetype=3" | select Size,FreeSpace
foreach ($disk in $disks)
{
$FreierSpeicher = ($disk.freespace / 1GB)
$GesamtSpeicher = ($disk.Size / 1GB)
$FreierSpeicherProzent = (($disk.freespace / $disk.Size)*100)
if ($FreierSpeicherProzent -lt $WarnLimit)
{
$i++
}
}
if ($i -gt 0)
{
sendmail $mail
}
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 136719
Url: https://administrator.de/forum/powershell-lokales-ergebnis-und-server-ergebnis-unterschiedlich-136719.html
Ausgedruckt am: 23.12.2024 um 06:12 Uhr
4 Kommentare
Neuester Kommentar