9 Voorbeelde van Playbooks vir Windows-administrasie

Ek sal u ‘n aantal bewerkings wys wat ‘n administrateur op ‘n eksterne Windows-stelsel kan doen met behulp van ‘n verantwoordelike-speelboek.


Ansible is een van die mees gebruikte DevOps-instrumente wat tans in die mark is. Dit bied ‘n klomp venstermodules wat gebruik word om die Windows-bediener op te stel en te bestuur. Ek neem aan dat u Ansible alreeds op Windows geïnstalleer het waar u die Windows-bedieners wil bestuur.

Die volgende is enkele van die gereeld gebruikte take wat deur Windows-administrateurs daagliks uitgevoer word. U sal verbaas wees om te sien hoe maklik dit Windows toegedien word met behulp van Ansible.

Die IP-adres van my antwoordbare Windows-beheermasjien is 192.168.0.106, en my eksterne Windows-stelsel se IP-adres is 192.168.0.102. Voordat u aan die gang is, moet u seker maak dat u ‘n win_ping-module bestuur om te kontroleer of u met ‘n eksterne Windows Server-bediener kan koppel.

[Email protected] ~
$ verantwoordelike wen -m win_ping
192.168.0.102 | SUKSES => {
"verander": onwaar,
"ping": "pong"
}

My verbinding met ‘n afgeleë gasheer is suksesvol.

Laat ons dus begin met Ansible Playbooks …

Kopieer lêers

win_copy is ‘n verantwoordelike module wat ‘n lêer vanaf die plaaslike bediener na ‘n eksterne Windows-gasheer kopieer. Ek sal hierdie module gebruik om ‘n enkele PDF te kopieer.

Gebruik die onderstaande YAML-kode, gee die bron- en bestemmingspaaie.

[Email protected] ~
$ vi copy.yml

– gashere: wen

take:

– naam: Kopieer lêer

win_copy:

src: C: \ output.pdf

dest: C: \ ansible_examples \

remote_src: ja

Begin die verantwoordelike-speelboek vir win_copy.

[Email protected] ~
$ ansible-playbook copy.yml

SPEEL [wen] *********************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

TAAK [Copy File] ********************************************** ************************************************** ******************************
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 2 verander = 1 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

Die lêer is suksesvol gekopieër op die bestemmingsplek op ‘n eksterne vensterstelsel.

verantwoordelike vensters kopie

Installeer / verwyder Installeer MSI

Om ‘n toepassing met die MSI-lêer te installeer, moet u die win_get_url gebruik om die pad van die MSI-lêer te noem en die win_package-module te gebruik om dit te installeer. Die huidige toestand beteken dat die MSI op die masjien geïnstalleer sal word, en die toepassing is in die huidige toestand.

Hier installeer ek Apache.

YAML-kode wat gebruik gaan word:

[Email protected] ~
$ vi msi.yml

– naam: Apache MSI installeer
gashere: wen

take:
– naam: Laai die Apache-installeerder af
win_get_url:
url: https://archive.apache.org/dist/httpd/binaries/win32/httpd-2.2.25-win32-x86-no_ssl.msi
dest: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi

– naam: Installeer MSI
win_package:
pad: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi
toestand: teenwoordig

Begin die ansible-playbook om te installeer met behulp van MSI.

[Email protected] ~
$ ansible-playbook msi.yml

SPEEL [Apache MSI installeer] ********************************************* ************************************************** *******************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

TAAK [Laai die installasie van Apache af] ******************************************** ************************************************** ************
verander: [192.168.0.102]

TAAK [Installeer MSI] ********************************************** ************************************************** ****************************
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 3 verander = 2 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

Gaan nou na die Windows-stelsel en kyk of die apache-program suksesvol geïnstalleer is.

C: \ Users \ geekflare>CD C: \ Programlêers (x86) \ Apache Software Foundation \ Apache2.2 \ bin
C: \ Programlêers (x86) \ Apache Software Foundation \ Apache2.2 \ bin>httpd -v
Bedienerweergawe: Apache / 2.2.25 (Win32)
Bediener gebou: 10 Julie 2013 01:52:12

U kan ook toepassings installeer met behulp van MSI met argumente. Hieronder is dieselfde voorbeeld as hierbo, maar in plaas van ‘n toestand, gebruik ons ​​’n installasie-argument om apache te installeer.

