Automatiser les fenêtres avec ANSIBLE WINRM

Automatiser les fenêtres avec ANSIBLE WINRM

Beaucoup de gens ont des idées fausses sur ANSIBLE et les plates-formes qu'elle soutient, croyant qu'elle n'est accessible que pour Ubuntu. Cependant, ANSIBLE peut également être utilisé pour contrôler les PC Windows, les appareils connectés, les appareils de sécurité Internet, les services Web, les applications et d'autres choses. Nous allons parler de l'utilisation de Windows avec Ansible dans ce tutoriel.

L'outil de configuration Ansible peut administrer et effectuer des tâches essentielles dans les installations Windows, telles que les gestionnaires distants avec WinRM et les alertes de protection. Malgré l'exigence d'Ubuntu qu'ils fonctionnent dans ANSIBLE, les contrôleurs Microsoft peuvent administrer et gérer leurs appareils en utilisant ANSIBLE malgré une expérience antérieure avec les terminaux d'Ubuntu. Les contrôleurs Microsoft pourront administrer Microsoft Windows en utilisant ANSIBLE d'une sorte de manière qui leur est pertine. Les solutions avancées pour contrôler et gérer les plates-formes Microsoft Windows sont incluses dans la plate-forme logicielle ANSIBLE pour la gestion organisationnelle. Vous pouvez automatiser le déploiement, l'activation des logiciels et l'intégration du système pour un environnement multivaleur à l'aide de la plate-forme logicielle ANSIBLE.

Dans ANSIBLE, la plupart de la terminologie et des directives utilisées pour gérer les hôtes distants de Linux ainsi que ces terminologies s'appliquent également aux hôtes de Microsoft Windows. Mais il y a encore certaines particularités chaque fois qu'elle concerne les variables de séparateurs de chemin ANSIBLE comme des activités spécifiques au système d'exploitation. WinRM doit être configuré pour permettre l'accès aux systèmes Windows à partir du contrôleur ANSIBLE. Vous pouvez être initié en utilisant ANSIBLE pour Microsoft Windows dans vos paramètres de développement ou de surveillance en exécutant le script PowerShell. Chaque hôte Microsoft Windows autorisé est configuré par le script pour winrm.

Conditions préalables:

Veuillez vous assurer d'avoir toujours ces exigences:

Version: Nous allons utiliser la version 2 du contrôleur ANSIBLE.9. Pour qu'il apporte des modifications, nous avons besoin d'un serveur de contrôle pour ANSIBLE, et dans ce cas, nous utilisons ANSIBLE comme contrôleur avec l'adresse IP 192.168.5.220.

Hôte Windows: Nous les exigeons d'interagir avec les hôtes locaux. De plus, nous utilisons l'hôte Windows dans cette instance comme serveur distant cible pendant la durée de l'opération.

Python: Votre périphérique hôte de contrôleur ANSIBL sera configuré pour exécuter Python. Python utilisera la version 2, tandis que la version 3 est également une option.

Emballer: Le serveur hôte Windows sera configuré pour installer le package «PIP».

Windows Workstation: Vous devrez passer du temps dans une console Windows pendant que nous pré-configurez l'hôte que Microsoft utilisera pour gérer.

Coquille de puissance: Le serveur Windows aura la possibilité de contrôler l'accès à distance PowerShell.

Exemple: Établissement d'un hôte Microsoft Windows pour permettre des connexions avec un contrôleur ANSIBLE

Dans cet exemple, d'abord, nous travaillerons pour l'hôte distant cible qui est Windows_host. Ensuite, nous travaillerons avec ANSIBLE, il n'y aura donc pas de confusion pour l'utilisateur.

Target Window_host

Il n'y a aucun serveur nécessaire pour ANSIBLE. Ainsi, SSH et Windows Remote Manager sont compatibles avec Windows Winrm. WinRM signifie Windows Remote Manager et il est fréquemment utilisé sur SSH en raison de l'intégration serrée de WinRM.

PS C: \ Windows \ System32> winrm Get winrm / config / Service

Configurer le winrm

Après cela, nous allons mettre à jour le winrm dans Microsoft Windows. Le logiciel ANSIBLE a créé des commandes disponibles pour évaluer WinRM et effectuer les ajustements requis afin qu'Anible puisse accéder à ces commandes. Bien que nous voulions seulement utiliser des informations d'identification de base, nous préférerions donc utiliser quelque chose de plus sûr pour y accéder. Voici les étapes de la mise à jour du WinRM:

Enregistrer le chemin des commandes

