Skip to main content

CPU Temperature Monitoring

Purpose

The goal of this solution is to monitor the CPU temperature of physical Windows machines using the Libre Hardware Monitor.

Associated Content

Script

ContentTypeFunction
CPU Temperature Monitor - CreateScriptCreate and configure the remote monitor on the end machine.
CPU Temperature Monitor - ManageClient ScriptManages and maintains the remote monitors created on the end machines.

Monitor

ContentTypeFunction
Execute Script - CPU Temperature Monitor - CreateInternal MonitorExecutes the above script against the concerned physical Windows machines.
CPU Temperature Monitoring ProcessRemote MonitorPerforms the monitoring.

Alert Template

ContentTypeFunction
△ CUSTOM - Execute Script - CPU Temperature Monitor - CreateAlert TemplateExecutes the above script against the machines detected by the internal monitor.

Implementation

  1. Import the CPU Temperature Monitor - Create script from the ProSync plugin.

  2. Import the CPU Temperature Monitor - Manage script from the ProSync plugin.

  3. Import the Execute Script - CPU Temperature Monitor - Create internal monitor from the ProSync plugin.

  4. Import the alert template named △ CUSTOM - Execute Script - CPU Temperature Monitor - Create from the ProSync plugin.

  5. Execute the CPU Temperature Monitor - Create script on any online Windows computer. Make sure to set the ‘Set_Environment’ parameter to 1. This will create the EDFs and system properties.
    Image

  6. Reload the system cache and verify the existence of the EDFs and the system property as detailed in the script documentation.
    Image

  7. Adjust the values in the system properties (or the EDFs) as needed.

  8. Run the CPU Temperature Monitor - Create script on a physical Windows machine. Check the configuration and operation of the remote monitor created by the script.

  9. Configure the solution as follows:

Updating Existing Deployments

If this solution was deployed in your environment before 2026-04-02 and you are now upgrading to the updated CPUTempMon.exe file and associated scripts, make sure those updated components are pushed back out to all applicable machines.

The recommended method is to make a small change to the CPUTempMon_Interval_Seconds system property and then run the CPU Temperature Monitor - Manage script. For example, if the current value is 300, change it to 310 and then execute the Manage script. The Manage script will detect that the existing monitor-set configuration no longer matches the configured values and will automatically run the CPU Temperature Monitor - Create script against the affected machines, forcing the monitor set to be recreated and redeploying the updated files.

If a partner is using the _Automation Directory - Remove Obsolete .ps1 [Change] remote monitor, verify that it is up to date and that its exclusions properly account for CPUTempMon so the deployed files are not removed unintentionally.

FAQ

Q: Is it accurate to state that tickets generated by the remote monitor are automatically closed upon the resolution of the identified issue?

A: Affirmative, tickets are configured to be automatically closed subsequent to the resolution of the associated issue. However, it's important to note that if there are any modifications to the monitor set's configuration during the interval between the generation of the ticket and the resolution of the issue, the auto-closure of tickets will not be executed.

Q: What types of machines should this solution be applied to?

A: This solution is intended for physical Windows machines. The remote monitor is designed with physical Windows endpoints in mind, and the Create script should be used to deploy the monitor set only where CPU temperature monitoring is relevant and supported.

Q: What happens if direct hardware temperature readings are blocked by the device manufacturer or BIOS?

A: CPUTempMon first attempts to read sensors through Libre Hardware Monitor. If that direct method is blocked, it falls back to WMI thermal-zone readings. If both methods are unavailable on the endpoint, the tool returns an empty sensor list instead of failing.

Q: Does CPUTempMon require administrative privileges?

A: Yes. CPUTempMon should be run with Administrator privileges. Without elevation, the utility may return empty sensor arrays because access to hardware sensors and WMI thermal data can be restricted.

Q: When should the CPU Temperature Monitor - Manage script be used after initial deployment?

A: The Manage script should be scheduled to run daily and can also be used whenever configuration values are changed in system properties or EDFs. If it detects that an installed monitor set differs from the configured values, it will trigger the CPU Temperature Monitor - Create script to rebuild the monitor set with the correct configuration.

Changelog

2026-04-02

  • Modified and hosted the CPUTempMon.exe tool on our file server.
  • Code signed the tool.
  • Code signed the PowerShell scripts used in solution.
  • Added rollout guidance for updating existing deployments.
  • Expanded the FAQ section.

2025-04-10

  • Initial version of the document