YAML-kode wat gebruik gaan word:

– naam: Apache MSI installeer

gashere: wen

take:

– naam: Laai die Apache-installeerder af

win_get_url:

url: https://archive.apache.org/dist/httpd/binaries/win32/httpd-2.2.25-win32-x86-no_ssl.msi

dest: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi

– naam: Installeer MSI

win_package:

pad: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi

argumente:

– / installeer

– / passiewe

– / norestart

Om ‘n toepassing met behulp van die MSI-lêer te verwyder, moet u die win_package-module gebruik. Die staat wat afwesig is, beteken dat die aansoek met die MSI-lêer verwyder sal word.

Hier verwyder ek Apache.

[Email protected] ~
$ vi uninstall_msi.yml

– naam: Apache MSI verwyder

gashere: wen

take:

– naam: Oninstalleer MSI

win_package:

pad: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi

toestand: afwesig

Begin die ansible-playbook om met MSI te verwyder.

[Email protected] ~
$ ansible-playbook uninstall_msi.yml

SPEEL [Oninstallering van Apache MSI] ********************************************* ************************************************** *******************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [Uninstall MSI] ********************************************** ************************************************** **************************
verander: [192.168.0.102]

SPEEL RECAP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 2 verander = 1 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

As ek nou die apache-weergawe nagaan, sal ek die onderstaande uitset kry, aangesien die aansoek verwyder is.

C: \ Programlêers (x86) \ Apache Software Foundation \ Apache2.2 \ bin>httpd -v ‘httpd’ word nie erken as ‘n interne of eksterne opdrag nie,
uitvoerbare program of groeplêer.

Deïnstalleer sagteware (.EXE)

U kan ook sagteware met .exe-lêer verwyder deur die produk-ID van die sagteware te gebruik.

[Email protected] ~
$ vi uninstall.yml

– gashere: wen

take:

– naam: 7-Zip van die exe verwyder

win_package:

pad: C: \ Program Files \ 7-Zip \ Uninstall.exe

product_id: 7-zip

argumente: / S

toestand: afwesig

Begin die ansible-playbook om 7-Zip te verwyder.

[Email protected] ~
$ ansible-playbook uninstall.yml

SPEEL [wen] *********************************************** ************************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [Deïnstalleer 7-zip uit die exe] ***************************************** ************************************************** ************************************************** ***************
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** ************************************************** *********************************
192.168.0.102: ok = 2 verander = 1 onbereikbaar = 0 misluk = 0 oorgeslaan = 0 gered = 0 geïgnoreer = 0

Stop / begin / herbegin Windows-dienste

win_service verantwoordelike module word gebruik om ‘n diens te begin, stop of weer te begin. Hier sal ek u wys hoe u die tomcat-diens kan stop.

ansible windows tomcat

U moet die naam van die diens in die YAML-lêer noem en die toestand instel om te stop.

[Email protected] ~
$ vi diens.yml

– gashere: wen

take:

– naam: Stop diens Tomcat

win_service:

naam: Tomcat8

toestand: gestop

Begin die verantwoordelike-speelboek om die tomcat-diens te stop.

[Email protected] ~
$ ansible-playbook service.yml

SPEEL [wen] *********************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [Stop diens Tomcat] ********************************************* ************************************************** ******************
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 2 verander = 1 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

As u die tomcat-diens op die Windows-stelsel nagaan, is dit nou in stop-status.

ansible windows tomcat stop

U kan die staat definieer om te begin of weer te begin of te laat wag om die status van die diens te verander.

Versamel feite

Met behulp van die win_disk_facts-verantwoordelike module, kan u al die skyfinligting van die teikengasheer herwin.

[Email protected] ~
$ vi disk.yml

– gashere: wen
take:
– naam: Verkry skyffeite
win_disk_facts:

– naam: voer die eerste skyfgrootte uit
ontfout:
var: ansible_facts. disks [0]. grootte

– naam: Omskep eerste stelselskyf in verskillende formate
ontfout:
msg: ‘{{disksize_gib}} vs {{disksize_gib_human}}’
Vars:
# Kry die eerste stelselskyf
skyf: ‘{{ansible_facts.disks | selectattr ("system_disk") | eerste}} ‘

# Toon skyfgrootte in Gibibytes
disksize_gib_human: ‘{{disk.size | filesizeformat (true)}}’
disksize_gib: ‘{{(disk.size / 1024 | pow (3)) | rond | int}} GiB’

