Zautomatyzuj system Windows z Ansible Winrm

Zautomatyzuj system Windows z Ansible Winrm

Wiele osób ma nieporozumienia na temat Ansible i platform, które wspiera, wierząc, że jest to dostępne tylko dla Ubuntu. Jednak Ansible można również użyć do kontrolowania komputerów Windows, urządzeń podłączonych, urządzeń bezpieczeństwa internetowego, usług internetowych, aplikacji i innych rzeczy. Porozmawiamy o korzystaniu z systemu Windows z Ansible w tym samouczku.

Narzędzie konfiguracyjne Ansible może administrować i wykonywać niezbędne zadania w instalacjach systemu Windows, takie jak zdalne menedżerowie z WinRM i alertami ochrony. Pomimo wymagania, aby Ubuntu działało w Ansible, kontrolery Microsoft mogą administrować i zarządzać swoimi urządzeniami za pomocą ansible, pomimo wcześniejszych doświadczeń z terminalami Ubuntu. Microsoft Controllerów będą mogli administrować Microsoft Windows za pomocą Ansible w jakiś sposób, który jest dla nich istotny ze względu na natywną funkcję systemu Windows, która wykorzystuje Microsoft Windows PowerShell zdalny. Zaawansowane rozwiązania do kontrolowania i zarządzania platformami Microsoft Windows są zawarte w platformie oprogramowania Ansible do zarządzania organizacjami. Możesz zautomatyzować wdrażanie, aktywację oprogramowania i integrację systemu dla środowiska wieloosobowego za pomocą platformy oprogramowania Ansible.

W Ansible większość terminologii i wytycznych używanych do zarządzania zdalnymi hostami Linux, a także tych terminologii w równym stopniu do hostów Microsoft Windows. Ale nadal istnieją pewne szczególności, ilekroć dotyczy to zmiennych Ansible jak separatory ścieżki lub działania specyficzne dla OS. WinRM należy skonfigurować, aby umożliwić dostęp do systemów Windows z kontrolera Ansible. Możesz zostać zainicjowany za pomocą ansible dla Microsoft Windows w twoich ustawieniach tworzenia lub monitorowania, uruchamiając skrypt PowerShell. Każdy upoważniony host Microsoft Windows jest skonfigurowany przez skrypt dla WinRM.

Wymagania wstępne:

Upewnij się, że zawsze miałeś te wymagania:

Wersja: Będziemy korzystać z Ansible Controller wersja 2.9. Aby wprowadzić zmiany, potrzebujemy serwera kontrolującego dla Ansible, aw tym przypadku używamy Ansible jako kontrolera z adresem IP 192.168.5.220.

Host Windows: Wymagamy od nich interakcji z lokalnymi gospodarzami. Ponadto w tym przypadku używamy hosta Windows jako docelowego zdalnego serwera przez czas trwania operacji.

Pyton: Twoje urządzenie hosta kontrolera Ansible zostanie skonfigurowane do uruchamiania Pythona. Python użyje wersji 2, a wersja 3 jest również opcją.

Pakiet: Serwer hosta Windows zostanie skonfigurowany do instalacji pakietu „PIP”.

Windows Workstation: Będziesz musiał spędzić czas w konsoli Windows, ponieważ wstępnie skonfigurujemy hosta, którego Microsoft będzie użył do obsługi Ansible.

Power Shell: Serwer Windows będzie mógł kontrolować zdalny dostęp do PowerShell.

Przykład: Ustanowienie hosta Microsoft Windows, aby umożliwić połączenia z kontrolerem Ansible

W tym przykładzie najpierw będziemy pracować dla docelowego zdalnego hosta, którym jest Windows_Host. Następnie będziemy współpracować z Ansible, aby użytkownik nie będzie zamieszania.

Target Window_host

Nie ma serwerów potrzebnych dla Ansible. Tak więc zarówno SSH, jak i Windows Remote Manager są kompatybilne z systemem Windows WinRM. WinRM oznacza menedżera zdalnego systemu Windows i jest często używany nad SSH z powodu ścisłej integracji WinRM.

PS C: \ Windows \ System32> Winrm Pobierz Winrm/Config/Service

Skonfiguruj WinRM

Następnie zaktualizujemy WinRM w Microsoft Windows. Oprogramowanie Ansible utworzyło polecenia, które są dostępne do oceny WinRM i wykonania wymaganych korekt, aby Ansible mógł uzyskać dostęp do tych poleceń. Chociaż chcemy tylko wykorzystać podstawowe poświadczenia, dlatego wolimy zastosować coś bezpieczniejszego, aby uzyskać do niego dostęp. Poniżej znajdują się kroki aktualizacji WinRM:

