Files
learning/ansible/007-winrm.md
2025-09-12 21:50:55 +02:00

34 lines
1.6 KiB
Markdown
Raw Permalink Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, tramite il comando `pip install pywinrm`
- Windows 7, Windows Server 2008 o versioni successive sui nodi da gestire
- PowerShell3.0 e .NET4.0 o versioni successive
- Per configurare WinRM, bisogna eseguire sui nodi lo script ufficiale di Ansible [`ConfigureRemotingForAnsible.ps1`](https://github.com/ansible/ansible-documentation/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1). Questo crea due listener, uno per il protocollo HTTP e uno per il protocollo 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
```yaml
---
- name: example winrm
hosts: winhost
tasks:
- name: install Firefox
win_chocolatey:
name: firefox
state: latest
force: yes
```