# WinRM

Il protocollo W`indows Remote Management` (`WinRM`) è impiegato da Ansible per la comunicazione con host Windows, a differenza delle macchine Unix, dove il collegamento avviene tramite SSH.

## Requisiti

Per configurare correttamente WinRM, è necessario soddisfare i seguenti requisiti:

- Installare il pacchetto `pywinrm` sul node-manager Ansible
- Windows 7, Windows Server 2008 o versioni successive sui nodi da gestire
- PowerShell 3.0 e .NET 4.0 o versioni successive
- Per configurare WinRM, bisogna eseguire sui nodi lo script ufficiale di Ansible `ConfigureRemotingForAnsible.ps1`. Questo crea due listener, uno per HTTP e uno per HTTPS, sulla macchina Windows. Genera inoltre un certificato autofirmato e implementata un sistema di autenticazione di tipo BASIC, che richiede un nome utente e una password

## Configurazione del playbook

Nel playbook, è necessario specificare le seguenti variabili:

- `ansible_user`
- `ansible_password`
- `ansible_connection`: deve essere impostato sul protocollo WinRM
- `ansible_winrm_server_cert_validation`: da essere impostare su *ignore* per evitare comunicazioni tramite HTTPS con i nodi. Poiché lo script genera un certificato autofirmato, questo non sarà riconosciuto come valido
