Automatisieren Sie Fenster mit Ansible WinRM

Automatisieren Sie Fenster mit Ansible WinRM

Viele Menschen haben Missverständnisse über Ansible und die von ihnen unterstützten Plattformen und glauben, dass es nur für Ubuntu zugänglich ist. Ansible kann jedoch auch zur Steuerung von Windows -PCs, verbundenen Geräten, Internet -Sicherheitsgeräten, Webdiensten, Anwendungen und anderen Dingen verwendet werden. Wir werden über die Verwendung von Windows mit Ansible in diesem Tutorial sprechen.

Das Ansible -Konfigurationstool kann wesentliche Aufgaben in Windows -Installationen verwalten und ausführen, z. B. Remote -Manager mit WinRM- und Schutzwarnungen. Obwohl Microsoft Controller Ubuntu in Ansible operieren müssen, können sie ihre Geräte trotz vorheriger Erfahrung mit Ubuntu -Terminals verwalten und verwalten. Microsoft Controller können Microsoft Windows auf eine Weise verwalten, die für sie aufgrund der nativen Windows -Funktionalität relevant ist, die Microsoft Windows PowerShell Remote verwendet. Erweiterte Lösungen zur Steuerung und Verwaltung von Microsoft Windows -Plattformen sind in der Ansible -Softwareplattform für das Organisationsmanagement enthalten. Sie können Bereitstellungen, Softwareaktivierung und Systemintegration für eine Multivendor -Umgebung mit Hilfe der Ansible -Softwareplattform automatisieren.

In Ansible gelten die meisten Terminologie und Richtlinien zur Verwaltung von Remote -Hosts von Linux sowie diese Terminologien gleichermaßen für Microsoft Windows -Hosts. Es gibt jedoch immer noch bestimmte Besonderheiten, wenn es sich um Variablen von Ansible wie Pfadabscheider oder OS-spezifische Aktivitäten handelt. WinRM muss eingerichtet werden, um den Zugriff auf Windows -Systeme vom Ansible Controller zu ermöglichen. Sie können mithilfe von Ansible für Microsoft Windows in Ihren Entwicklungs- oder Überwachungseinstellungen eingeleitet werden, indem Sie das PowerShell -Skript ausführen. Jeder autorisierte Microsoft Windows -Host wird vom Skript für WinRM konfiguriert.

Voraussetzungen:

Bitte stellen Sie sicher, dass Sie immer diese Anforderungen hatten:

Ausführung: Wir werden Ansible Controller Version 2 verwenden.9. Um Änderungen vorzunehmen, benötigen wir einen Steuerserver für Ansible, und in diesem Fall verwenden wir Ansible als Controller mit der IP -Adresse 192.168.5.220.

Windows Host: Wir verlangen von ihnen, dass sie mit den lokalen Wirten interagieren. Darüber hinaus verwenden wir den Windows -Host in dieser Instanz als Ziel -Remote -Server für die Dauer des Vorgangs.

Python: Ihr Ansible Controller -Host -Gerät wird so konfiguriert, dass er Python ausführt. Python verwendet Version 2, während Version 3 auch eine Option ist.

Paket: Der Windows -Host -Server wird so konfiguriert, dass das PIP -Paket installiert wird.

Windows Workstation: Sie müssen Zeit an einer Windows-Konsole verbringen, während wir den Host vorkonfigurieren, den Microsoft verwendet.

Power Shell: Der Windows -Server kann PowerShell Remote -Zugriff steuern.

Beispiel: Erstellen eines Microsoft Windows -Host

In diesem Beispiel werden wir zunächst für den Ziel -Remote -Host arbeiten, der Windows_Host ist. Dann werden wir mit Ansible arbeiten, damit der Benutzer keine Verwirrung gibt.

Zielfenster_Host

Für Ansible sind keine Server erforderlich. Sowohl SSH- als auch Windows Remote Manager sind also mit Windows WinRM kompatibel. WinRM bezeichnet Windows Remote Manager und es wird aufgrund der engen Integration von WinRM häufig über SSH verwendet.

PS C: \ Windows \ System32> WinRM GET WinRM/CONFORT/Service

Richten Sie die WinRM ein

Danach werden wir die WinRM in Microsoft Windows aktualisieren. Die Ansible -Software verfügt. Obwohl wir nur grundlegende Anmeldeinformationen verwenden möchten, würden wir es vorziehen, etwas sichereres zu verwenden, um darauf zuzugreifen. Im Folgenden finden Sie die Schritte für das Update des WinRM:

Speichern des Befehlspfads

Wir werden die Befehle verwenden. Dafür starten wir zuerst das Microsoft PowerShell -Terminalfenster, damit wir den Befehlsweg speichern können.