Begin die verantwoordelike-speelboek om die skyfinligting te kry.

[Email protected] ~
$ ansible-playbook disk.yml

SPEEL [wen] *********************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [Kry feite op die skyf] ********************************************* ************************************************** **************************
ok: [192.168.0.102]

OPDRAG [Uitvoer van die eerste skyfgrootte] ******************************************** ************************************************** *******************
ok: [192.168.0.102] => {

"ansible_facts.disks [0] .size": "1000204886016"
}

TAAK [Omskep eerste stelseldisket in verskillende formate] **************************************** ************************************************
ok: [192.168.0.102] => {
"msg": "932 GiB vs 931.5 GiB"
}

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 4 verander = 0 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

Met behulp van die win_command-verantwoordelike module, kan u opdragte uitvoer op die eksterne gasheer en SVE-inligting, apparaatinligting en nog baie meer kry.

[Email protected] ~
$ vi check.yml

– gashere: wen
take:
– naam: Verkry skyffeite
win_command: wmic cpu caption, deviceid, name, numberofcores, maxclock speed, status
register: gebruik

– ontfout: msg ="{{use.stdout}}"

Begin die verantwoordelike-speelboek om inligting oor die stelsel te kry.

[Email protected] ~
$ ansible-playbook check.yml

SPEEL [wen] *********************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

TAAK [Kry feite] ********************************************** ************************************************** *************************
verander: [192.168.0.102]

OPDRAG [ontfout] *********************************************** ************************************************** *********************************
ok: [192.168.0.102] => {
"msg": "OnderskriftoestelID MaxClockSpeed
naam
NumberOfCores Status \ r \ r \ nIntel64 Gesin 6 Model 142 Stepping 9 CPU0 2712 Intel (R) Core (TM) i5-7200U CPU @ 2.50GHz 2 OK \ r \ r \ n \ r \ r \ n"
}

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 3 verander = 1 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0
geïgnoreer = 0

Begin opdragte

Wat ook al die opdragte wat u by ‘n venster uitoefen, dit kan deur die verantwoordelike win_command-module uitgevoer word. U hoef net die opdrag in u YAML-lêer te spesifiseer. Hier skep ek net ‘n gids.

[Email protected] ~
$ vi opdragte.yml

– gashere: wen

take:

– naam: voer ‘n uitvoerbare uit met win_command

win_command: whoami.exe

– naam: voer ‘n cmd-opdrag uit

win_command: cmd.exe / c mkdir C: \ toets

Begin die ansible-playbook om win_command-bewerking uit te voer.

[Email protected] ~
$ ansible-playbook commands.yml

SPEEL [wen] *********************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [voer ‘n uitvoerbare bestuurder uit met win_command] ******************************************* ************************************************** *******
verander: [192.168.0.102]

OPDRAG [voer ‘n cmd-opdrag uit] ******************************************** ************************************************** ************************
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 3 verander = 2 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

omgewings veranderlikes

‘N Windows-stelsel het verskeie omgewingsveranderlikes, byvoorbeeld JAVA_HOME. Met behulp van die module win_en omgeving, kan u omgewingsveranderlikes byvoeg of verander op ‘n Windows-stelsel. In hierdie voorbeeld voeg ek ‘n nuwe veranderlike by tot die lys van die Windows-omgewingveranderlikes.

[Email protected] ~
$ vi env.yml

– gashere: wen
take:
– naam: Stel ‘n omgewingsveranderlike vir alle gebruikers in
win_environment:
toestand: teenwoordig
naam: NewVariable
waarde: Nuwe waarde
vlak: masjien

Gebruik die ansible-playbook om die omgewingsveranderlike op ‘n eksterne venstermasjien te voeg.

[Email protected] ~
$ ansible-playbook env.yml

SPEEL [wen] *********************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [Stel ‘n omgewingsveranderlike vir alle gebruikers] **************************************** ************************************************** ***
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 2 verander = 1 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

Gaan na die venster omgewingsveranderlikes; u sal sien die nuwe veranderlike wat u so pas bygevoeg het, is hier aanwesig.

veranderlike venstersveranderlikes

Voeg by / wysig register

