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
| Content | Type | Function |
|---|---|---|
| CPU Temperature Monitor - Create | Script | Create and configure the remote monitor on the end machine. |
| CPU Temperature Monitor - Manage | Client Script | Manages and maintains the remote monitors created on the end machines. |
Monitor
| Content | Type | Function |
|---|---|---|
| Execute Script - CPU Temperature Monitor - Create | Internal Monitor | Executes the above script against the concerned physical Windows machines. |
| CPU Temperature Monitoring Process | Remote Monitor | Performs the monitoring. |
Alert Template
| Content | Type | Function |
|---|---|---|
| △ CUSTOM - Execute Script - CPU Temperature Monitor - Create | Alert Template | Executes the above script against the machines detected by the internal monitor. |
Implementation
-
Import the CPU Temperature Monitor - Create script from the ProSync plugin.
-
Import the CPU Temperature Monitor - Manage script from the ProSync plugin.
-
Import the Execute Script - CPU Temperature Monitor - Create internal monitor from the ProSync plugin.
-
Import the alert template named
△ CUSTOM - Execute Script - CPU Temperature Monitor - Createfrom the ProSync plugin. -
Execute the
CPU Temperature Monitor - Createscript on any online Windows computer. Make sure to set the ‘Set_Environment’ parameter to1. This will create the EDFs and system properties.

-
Reload the system cache and verify the existence of the EDFs and the system property as detailed in the script documentation.
-
Adjust the values in the system properties (or the EDFs) as needed.
-
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.
-
Configure the solution as follows:
- Navigate to Automation --> Monitors within the CWA Control Center and set up the following:
- Execute Script - CPU Temperature Monitor - Create
- Configure with the alert template:
△ CUSTOM - Execute Script - CPU Temperature Monitor - Create - Right-click and Run Now to start the monitor
- Configure with the alert template:
- Execute Script - CPU Temperature Monitor - Create
- Schedule the CPU Temperature Monitor - Manage script to run daily.

- Navigate to Automation --> Monitors within the CWA Control Center and set up the following:
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.exetool 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