Ansible / Teil 5 – Windows-Maschinen als Clients hinzufügen (über SSH)
Ansible lässt sich als Server-Applikation so ohne weiteres zwar nicht unter Windows betreiben, als eingebundener Client ist dieses Betriebssystem dennoch administrierbar. Mittlerweile gibt es zwei Möglichkeiten dies zu tun, per WinRM oder SSH.
Wie eine Windows Maschine in Ansible nun über SSH eingebunden und administriert werden kann, zeigt der folgende Beitrag.
SSH ist von Haus aus unter Windows nicht aktiviert und muss als optionales Feature dazu installiert werden. Hierzu drücken wir auf der Windows-Zielmaschine die Windows-Taste und suche nach dem Begriff Optionales Feature hinzufügen.
Im neuen Fenster wählen wir Funktionen anzeigen, suchen nach ssh, wählen das Suchergebnis OpenSSH-Server aus und klicken auf weiter und installieren.
Nach der Installation sind zwar bereits alle notwendigen Portfreischaltungen eingerichtet worden, jedoch wurde der SSH-Server noch nicht gestartet. Sucht über die Windows-Taste nach dem Punkt Dienste, im darauffolgenden Fenster nach OpenSSH SSH Server, rechtsklickt auf den Eintrag und startet den Dienst mit Starten.
Damit wäre der Windows-Client auch schon vorbereitet. Nun fehlt nur noch das entsprechende Playbook. Das könnte in etwa folgendermaßen aussehen:
---
- hosts: windows
vars:
ansible_user: "username"
ansible_password: "password"
ansible_port: 22
ansible_ssh_common_args: '-o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null'
ansible_ssh_retries: 3
ansible_shell_type: cmd
ansible_become_method: runas
ansible_become_user: "{{ ansible_user }}"
tasks:
- name: Run remote PowerShell Script
win_command: powershell.exe -ExecutionPolicy ByPass -File C:\Users\username\Desktop\neu.ps1
Die Variablen für ansible_user und ansible_password müssen dem Benutzer entsprechend angepasst werden, der sich auf den Windows-Client anmelden soll um das Kommando ausführen zu können (Zeile 4 und 5). Außerdem ist der Dateipfad für die Powershell Datei ebenfalls anzupassen (Zeile 15).
Damit sind alle Vorbereitungen getroffen, das Playbook in gewohnter Manier auszuführen, um diesmal auch Windows Maschinen zu administrieren.