Quicklinks
NOTE: ActiveXperts Network Monitor ships with a large collection of PowerShell scripts to monitor any aspect of your network. Most PowerShell scripts also have a VBScript implementation. Download Now »
You can use any of the Powershell programs below in ActiveXperts Network Monitor. Click here for an explanation about how to include scripts in ActiveXperts Network Monitor.
################################################################################# # ActiveXperts Network Monitor PowerShell script, © ActiveXperts Software B.V. # For more information about ActiveXperts Network Monitor, visit the ActiveXperts # Network Monitor web site at http://www.activexperts.com ################################################################################# # Script # Cpu.ps1 # Description: # This script checks the cpu usage of the define processor on the define computer # Parameters: # 1) strComputer (string) - Hostname or IP address of the computer you want to monitor # 2) strCpu (string) - Either "cpu0" or "cpu2" or ... # 3) numMaxCpuUsage (number) - Limit, in % # 4) strAltCredentials (string, optional) - Alternate credentials # Usage: # Cpu.ps1 "" " " % " | <>" # Sample: # Cpu.ps1 "localhost" "cpu0" 50 ################################################################################# param ( [string]$strComputer, [string]$strCpu, [int]$numMaxCpuUsage, [string]$strAltCredentials ) cls if( [string]$strComputer -eq "" -or [string]$strCpu -eq "" -or $numMaxCpuUsage -eq "" ) { $res = "UNCERTAIN: Invalid number of parameters - Usage: .\cpu.ps1 Max_Cpu_Percent [alt-credentials]" echo $res exit } # Create cpu object if( [string]$strAltCredentials -eq "" ) { $colCpu = Get-WmiObject -ComputerName $strComputer -Class Win32_Processor } else { $objNmCredentials = new-object -comobject ActiveXperts.NMServerCredentials $strLogin = $objNmCredentials.GetLogin( $strAltCredentials ) $strPassword = $objNmCredentials.GetPassword( $strAltCredentials ) $strPasswordSecure =ConvertTo-SecureString -string $strPassword -AsPlainText -Force $objCredentials = new-object -typename System.Management.Automation.PSCredential $strLogin, $strPasswordSecure $colCpu = Get-WmiObject -ComputerName $strComputer -Class Win32_Processor -Credential $objCredentials } if($colCpu -eq $null ) { $res = "UNCERTAIN: Unable to connect. Please make sure that PowerShell and WMI are both installed on the monitered system. Also check your credentials" echo $res exit } foreach($objCpu in $colCpu) { if( $objCpu.DeviceID -eq $strCpu ) { if( $objCpu.LoadPercentage -gt $numMaxCpuUsage ) { $res = "ERROR: CPU usage=[" + $objCpu.LoadPercentage + "%], maximum allowed=[" + $numMaxCpuUsage + "%] DATA:" + $objCpu.LoadPercentage } else { $res = "SUCCESS: CPU usage=[" + $objCpu.LoadPercentage + "%], maximum allowed=[" + $numMaxCpuUsage + "%] DATA:" + $objCpu.LoadPercentage } echo $res exit } } $res = "UNCERTAIN: Unable to query [" + $strCpu + "] on computer [" + $strComputer + "]" echo $res exit