Gérer des serveurs Windows avec Ansible : Points clés

Gérer des serveurs Windows avec Ansible
Gérer des serveurs Windows avec Ansible

Introduction :

Ansible offre une solution automatisée pour la gestion des serveurs Windows, permettant d’accomplir diverses tâches administratives telles que :

  • Gestion des utilisateurs et groupes : Création, modification et suppression d’utilisateurs et de groupes Windows à l’aide des modules win_user et win_group.
  • Installation de fonctionnalités Windows : Installation et configuration de fonctionnalités Windows spécifiques à l’aide du module win_feature.
  • Gestion de paquets Chocolatey : Installation, mise à jour et suppression de paquets logiciels via le gestionnaire de paquets Chocolatey avec le module Win_chocolatey.
  • Collecte d’informations système : Récupération d’informations sur les fichiers, répertoires et variables d’environnement Windows à l’aide des modules Win_stat et Win_env.
  • Mise à jour du système d’exploitation : Installation des mises à jour Windows et des correctifs de sécurité avec le module Win_update.
  • Redémarrage des serveurs : Redémarrage des serveurs Windows avec Ansible à distance à l’aide du module Win_reboot.

Remarques importantes :

  • Alternatives à Ansible : Il existe d’autres outils plus adaptés à la gestion native des machines Windows, tels que l’utilisation directe de WinRM sur PowerShell ou l’adoption de Microsoft Endpoint Configuration Manager (MECM) ou intune pour le cloud.
  • Performance : Ansible peut s’avérer moins performant sur Windows que sur les machines Linux en raison de l’architecture et des protocoles de communication sous-jacents.

Exemple :

fichier hosts.ini et de modules Ansible pour la gestion de machines Windows.
Ce fichier définit les machines Windows que vous souhaitez gérer avec Ansible et leurs informations de connexion.

fichier hosts.ini

[windows]
windows2022 ansible_host=127.0.0.1
[windows:vars]
ansible_user=vagrant
ansible_password=vagrant
ansible_connection=winrm
ansible_port=5986 # Port HTTP (pour HTTPS, utilisez 5986)
ansible_winrm_server_cert_validation=ignore
ansible_winrm_scheme=https
ansible_become_method=runas
ansible_become_user=SYSTEM

Modules Ansible dans un playbook

Ce playbook utilise plusieurs modules Ansible pour effectuer différentes tâches sur une machine Windows nommée windows2022.

name: Gérer la machine Windows2022
hosts: windows
become: true 

tasks:

  name: Vérifier la connectivité
  win_ping:

  name: Créer un utilisateur avec un mot de passe expiré
  win_user:
    name: nouvel_utilisateur
    password: MonNouveauMotDePasse
    password_expired: true

  name: Créer un groupe
  win_group:
    name: nouveau_groupe

  name: Installer une fonctionnalité Windows
  win_feature:
    name: Web-Server
    state: present

  name: Installer un logiciel avec Chocolatey
  win_chocolatey:
    name: notepadplusplus
    state: present

  name: Obtenir des informations sur un fichier
  win_stat:
    path: 'C:/Windows/System32/notepad.exe'

  name: Définir une variable d'environnement
  win_env:
    name: PATH
    value: 'C:/Program Files/Notepad++'
    append: yes

  name: Exécuter une mise à jour Windows
  win_update:
    state: latest

  name: Redémarrer la machine
  win_reboot:

Explication du playbook


Ce playbook effectue les tâches suivantes :

  1. Vérifie la connectivité à la machine Windows2022 avec le module win_ping.
  2. Crée un utilisateur nommé nouvel_utilisateur avec le module win_user et définit son mot de passe sur MonNouveauMotDePasse, en le marquant comme expiré.
  3. Crée un groupe nommé nouveau_groupe avec le module win_group.
  4. Installe la fonctionnalité Windows Web-Server avec le module win_feature.
  5. Installe le logiciel notepadplusplus en utilisant Chocolatey avec le module win_chocolatey.
  6. Récupère des informations sur le fichier C:/Windows/System32/notepad.exe avec le module win_stat.
  7. Définit la variable d’environnement PATH pour inclure le répertoire C:/Program Files/Notepad++ avec le module win_env.
  8. Exécute une mise à jour Windows pour installer les derniers correctifs de sécurité avec le module win_update.
  9. Redémarre la machine pour appliquer les modifications.

Conclusion

Ansible offre une solution viable pour l’automatisation de tâches administratives sur des serveurs Windows, mais il est crucial de considérer ses limitations en termes de performance et d’explorer les alternatives natives de Microsoft, en particulier pour les environnements Windows à grande échelle ou critiques. Le choix de l’outil dépend des besoins spécifiques, des préférences et de l’expertise de l’administrateur système.

En résumé, Ansible peut être un outil précieux pour gérer les serveurs Windows, mais il est important de l’utiliser judicieusement en tenant compte de ses avantages et de ses limites.

Automation Experts

Rejoignez-nous pour une newsletter exclusive sur l'automatisation des experts informatique !

Obtenez les dernières tendances, astuces et outils pour optimiser vos processus, accélérer vos projets et libérer tout le potentiel de l'automatisation dans le monde de la technologie. Abonnez-vous dès maintenant pour rester à la pointe de l'innovation et transformer votre manière de travailler."

Comments

No comments yet. Why don’t you start the discussion?

    Alors tu en pense quoi de cette article ? Dis-moi tous..