Nous utiliserons les commandes, donc pour cela, nous lançons d'abord la fenêtre Terminal Microsoft PowerShell afin que nous puissions enregistrer le chemin des commandes.

Ps c: \> $ url = "https: // brut.githubusercontent.com / anible / anible / devel / exemples / scripts /
ConfigarinerMotingForansible.PS1 "
Adresse du stockage de la commande

Nous utiliserons l'URL ci-dessous afin que nous puissions facilement stocker les commandes là-bas:

Ps c: \> $ file = "$ env: temp \ configaringremotingforansible.PS1 "

Téléchargez les commandes et présentez-les localement

Maintenant, nous allons télécharger les commandes et nous afficherons ces commandes dans un document local.

PS C: \> (Système du New-Object-Typename.Filet.WebClient).DownloadFile ($ url, $ fichier)

Exécutez les commandes

Pour exécuter, la commande est le chemin qui présentera l'exécution du document.

PS C: \> PowerShell.exe -executionpolicy bypass -file $ fichier

Après avoir écrit le chemin ci-dessus, nous obtiendrons la sortie ci-dessous dans le PowerShell dans Windows.

Vérifiez la connectivité WinRM

Il s'agit de vérifier si la connexion du WinRM est construite avec Ansible ou non.

Ps c: \> winrm énumération winrm / config / écouteur

Comme indiqué, ANSIBLE et WINRM sont compatibles les uns avec les autres.

Contrôleur anible

Il s'agit du travail dans l'outil ANSIBLE et les commandes sont utilisées par le contrôleur afin qu'il puisse configurer les informations et créer la connexion entre Windows et ANIBLE. Tout d'abord, nous créerons le playbook.

Créer le livre de jeu

Maintenant, nous gérerons le déploiement et la mise à jour des packages. Pour cela, créons d'abord un livre de jeu dans ANSIBLE:

[root @ maître anible] # nano win_ping.YML

Voici la déclaration du livre de jeu ANSIBLE. Quand le livre de jeu Win_ping.YML est créé, puis il sera lancé dans le nouveau terminal d'Anible. Ici, nous écrire les hôtes et la tâche que nous voulons effectuer. Dans win_ping.yml, nous prénommandons le livre de jeu que nous voulons faire dans le livre de jeu.

Ensuite, nous écrivons le nom des hôtes, car nous configurons les données de l'hôte Microsoft Windows. Ainsi, le nom de l'hôte cible est "Windows_host". Ensuite, nous avons passé le «faux» à l'option Gather_fact du playbook afin qu'il ne récupérera pas les informations de l'hôte de Windows cible dans le livre de jeu. Ensuite, nous avons répertorié les tâches dans le livre de jeu. Nous voulons vérifier la connexion entre le contrôleur Playbook Ansible et l'hôte Windows Target, nous passerons donc le nom de Playbook dans la tâche.

- Nom: Test du module Win_ping
Hôtes: Windows_host
devenir: faux
rassemble_facts: faux
Tâches:
- Nom: Connexion de test
win_ping:

Création du fichier d'inventaire

Après la création et la résiliation du Playbook, nous créerons le fichier d'inventaire afin que nous fournirons les informations sur l'hôte Windows ici. Nous rédigerons l'adresse IP, le nom de l'utilisateur, le mot de passe, le nom de la connexion, le numéro de port et la validation WinRM. Ceci est la déclaration que nous écrivons pour construire le fichier d'inventaire dans ANIBLE.

[root @ maître anible] # nano win_ping.yml tout:
Hôtes:
Windows_host:
ANSIBLE_HOST: 192.168.5.220
ANIBLE_USER: ANSIBLE
ANSIBLE_PASSWORD: ********
ANSIBLE_CONNECTION: WINRM
ANSIBLE_PORT: 5986
anible_winrm_server_cert_validation: ignorer

Après avoir fourni les informations nécessaires sur l'hôte Windows cible, nous exécuterons le PlayBook avec le fichier d'inventaire. Pour ce faire, écrivez la commande ci-dessous:

[root @ maître anible] # anible-playbook win_ping.yml -i hôte.YML

Comme indiqué, la connexion entre le contrôleur ANSible et l'hôte Windows a été établie avec succès.

Conclusion

En utilisant le package WinRM dans ANSIBLE, nous avons appris à automatiser Microsoft Windows dans cette conférence. Nous avons décrit en détail comment configurer un hôte Microsoft Windows pour ANIBLE. ANSIBLE est un outil qui a toujours été associé à Linux, bien qu'il puisse également être utilisé sur Microsoft Windows avec facilité.