List all running processes with memory usage: Get-CimInstance -ClassName Win32_Process | Select-Object Name, ProcessId, WorkingSetSize
Filter using the -Filter parameter (WQL WHERE syntax, not PowerShell): Get-CimInstance -ClassName Win32_Service -Filter "State = 'Running' AND StartMode = 'Auto'"
Use a full WQL query string: Get-CimInstance -Query "SELECT * FROM Win32_Process WHERE WorkingSetSize > 104857600"
Query a remote machine: Get-CimInstance -ClassName Win32_OperatingSystem -ComputerName <HOSTNAME>
Get-CimInstance uses DCOM/WinRM for remote queries; Get-WmiObject (PowerShell 5.1, deprecated in PowerShell 7) used DCOM only. Prefer Get-CimInstance for new scripts.
The -Filter parameter uses WQL syntax, not PowerShell syntax: string comparisons use single quotes (State = 'Running'), not double quotes.
Some Win32_ classes return different properties depending on the OS version; always validate property names against the live schema on the target OS.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp