Ansible - Installation WinRM sur Windows Serveur 2008R2

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 :
-
Windows Management Framework 4.0
https://www.microsoft.com/fr-fr/download/details.aspx?id=40855 -
Microsoft .NET Framework 4.5.2
https://www.microsoft.com/en-us/download/details.aspx?id=42643
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.