Talks PSRP over WinRM via pypsrp, one runspace pool per connection. Each getter sends one PowerShell script that projects cmdlet results onto flat fields and ends in ConvertTo-Json, so the Python side parses JSON, not text. Covers facts, interfaces, IP addresses, ARP, routes and services, plus service start/stop/restart/enable/disable. Service names are validated and quoted as PowerShell verbatim strings, typographic quotes included. Fixtures are synthetic: they pin down the JSON the scripts are designed to emit. tools/harvest.py records the real output from a host. Refs christianmanivong/netork#300
Synthetic fixtures
These files are what the driver's PowerShell scripts emit, not raw device
output: each script projects its cmdlet results onto flat, primitive fields and
ends in ConvertTo-Json. The shape is therefore this driver's own contract,
and the Python side is tested against it here.
What they cannot prove is that the scripts produce this shape on a real host (property names, Windows PowerShell 5.1 serialisation quirks). They are to be replaced by output recorded from a Windows Server and a Windows 11 client.