Bonjour,

En ce moment je déploie ansible sur une infrastructure variés, il fonctionne sur le protocole SSH donc sur du linux aucun soucis.

Par contre, sur l'environnement Windows c'est une autre histoire, car il ne connaît pas SSH. Il a son propre module d’administration à distance en ligne de commande : WinRM (Windows Remote Management).

Dans cet article, je fais un petit tuto sur l'installation de WinRM  sur 2008R2, j'ai eu quelques soucis car je n'avais pas les bons correctifs.

Ce que vous devez installer au préalable :

Remarque : Cela demande un redémarrage du serveur

Vérifiez si elle est installée :

PS C:UsersAdministrator> $PSVersionTable Name Value ---- ----- PSVersion 4.0 WSManStackVersion 3.0 SerializationVersion 1.1.0.1 CLRVersion 4.0.30319.34209 BuildVersion 6.3.9600.16406 PSCompatibleVersions {1.0, 2.0, 3.0, 4.0} PSRemotingProtocolVersion 2.2 PS C:UsersAdministrator>

Authentification de base autorisée.

Étant donné que l'Ansible actuel est développé sur la base de l'authentification de base, nous allons activer l'authentification de base.

PS C:UsersAdministrator>winrm set winrm/config/service/auth '@{Basic="true"}' Auth Basic = true Kerberos = true Negotiate = true Certificate = false CredSSP = false CbtHardeningLevel = Relaxed

Autorisation de se connecter via HTTP

PS C:UsersAdministrator> winrm set winrm/config/service '@{AllowUnencrypted="true"}' Service RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD) MaxConcurrentOperations = 4294967295 MaxConcurrentOperationsPerUser = 1500 EnumerationTimeoutms = 240000 MaxConnections = 300 MaxPacketRetrievalTimeSeconds = 120 AllowUnencrypted = true Auth Basic = true Kerberos = true Negotiate = true Certificate = false CredSSP = false CbtHardeningLevel = Relaxed DefaultPorts HTTP = 5985 HTTPS = 5986 IPv4Filter = * IPv6Filter = * EnableCompatibilityHttpListener = false EnableCompatibilityHttpsListener = false CertificateThumbprint AllowRemoteAccess = true

Ensuite, il faut lancer ce script

https://github.com/ansible/ansible/blob/devel/examples/scripts/ConfigureRemotingForAnsible.ps1

Et voilà, c'est assez simple, il faut bien avoir les KB pour que cela fonctionne, je le combine avec Jenkins pour lancer des scripts de manière centraliser, très pratique.