WMI Hardware Monitors

This set of monitors performs status checks of typical hardware components and peripheral devices. Template contains "WMI Query" and "Script or Program" monitor types (thus requiring Professional 500 or higher license).

Some monitors should work right after adding the template; others should be adjusted first (WMI calls use devices identifiers, which generally differ from system to system).

Monitors list

The following monitors are included:
  • Hardware: CPU
  • Hardware: Disk drive
  • Hardware: Motherboard
  • Hardware: Network adapter
  • Hardware: RAM chip
  • Hardware: Thermal sensor
  • Peripheral: Desktop monitor
  • Peripheral: Printer
  • Peripheral: Battery/UPS charge
Hardware: CPU
For single-CPU systems, no additional settings required. For multiple-CPU systems, clone the monitor for every CPU you need to monitor; use the below PowerShell commands to see the list of CPUs:
$WQL = "Select * FROM Win32_Processor"
$WMI = Get-WMIObject -Namespace "root\cimv2" -Query $WQL
$WMI

Hardware: Disk drive
By default, monitors physical drive 0 (usually, that corresponds to logical disk C:). If multiple drives should be monitored, use the below PowerShell commands to get the list of available drives:
$WQL = "SELECT * FROM Win32_DiskDrive"
$WMI = Get-WMIObject -Namespace "root\cimv2" -Query $WQL
$WMI
Important: when specifying a device ID in monitor definition, make sure you type every backslash twice. I.e., if physical device ID is "\\.\PHYSICALDRIVE0", enter "\\\\.\\PHYSICALDRIVE0" in monitor definition (as first parameter of the script).

Hardware: Motherboard
Requires no customization.

Hardware: Network adapter
Specify numeric device ID before starting the monitor. To see available network adapters along with their IDs, open run privileged cmd.exe (right click, "Run as Administrator") and type the command
wmic nic list brief /format:list

Hardware: RAM chip
Checks hardware status of RAM module installed. Requires customization; before you run the monitor, use the below PowerShell commands to see the list of RAM chip IDs:
$WQL = "SELECT * FROM Win32_PhysicalMemory"
$WMI = Get-WMIObject -Namespace "root\cimv2" -Query $WQL
$WMI
Clone monitor and adjust device ID to monitor another chip.

Hardware: Thermal zone sensor
Thermal zone sensors are motherboard-supported hardware sensors reporting temperature of miscellaneous motherboard parts (such as CPU temperature). To get the device ID to monitor, use the below PowerShell commands:
$WQL = "SELECT * FROM MSAcpi_ThermalZoneTemperature"
$WMI = Get-WMIObject -Namespace "root\wmi" -Query $WQL
$WMI
Important: when specifying a device ID in monitor definition, make sure you type every backslash twice.

Peripheral: Desktop monitor
Default definition checks the first monitor (display) in the system. If you have several displays attached, clone the monitor and adjust the script first parameter, to query the status of different display. To get the list of known displays, use the below PowerShell commands:
$WQL = "SELECT * FROM Win32_DesktopMonitor"
$WMI = Get-WMIObject -Namespace "root\cimv2" -Query $WQL
$WMI

Peripheral: Printer
By default, attempts to monitor "Microsoft print to PDF" software printer status. To get the list of known printers, use the below elevated cmd.exe command to get printer names:
wmic printer list brief /format:list

Peripheral: Battery/UPS remaining charge
Requires no additional changes.

Remaining comments

1. By default, $HostName template variable is used in monitors definition, to connect to the corresponding host. You might need to change that to $HostDNS or $HostIP, if your host name differs from its DNS name or IP address.
2. Please find more information on the WMI calls mentioned in this template, in the below reference:
WMI HARDWARE PERFORMANCE COUNTERS
3. Note: if you monitor Windows-running virtual machine, certain hardware can't be monitored (for example, motherboard monitors might not work).
WMI Hardware Monitors.zip 8.6K Downloaded: 17142 times
Sign In or Register to comment.