Windows Warneinrichtung über Batch bauen für Cpu, GPU und Ram Temp?


12.08.2023, 01:44

wmic /namespace:\\root\wmi path MsAcpi_ThermalZoneTemperature get Currenttemperature funktioniert zwar,

ich werde aber nicht fündig was ich mir unter diesen thermischen zonen vorstellen kann bzw. wie ich daraus auf eine Überhitzung schließen soll.

Ich nutze windows 10

2 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Mit "Windows-Bordmitteln", also per Batch ohne Third-Party-Tools, geht das nicht. Ich habe die Erfahrung gemacht, dass man per WMI entweder gar keine oder unsinnige Ergebnisse bekommt.

Ich habe mir dann eine Temperaturwarnung mit CoreTemp gebastelt.

CoreTemp startet eine von mir erstellte Batch, wenn eine Temperaturgrenze erreicht ist.

Hier ist meine "alarm.bat":

 @echo off
set starttime=%TIME%
:start
echo Alarm! (%starttime%)^G
timeout /t 10 >nul:
goto start:

---

Hinweis: ^G ist der Bell Character. Windows gibt einen Signalton aus wenn der Bell Character vom Echo-Befehl ausgegeben wird.

Es ist allerdings etwas tricky den Bell Character einzufügen, da man in dem meisten Umgebungen keine Steuerzeichen (Controltaste+Buchstabe) eingeben kann.

Ich würde also in der Eingabeaufforderung ein echo ^G>alarm.bat eingeben und dann mit Notepad in der alarm.bat den obigen Code einfügen (das Steuerzeichen wird in Notepad als leerer Kasten angezeigt).

Achtung: Bei ^G>alarm.bat nicht das ^ Zeichen und dann den Buchstaben G eingeben, sondern Controltaste und G drücken!

Woher ich das weiß:eigene Erfahrung

Mit Batch geht das erstmal garnicht!

Da wirst Du auch nicht viel erfolgversprechendes finden. Jeder Hardwarehersteller kocht bezüglich der Sensorik sein eigenes Süppchen.

Grafikkartenhersteller haben in ihren Treiberbibliotheken entsprechende Funktionen, auf die man mit systemnahen Programmiersprachen zurgeifen kann.

Bei Mobo und CPU sieht die Sache wesentlich schlechter aus. Selbst wenn der eine oder andere Hersteller überhaupt Treiber bereitstellt bieten die wenigsten Schnittstellen zu evtl verbauten Sensoren. Hinzukommt, dass das WMI bei eingeschalteter Hardwarvirtualisierung nicht mehr auf die Bios-Schnittstellen zugreifen kann.

ausnahmsweise muss ich ChatGPT mal recht geben...😏

Das Deine WMIC-Abfrage überhaupt ein Ergebnis liefert grenzt an ein kleines Wunder. (läuft Dein Rechner etwa ohne Virtualisierung?) Leute welche sich überhaupt noch mit der Temperaturerfassung via WMI beschäftigen, haben ihre Informationen aus ferner Zeit und betreiben ihre Geräte noch immer ohne Virtualisierung.

Der von MsAcpi_ThermalZoneTemperature erfasste Sensor (falls überhaupt vorhanden) kann irgendwo auf den MoBo verbaut sein und erfasst sozusagen die "Umgebungstemperatur". Dieser ist vergleichbar mit einem Küchentermometer ... dem ist es egal ob der Kuchen im Backrohr in Flammen steht.

Programme wie Coretemp müssen schon gewaltig tricksen um sich die Nötigen Daten zu verschaffen. Coretemp schiebt eine Art Kernelmode-Treiber unter das System.

Woher ich das weiß:eigene Erfahrung – Ich mach das seit 30 Jahren