General
First off, decide on the transport.
- Install an agent where the Icinga node talks to
- Query the services remotely
If your master/satellite instance cannot connect to the agent, you need to ensure that the agent can either connect to the parent node (Icinga 2 protocol) or send the check results with a different method (REST API on the parent node e.g.).
Agents
Install the Icinga agent on the Windows host and use it a command execution bridge (command_endpoint)
This way, communication uses TLS and connections can be established either from the agent to the master/satellite or vice versa.
The Icinga agent allows you to execute check scripts and plugins locally.
- vbs and Powershell scripts
- Icinga plugins provided with the agent installer package
- Local NSClient++ checks (check_nscp_api, nscp-local)
The Icinga Template Library provides many CheckCommand definitions out of the box already.
Remote Queries
WMI
Enable the WMI interface and query the Windows host using check_wmi_plus.
An example can be found here.
SNMP
Older systems also support SNMP on Windows.