{"id":189,"date":"2019-08-18T09:51:25","date_gmt":"2019-08-18T07:51:25","guid":{"rendered":"https:\/\/jochem.jochemenbianca.nl\/?p=189"},"modified":"2019-08-18T09:55:05","modified_gmt":"2019-08-18T07:55:05","slug":"ansible-windows-modules","status":"publish","type":"post","link":"https:\/\/jochem.jochemenbianca.nl\/?p=189","title":{"rendered":"Ansible Windows Modules"},"content":{"rendered":"<p>Aangezien er weinig ICT omgevingen zijn die uit alleen 1 OS bestaan, en Ansible zowel Linux als Windows kan automatiseren, ben ik ook eens gaan kijken naar de Windows modules voor ansible.<\/p>\n<p>Om Windows via Ansible te automatiseren gebruiken we, in tegenstelling tot ssh onder Linux, WinRM. We zullen dus Ansible moeten uitbreiden om hier gebruik van te kunnen maken. Dat doen we door het volgende commando op de Ansible master te starten<\/p>\n<pre>pip install <span class=\"s2\">\"pywinrm&gt;=0.3.0\"<\/span><\/pre>\n<p>Op de Windows machine runnen we het volgende commando in PowerShell:<\/p>\n<pre><span class=\"k\">Set<\/span><span class=\"o\">-<\/span><span class=\"n\">Item<\/span> <span class=\"o\">-<\/span><span class=\"n\">Path<\/span> <span class=\"n\">WSMan<\/span><span class=\"p\">:<\/span><span class=\"err\">\\<\/span><span class=\"n\">localhost<\/span><span class=\"err\">\\<\/span><span class=\"n\">Service<\/span><span class=\"err\">\\<\/span><span class=\"n\">Auth<\/span><span class=\"err\">\\<\/span><span class=\"n\">Basic<\/span> <span class=\"o\">-<\/span><span class=\"n\">Value<\/span> <span class=\"err\">$<\/span><span class=\"k\">true<\/span><\/pre>\n<pre><span class=\"k\">Set<\/span><span class=\"o\">-<\/span><span class=\"n\">Item<\/span> <span class=\"o\">-<\/span><span class=\"n\">Path<\/span> <span class=\"n\">WSMan<\/span><span class=\"p\">:<\/span><span class=\"err\">\\<\/span><span class=\"n\">localhost<\/span><span class=\"err\">\\<\/span><span class=\"n\">Service<\/span><span class=\"err\">\\<\/span><span class=\"n\">AllowUnencrypted<\/span> <span class=\"o\">-<\/span><span class=\"n\">Value<\/span> <span class=\"err\">$<\/span><span class=\"k\">true<\/span><\/pre>\n<p>Er zullen vast nog enkele andere dingen moeten worden ingesteld. Maar op https:\/\/docs.ansible.com\/ansible\/latest\/user_guide\/windows_winrm.html vind je een uitgebreide handleiding wat je allemaal kan\/moet instellen<\/p>\n<p>We maken vervolgens een entry aan in de hosts file voor de Windows machine:<\/p>\n<pre>[windows]\r\n192.168.1.2\r\n\r\n[windows:vars]\r\nansible_user=Administrator\r\nansible_password=Secret\r\nansible_connection=winrm\r\nansible_winrm_server_cert_validation=ignore\r\n<\/pre>\n<p>Vervolgens maken we een playbook welke een bestand aanmaakt, new_file.txt, in de C:\\Temp map onder windows:<\/p>\n<pre>---\r\n- hosts: windows\r\n  connection: winrm\r\n  gather_facts: no\r\n  tasks:\r\n  - name: Create file\r\n    win_file:\r\n      path: C:\\Temp\\new_file.txt\r\n      state: touch\r\n<\/pre>\n<p>Als we dit opslaan als windows1.yml en dan het volgende commando uitvoeren zou het bestand aangemaakt moeten worden:<\/p>\n<pre>ansible-playbook windows1.yml\r\n<\/pre>\n<p>Dit resulteert in het volgende filmpje<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/www.youtube.com\/embed\/LkskiaPp088\" width=\"800\" height=\"600\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Aangezien er weinig ICT omgevingen zijn die uit alleen 1 OS bestaan, en Ansible zowel Linux als Windows kan automatiseren, ben ik ook eens gaan kijken naar de Windows modules voor ansible. Om Windows via Ansible te automatiseren gebruiken we, in tegenstelling tot ssh onder Linux, WinRM. We zullen dus [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6,3],"tags":[],"class_list":["post-189","post","type-post","status-publish","format-standard","hentry","category-ansible","category-open-source"],"_links":{"self":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=189"}],"version-history":[{"count":6,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/189\/revisions"}],"predecessor-version":[{"id":195,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=\/wp\/v2\/posts\/189\/revisions\/195"}],"wp:attachment":[{"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jochem.jochemenbianca.nl\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}