Grundlegendes
Es ist durchaus doch immer wieder nützlich einzelne Parameter des Betriebssystems oder von einzelnen Komponenten abzurufen. So wäre es doch z.B. bei einer Festplatte interessant, welche Temperatur diese aktuell hat bzw. wie hoch der maximale Wert war. Hier bin ich letztens auf ein interessantes Programm mit dem Namen Open Hardware Monitor gestoßen. Damit lassen sich relativ einfach verschiedene Werte wie z.B. Lüftergeschwindigkeit, CPU Spannung, Temperaturen etc. vom System auslesen. Weiterhin handelt es sich bei diesem Programm um eine Open-Source-Software.

Nachdem Download des Programms muss man prinzipiell nur noch die .exe Datei starten und schon werden die verschiedenen Werte angezeigt. Der Open Hardware Monitor trägt sich auch automatisch in die Schnellstart-leiste der Taskbar mit ein.

Was bei dem Open Hardware Monitor noch ein großer Vorteil ist, ist das sämtliche Daten der Sensoren auch an WMI (Windows Management Instrumentation) weitergeleitet werden, wodurch die Parameter von anderen Programmen wie z.B. der Windows PowerShell weiterverarbeitet werden können. Für den Zusammenhang, wie man die WMI verwendet gibt es auch ein pdf Dokument.
Beispielscript
Mit dem folgendem kleinen PowerShell Script möchte ich demonstrieren, wie einfach man die Parameter auslesen und ggf. Handlungen vornehmen kann. Im ersten Teil des Scripts wird geprüft ob der Open Hardware Monitor läuft. Falls nicht, so wird er anschließend gestartet. Beachten muss man natürlich, dass der entsprechende Pfad angepasst wird. Über eine Endlossschleife (While) prüft man nun ständig die Temperatur der Festplatte. Sollte Sie einen gewissen vorher definierten Wert überschreiten, so könnte man eine bestimmte Handlung vornehmen. Wie gesagt das Script dient in erster Linie zur Veranschaulichung der Anbindung des Open Hardware Monitors und WMI.
#Überprüfung, ob der openhardwaremonitor läuft!
$ProcessName = "openhardwaremonitor"
if((get-process $ProcessName -ErrorAction SilentlyContinue) -eq $Null)
{ Start-Process -FilePath "C:\Program Files (x86)\OpenHardwareMonitor\OpenHardwareMonitor.exe" -WindowStyle Minimized}
else
{ echo " openhardwaremonitor läuft bereits! " }
#Zu überprüfende Temperatur
$hddtemp0=34
#Endlosschleife
while($true)
{
$hddtemp = Get-WmiObject -namespace root\openhardwaremonitor -class sensor | Where-Object {$_.SensorType -Match "temp" -and $_.Identifier -like "*HDD*"}
ForEach($HDD In $hddtemp)
{if($HDD.value -gt $hddtemp0 )
{$mytest = $HDD.value
Write-Host $mytest"°C Hdd Temperatur hoch"
}
else
{$mytest = $HDD.value
Write-Host $mytest" Alles in Ordnung"
}
}
Write-Host " "
Write-Host "Neuer Test startet gleich!"
Write-Host " "
Start-Sleep 10
}
Fazit
Bei diesem Programm handelt es ich meiner Meinung nach um ein sehr nützliches Tool. Gerade der Zusammenhang mit WMI birgt doch großen Einsatzmöglichkeiten.