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
8 lines
410 B
JSON
8 lines
410 B
JSON
[
|
|
{"name": "WinRM", "state": "Running", "start_mode": "Auto", "pid": 1234},
|
|
{"name": "Spooler", "state": "Stopped", "start_mode": "Manual", "pid": 0},
|
|
{"name": "MSSQL$SQLEXPRESS", "state": "Running", "start_mode": "Auto", "pid": 4321},
|
|
{"name": "RemoteRegistry", "state": "Stopped", "start_mode": "Disabled", "pid": 0},
|
|
{"name": "wuauserv", "state": "Stopped", "start_mode": "Manual", "pid": null}
|
|
]
|