PS C: \> $ url = "https: // raw.GithubuSercontent.com/ansible/ansible/Devel/Beispiele/Skripte/
ConfigurerEmoting forAansible.PS1 "
Adresse des Speichers des Befehls

Wir werden die folgende URL verwenden, damit wir die Befehle dort problemlos speichern können:

PS C: \> $ file = "$ env: temp \ configurerEmotingforsible.PS1 "

Laden Sie die Befehle herunter und präsentieren Sie sie lokal

Jetzt werden wir die Befehle herunterladen und diese Befehle in einem lokalen Dokument anzeigen.

PS C: \> (New -Object -Type -System -System.Netz.Webclient).DownloadFile ($ url, $ file)

Führen Sie die Befehle aus

Um auszuführen, ist der Befehl der Pfad, der die Ausführung des Dokuments zeigt.

PS C: \> PowerShell.exe -executionPolicy Bypass -file $ Datei

Nachdem wir den obigen Weg geschrieben haben, erhalten wir die folgende Ausgabe in der PowerShell in Windows.

Überprüfen Sie die WinRM -Konnektivität

Dies soll überprüfen, ob die Verbindung des WinRM mit Ansible gebaut wird oder nicht.

PS C: \> WinRM Enumerate WinRM/Konfiguration/Hörer

Wie gezeigt, sind Ansible und WinRM miteinander kompatibel.

Ansible Controller

Dies ist die Arbeit im Ansible -Tool und die Befehle werden vom Controller verwendet, damit die Informationen konfiguriert und die Verbindung zwischen Windows und Ansible erstellt werden können. Erstens werden wir das Spielbuch erstellen.

Erstellen des Spielbuchs

Jetzt verwalten wir die Bereitstellung und Aktualisierung von Paketen. Lassen Sie uns zuerst ein Spielbuch in Ansible erstellen:

[root@master ansible]# nano Win_Ping.YML

Hier ist die Erklärung des Ansible Playbooks. Wenn das Playbook Win_Ping.YML wird erstellt, dann wird es in das neue Terminal von Ansible gestartet. Hier schreiben wir die Hosts und die Aufgabe, die wir ausführen möchten. In Win_Ping.YML, wir nennen vor dem Spielbuch das Spielbuch, das wir im Spielbuch machen möchten.

Dann schreiben wir den Namen der Hosts, da wir die Daten des Microsoft Windows -Hosts konfigurieren. Der Name des Zielhosts lautet also "windows_host". Anschließend haben wir die Option „Falsch“ an die Option Cause_fact des Playbooks übergeben, damit die Informationen des Ziel Windows -Hosts im Spielbuch nicht abgerufen werden. Als nächstes haben wir die Aufgaben im Spielbuch aufgeführt. Wir möchten die Verbindung zwischen dem Ansible Playbook Controller und dem Ziel Windows -Host überprüfen, damit wir den Spielbuchnamen in der Aufgabe übergeben werden.

- Name: Win_Ping Modul -Test
Hosts: Windows_Host
werden: falsch
sammeln_facts: false
Aufgaben:
- Name: Testverbindung
win_ping:

Erstellen der Inventardatei

Nach der Erstellung und Beendigung des Spielbuchs erstellen wir die Inventardatei, damit wir die Informationen zum Windows -Host hier bereitstellen. Wir schreiben die IP -Adresse, den Namen des Benutzers, das Kennwort, die Verbindungsname, die Portnummer und die WinRM -Validierung. Dies ist die Anweisung, die wir schreiben werden, um die Inventardatei in Ansible zu erstellen.

[root@master ansible]# nano Win_Ping.yml alle:
Gastgeber:
Windows_Host:
Ansible_Host: 192.168.5.220
ansible_user: Ansible
ansible_password: ********
Ansible_Connection: WinRM
ansible_port: 5986
ansible_winrm_server_cert_validation: Ignorieren

Nachdem wir die erforderlichen Informationen über den Ziel Windows -Host bereitgestellt haben, werden wir das Spielbuch zusammen mit der Inventardatei ausführen. Schreiben Sie dazu den Befehl unten:

[Root@Master Ansible]# Ansible-Playbook Win_Ping.YML -ich Host.YML

Wie gezeigt, wurde die Verbindung zwischen dem Ansible -Controller und dem Windows -Host erfolgreich hergestellt.

Abschluss

Mit dem WinRM -Paket in Ansible haben wir gelernt, wie man Microsoft Windows in dieser Vorlesung automatisiert. Wir haben ausführlich beschrieben, wie ein Microsoft Windows -Host für Ansible eingerichtet wird. Ansible ist ein Tool, das historisch gesehen mit Linux in Verbindung gebracht wurde, obwohl es mit Microsoft Windows auch mühelos verwendet werden kann.