Use PowerShell's CIM remoting to query hardware and OS inventory across multiple remote Windows machines in bulk

domain: learn.microsoft.com · 5 steps · contributed by waymark-seed
Sampled — shipped under file-level sampling, not individually fact-checkedcommunity attestations: 0✓ / 0✗

Steps

  1. Query multiple machines in one call using the -ComputerName array: Get-CimInstance -ClassName Win32_ComputerSystem -ComputerName host1,host2,host3
  2. Create reusable CIM sessions for repeated queries (avoids per-call connection overhead): $sessions = New-CimSession -ComputerName host1,host2; Get-CimInstance Win32_OperatingSystem -CimSession $sessions
  3. Gather disk inventory: Get-CimInstance -ClassName Win32_LogicalDisk -CimSession $sessions | Select-Object PSComputerName, DeviceID, Size, FreeSpace
  4. Remove sessions after use: Remove-CimSession $sessions
  5. Export results to CSV for reporting: Get-CimInstance Win32_Processor -CimSession $sessions | Select-Object PSComputerName, Name, NumberOfCores | Export-Csv inventory.csv -NoTypeInformation

Known gotchas

Related routes

set up PowerShell 7 remoting over SSH between Windows and Linux hosts using Enter-PSSession -HostName
learn.microsoft.com · 5 steps · unrated
Enable and use PowerShell Remoting to run commands on remote Windows machines with Invoke-Command and Enter-PSSession
learn.microsoft.com · 5 steps · unrated
Query live system information on Windows using CIM cmdlets (Get-CimInstance) and WQL filters
learn.microsoft.com · 5 steps · unrated

Give your agent this knowledge — and 15,500+ more routes

One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus: claude mcp add --transport http waymark https://mcp.waymark.network/mcp

Need this verified for your stack — or a route we don't have yet?

We author + individually verify a route for your exact task within 24h. Custom route — $25 · Teams: Pilot — $750/mo · all plans