Windows - Conceitos Básicos

Windows & Ansible - Conceitos básicos

Há algumas diferenças na utilização de Ansible para gerenciar servidores Windows quando comparados com os servidores Linux.

Forma de Conexão

A primeira diferença é na forma de conexão entre o Ansible Control e o host. É utilizado o Windows Remote Management (WinRM), que é a implementação da Microsoft do Web Services Management (WS-Man), um padrão aberto do Distributed Management Task Force (DMTF), em que se utiliza um web service baseado em SOAP para gerência remota de diversos dispositivos.1
Recentemente, a Microsoft disponibilizou uma implementação do OpenSSH Client e Server nativa para Windows 10 e Server 20162. No PowerShell Core é possível utilizar o SSH para estabelecer sessões remotas.3 Entretanto, ainda não há suporte dessa funcionalidade no Ansible.

PowerShell

A segunda diferença é o uso de scripts PowerShell no lugar do Python na execução das tasks nos hosts. Ao gerenciar servidores Linux, o Ansible converte as playbooks em scripts Python que são transferidos via SSH para os hosts e executados remotamente.
No caso do Windows, são gerados scripts PowerShell que são transferidos via WinRM (utilizando a biblioteca pywinrm), para então serem executados nos hosts.