Zapisanie ścieżki poleceń

Użyjemy poleceń, więc do tego najpierw uruchamiamy okno terminali Microsoft PowerShell, abyśmy mogli zapisać ścieżkę poleceń.

Ps c: \> $ url = "https: // raw.Githubusercontent.com/ansible/ansible/devel/przykłady/scenariusze/
ConfigUreREmotingForansible.PS1 "
Adres pamięci polecenia

Użyjemy poniższego adresu URL, abyśmy mogli łatwo przechowywać tam polecenia:

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

Pobierz polecenia i zaprezentuj je lokalnie

Teraz pobramy polecenia i wyświetlimy te polecenia w dokumencie lokalnym.

PS C: \> (System typu typu new -obiekty.Internet.WebClient).Pobierz plik ($ url, $ plik)

Uruchom polecenia

Aby wykonać, polecenie jest ścieżką, która zaprezentuje wykonanie dokumentu.

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

Po napisaniu powyższej ścieżki otrzymamy poniżej w PowerShell w systemie Windows.

Sprawdź łączność WinRM

To jest sprawdzenie, czy połączenie WinRM jest zbudowane z ansible, czy nie.

PS C: \> Winrm Enumerate Winrm/Config/Słuchaj

Jak pokazano, Ansible i Winrm są ze sobą kompatybilne.

Kontroler Ansible

Jest to praca w narzędziu ansible, a polecenia są używane przez kontroler, aby mógł skonfigurować informacje i zbudować połączenie między systemem Windows a Ansible. Najpierw stworzymy podręcznik.

Tworzenie podręcznika

Teraz będziemy zarządzać wdrażaniem i aktualizacją pakietów. W tym celu najpierw stwórzmy podręcznik w Ansible:

[root@master ansible]# nano Win_ping.yml

Oto deklaracja poradnika Ansible. Kiedy podręcznik wygrywa.YML jest tworzony, a następnie zostanie wprowadzony do nowego terminalu Ansible. Tutaj napiszmy hosty i zadanie, które chcemy wykonać. W Win_Ping.YML, po pierwsze nazywamy podręcznika, który chcemy zrobić w podręczniku.

Następnie napiszmy nazwę hostów, ponieważ konfigurujemy dane hosta Microsoft Windows. Tak więc nazwa hosta docelowego to „Windows_host”. Następnie przekazaliśmy opcję „Fałsz” do opcji Gather_Fact podręcznika, aby nie odzyskać informacji docelowego hosta systemu Windows w podręczniku. Następnie wymieniliśmy zadania w podręczniku. Chcemy sprawdzić połączenie między kontrolerem ANSable Playbook a docelowym hostem Windows, abyśmy przekazali nazwę podręcznika w zadaniu.

- Nazwa: test modułu Win_Ping
Hosty: Windows_host
stać się: fałszywy
GACED_FAFTS: FAŁSZ
Zadania:
- Nazwa: Połączenie testowe
Win_ping:

Tworzenie pliku zapasów

Po utworzeniu i zakończeniu podręcznika zbudujemy plik zapasów, abyśmy podali informacje o hoście systemu Windows tutaj. Napiszemy adres IP, nazwę użytkownika, hasło, nazwa połączenia, numer portu i sprawdzanie poprawności WINRM. To jest instrukcja, którą napiszemy, aby zbudować plik zapasów w Ansible.

[root@master ansible]# nano Win_ping.YML WSZYSTKO:
zastępy niebieskie:
Windows_host:
ansible_host: 192.168.5.220
ansible_user: ansible
ansible_password: ********
ansible_connection: Winrm
ansible_port: 5986
ansible_winrm_server_cert_validation: ignor

Po podaniu niezbędnych informacji o docelowym hosta Windows, wykonamy podręcznik wraz z plikami ekwipunku. Aby to zrobić, napisz poniższe polecenie:

[root@master ansible]# ansible-playbook Win_ping.YML -i Host.yml

Jak pokazano, połączenie między kontrolerem ansible a hostem Windows zostało pomyślnie wykonane.

Wniosek

Korzystając z pakietu WinRM w Ansible, nauczyliśmy się zautomatyzować Microsoft Windows w tym wykładzie. Szczegółowo opisaliśmy, jak skonfigurować host Microsoft Windows dla Ansible. Ansible to narzędzie, które historycznie było powiązane z Linuksem, chociaż z łatwością można je również wykorzystać w Microsoft Windows.