Win_regedit verantwoordelike module word gebruik om registerbesonderhede op ‘n eksterne venstermasjien by te voeg of te redigeer. U moet die pad van die register en die inhoud wat bygevoeg / bygewerk moet word, gee. Hier skep ek ‘n nuwe registerinskrywing GeekFlare binne HKLM: \ SOFTWARE-pad en voeg dan naam en data by tot hierdie register.

[Email protected] ~
$ vi registry.yml

– gashere: wen

take:

– naam: ‘n register skep

win_regedit:

pad: HKLM: \ SOFTWARE \ GeekFlare

– naam: Wysiging van ‘n register, naam en data byvoeg

win_regedit:

pad: HKLM: \ SOFTWARE \ GeekFlare

naam: Geek

data: Opvlam

Begin die ansible-playbook om die register by te voeg.

[Email protected] ~
$ ansible-playbook registry.yml

SPEEL [wen] *********************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [Skep ‘n register] ********************************************* ************************************************** *********************
verander: [192.168.0.102]

OPDRAG [Verander ‘n register, voeg naam en data by] **************************************** ************************************************** ***
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** *********************************
192.168.0.102
: ok = 3 verander = 2 onbereikbaar = 0 misluk = 0
oorgeslaan = 0 gered = 0 geïgnoreer = 0

As u na die register-redigeerder op die afstandstelsel gaan, kan u sien dat hierdie register suksesvol bygevoeg is met name- en dataparameters.

verantwoordelike Windows-register

Vee log uit

Win_eventlog verantwoordelike module word gebruik om Windows-gebeurtenislogboeke by te voeg, skoon te maak of te verwyder uit die Windows-stelsel.

Gaan na Windows Powershell en lys die EventLogs wat op die eksterne venstermasjien teenwoordig is.

PS C: \ Gebruikers \ Geekflare> Get-EventLog -Lys
Maks (K) behou oorvloeiAksie-inskrywingslogboek
—— —— ————– ——- —
20.480 0 OorskryfAs Benodig 33.549 Aansoek
20.480 0 OorskryfAs Nodig 0 Hardeware-geleenthede
512 7 OorskryfOlder 20 Internet Explorer
20.480 0 OorskryfAsNodig 0 Sleutelbestuursdiens
128 0 OorskryfAsNodig 190 OAlerts
sekuriteit
20.480 0 OorskryfAsNodig 44.828 Stelsel
15.360 0 OorskryfAs Nodig 3,662 Windows PowerShell

Nou sal ek wys hoe om logboeke uit alle bronne vir Internet Explorer te verwyder.

[Email protected] ~
$ vi log.yml

– gashere: wen
take:
– naam: Verwyder Internet Explorer Logs
win_eventlog:
naam: Internet Explorer
toestand: afwesig

Gebruik die ansible-playbook om die Internet Explorer van die eksterne venstermasjien te verwyder.

[Email protected] ~
$ ansible-playbook log.yml

SPEEL [wen] *********************************************** ************************************************** ************************************************** ***********************************

OPDRAG [Versamel feite] ********************************************** ************************************************** ************************************************** ************************
ok: [192.168.0.102]

OPDRAG [Verwyder Internet Explorer Logs] ******************************************** ************************************************** *************************************************
verander: [192.168.0.102]

SPEEL RECAP ************************************************* ************************************************** ************************************************** *********************************
192.168.0.102: ok = 2 verander = 1 onbereikbaar = 0 misluk = 0 oorgeslaan = 0 gered = 0 geïgnoreer = 0

As u die EventLogs weer lys, sal u sien dat die logboeke van Internet Explorer verwyder is.

PS C: \ Gebruikers \ Geekflare> Get-EventLog -Lys

Maks (K) behou oorvloeiAksie-inskrywingslogboek
—— —— ————– ——- —
20.480 0 OorskryfAs Benodig 33.549 Aansoek
20.480 0 OorskryfAs Nodig 0 Hardeware-geleenthede
20.480 0 OorskryfAsNodig 0 Sleutelbestuursdiens
128 0 OorskryfAsNodig 190 OAlerts
sekuriteit
20.480 0 OorskryfAsNodig 44,835 Stelsel
15.360 0 OorskryfAsNodig 56 Windows PowerShell

Dus, dit het alles gegaan oor Ansible-speelboeke, wat gebruik kan word vir administrasie van eksterne vensters. Probeer hierdie speelboeke uit. U kan ook ander probeer Antwoorde Windows-modules beskikbaar.

Tags:

  • Ansible

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map