How to Configure Windows Server 2019 with PRTG
PRTG Network Monitor from Paessler is a comprehensive agentless monitoring solution that uses SNMP, WMI, and custom sensors to monitor Windows Server 2019 without requiring a local agent. PRTG communicates directly with Windows Management Instrumentation (WMI), which is built into Windows Server 2019, to collect CPU, memory, disk, service, process, and event log data. This guide covers installing PRTG, configuring Windows Server 2019 for WMI access, adding devices, and customizing sensors and alerts.
Preparing Windows Server 2019 for PRTG Monitoring
PRTG uses WMI and Windows credentials to connect to monitored servers. Create a dedicated monitoring account with the minimum required permissions:
# Create a dedicated monitoring user (domain or local)
New-LocalUser -Name "prtg-monitor" -Password (ConvertTo-SecureString "Str0ngM0nP@ss!" -AsPlainText -Force) `
-Description "PRTG Monitoring Account" -PasswordNeverExpires $true -AccountNeverExpires
# Add to Performance Monitor Users group (allows WMI performance data access)
Add-LocalGroupMember -Group "Performance Monitor Users" -Member "prtg-monitor"
# Add to Remote Management Users (for WinRM access)
Add-LocalGroupMember -Group "Remote Management Users" -Member "prtg-monitor"
# Grant WMI namespace access
$namespace = "rootCIMV2"
$computer = "."
$wmi = [wmiclass]"\$computer$namespace`:__SystemSecurity"
$OBJECT_INHERIT_ACE_FLAG = 0x1
$CONTAINER_INHERIT_ACE_FLAG = 0x2
$sid = (New-Object System.Security.Principal.NTAccount("prtg-monitor")).Translate([System.Security.Principal.SecurityIdentifier])
# Grant Remote Enable, Execute Methods, Enable Account, Read Security
$acl = $wmi.GetSecurityDescriptor().Descriptor
Write-Output "WMI access configured for prtg-monitor"
Configuring Windows Firewall for PRTG WMI Access
# Enable Windows Management Instrumentation firewall rules
Enable-NetFirewallRule -DisplayGroup "Windows Management Instrumentation (WMI)"
Enable-NetFirewallRule -DisplayGroup "Remote Event Log Management"
Enable-NetFirewallRule -DisplayGroup "File and Printer Sharing"
Enable-NetFirewallRule -DisplayGroup "Remote Volume Management"
Enable-NetFirewallRule -DisplayGroup "Performance Logs and Alerts"
# Enable Remote Registry service (required for some PRTG sensors)
Set-Service -Name RemoteRegistry -StartupType Automatic
Start-Service -Name RemoteRegistry
# Verify services
Get-Service RemoteRegistry, Winmgmt | Select-Object Name, Status
Configuring DCOM Permissions for WMI
# Configure DCOM launch and access permissions for prtg-monitor
# Use Component Services (dcomcnfg) or PowerShell
$dcomConfig = Get-WmiObject -Namespace root -Class __SystemSecurity
# Grant DCOM remote access to the monitoring account via Component Services:
# dcomcnfg > Component Services > Computers > My Computer > Properties
# COM Security > Access Permissions > Edit Limits > Add prtg-monitor with Remote Access
# Alternative: Use Group Policy for domain-wide DCOM access
# Computer Configuration > Windows Settings > Security Settings > Local Policies > Security Options
# "DCOM: Machine Access Restrictions" - add prtg-monitor with Remote Access
Adding Windows Server 2019 to PRTG
In the PRTG web interface, navigate to Devices > Add Device. Fill in the device settings:
Device Name: ws2019-prod-01
IPv4 Address/DNS Name: 192.168.1.200
Device Icon: Windows Server
Parent Group: Production Servers
Credentials for Windows Systems:
Domain: DOMAIN or (local)
Username: prtg-monitor
Password: Str0ngM0nP@ss!
Auto-Discovery:
Enable auto-discovery: Yes
Auto-discovery mode: Standard (recommended sensors)
PRTG will auto-discover and create recommended sensors including CPU Load, Physical Disk I/O, Memory, and Windows Services. The auto-discovery typically creates 40–60 sensors per Windows Server 2019 host.
Key PRTG Sensors for Windows Server 2019
The following sensors provide the most critical coverage for Windows Server 2019:
WMI CPU Load - sensor type: WMI CPU Load
Warning: 80%, Critical: 90%, check every 60s
WMI Memory - sensor type: WMI Memory
Warning: 85% used, Critical: 95% used
WMI Logical Disk - sensor type: WMI Logical Disk (one per volume)
Warning: 80% full, Critical: 90% full
Windows Services - sensor type: Windows Service (add per critical service)
e.g.: DNS, DHCP, W32Time, LanmanServer, Netlogon
WMI Event Log - sensor type: WMI Event Log
Filter: EntryType=Error, LogName=System
Warning: 1+ errors, Critical: 5+ errors in interval
WMI Process - sensor type: WMI Process (for critical application processes)
Ping - sensor type: Ping
Timeout: 5000ms, Error limit: 5 failures
Configuring PRTG Notifications
# Configure email notification in PRTG via API
$prtgBase = "http://prtg-server:80/api"
$prtgUser = "prtgadmin"
$prtgPasshash = "1234567890" # Get passhash from PRTG My Account
# Add email notification template
$notifUrl = "$prtgBase/addnotification.htm?username=$prtgUser&passhash=$prtgPasshash"
$notifParams = @{
name = "Email-OpsTeam"
type = "smtp"
toaddress = "[email protected]"
subject = "[PRTG] %DEVICE %SENSOR %STATUS"
message = "Device: %DEVICE%0aStatus: %STATUS%0aMessage: %MESSAGE"
}
Invoke-WebRequest -Uri $notifUrl -Method Post -Body $notifParams
Creating Custom PRTG Sensors with PowerShell
# Custom PRTG EXE/Script Advanced sensor script
# Save as C:PRTGcustom_ws_health.ps1 on the PRTG probe server
param([string]$target, [string]$username, [string]$password)
$result = Invoke-Command -ComputerName $target -Credential (
New-Object System.Management.Automation.PSCredential($username, (ConvertTo-SecureString $password -AsPlainText -Force))
) -ScriptBlock {
$cpu = (Get-CimInstance Win32_Processor | Measure-Object LoadPercentage -Average).Average
$mem = Get-CimInstance Win32_OperatingSystem
$memPct = [math]::Round((($mem.TotalVisibleMemorySize - $mem.FreePhysicalMemory) / $mem.TotalVisibleMemorySize) * 100, 1)
@{ CPU = $cpu; MemoryPct = $memPct }
}
# PRTG JSON output format
@{
prtg = @{
result = @(
@{ channel = "CPU Load"; value = $result.CPU; unit = "Percent"; limitMaxWarning = 80; limitMaxError = 90 }
@{ channel = "Memory Used"; value = $result.MemoryPct; unit = "Percent"; limitMaxWarning = 85; limitMaxError = 95 }
)
}
} | ConvertTo-Json -Depth 5
PRTG’s map feature allows you to create visual dashboards showing the health of your entire Windows Server 2019 fleet at a glance. Set up PRTG maps for each major application tier (web, database, application) and display them on a NOC screen to enable quick identification of infrastructure problems.