9 primernih zvezkov Primer za skrbništvo za Windows

Pokazal vam bom več operacij, ki jih lahko skrbnik izvede v oddaljenem sistemu Windows z uporabo ansible-playbook-a.


Ansible je eno najbolj uporabljanih orodij DevOps na trgu danes. Ponuja kup okenskih modulov, ki se uporabljajo za konfiguriranje in upravljanje strežnika Windows. Predvidevam, da imate v sistemu Windows nameščen Ansible, od koder želite upravljati strežnike Windows.

Spodaj je nekaj najpogosteje uporabljanih nalog, ki jih skrbniki sistema Windows izvajajo vsakodnevno. Presenečeni boste, ko boste videli, kako enostavno je v sistemu Windows upravljan Ansible.

IP naslov naprave upravljavnega računalnika Windows je 192.168.0.106, IP naslov mojega oddaljenega sistema Windows pa 192.168.0.102. Preden začnete, zaženite modul win_ping in preverite, ali se lahko povežete z oddaljenim strežnikom Windows ali ne.

[zaščitena e-pošta] ~
$ ansible win -m win_ping
192.168.0.102 | USPEH => {
"spremenjena": napačno,
"ping": "pong"
}

Moja povezava z oddaljenim gostiteljem je uspešna.

Torej, začnimo z Ansible Playbooks …

Kopiranje datotek

win_copy je ansible modul, ki kopira datoteko z lokalnega strežnika na oddaljeni gostitelj sistema Windows. Ta modul bom uporabil za kopiranje enega samega PDF-ja.

Uporabite spodnjo kodo YAML, navedite izvorne in ciljne poti.

[zaščitena e-pošta] ~
$ vi copy.yml

– gostitelji: zmaga

naloge:

– ime: Kopiraj datoteko

win_copy:

src: C: \ output.pdf

dest: C: \ ansible_examples \

remote_src: da

Zaženite knjižico ansible-play za win_copy.

[zaščitena e-pošta] ~
$ ansible-playbook copy.yml

PLAY [win] ************************************************ ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

NADZOR [kopiraj datoteko] *********************************************** ************************************************** ******************************
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 2 spremenjeno = 1 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Datoteka je bila uspešno kopirana na ciljnem mestu na oddaljenem sistemu Windows.

ansible Windows kopiraj

Namestitev / UnInstall MSI

Če želite namestiti aplikacijo z datoteko MSI, morate uporabiti win_get_url, da omenite pot datoteke MSI do prenosa in nato za namestitev uporabite modul win_package. Prisotno stanje pomeni, da bo MSI nameščen na stroj, aplikacija pa je v trenutnem stanju.

Tukaj namestim Apache.

Koda YAML, ki se uporablja:

[zaščitena e-pošta] ~
$ vi msi.yml

– ime: Namestitev Apache MSI
gostitelji: zmaga

naloge:
– ime: Prenesite namestitveni program Apache
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

– ime: Namestite MSI
win_package:
pot: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi
stanje: prisotno

Zaženite ansible-playbook za namestitev s pomočjo MSI.

[zaščitena e-pošta] ~
$ ansible-playbook msi.yml

PLAY [Namestitev Apache MSI] ********************************************** ************************************************** *******************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

NALOGA [Prenesite namestitveni program Apache] ********************************************* ************************************************** ************
spremenjeno: [192.168.0.102]

NALOGA [Namestite MSI] *********************************************** ************************************************** ****************************
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 3 spremenjeno = 2 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Zdaj pojdite na sistem Windows in preverite, ali se je aplikacija apache uspešno namestila.

C: \ Uporabniki \ geekflare>cd C: \ Programske datoteke (x86) \ Apache Software Foundation \ Apache2.2 \ bin
C: \ Programske datoteke (x86) \ Apache Software Foundation \ Apache2.2 \ bin>httpd -v
Različica strežnika: Apache / 2.2.25 (Win32)
Izdelan strežnik: 10. julij 2013 01:52:12

Aplikacije lahko namestite tudi z uporabo MSI z argumenti. Spodaj je isti primer kot zgoraj, vendar namesto stanja za namestitev apache uporabljamo namestitveni argument.

Koda YAML, ki se uporablja:

– ime: Namestitev Apache MSI

gostitelji: zmaga

naloge:

– ime: Prenesite namestitveni program Apache

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

– ime: Namestite MSI

win_package:

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

argumenti:

– / namesti

– / pasivno

– / norestart

Če želite odstraniti aplikacijo z datoteko MSI, morate uporabiti modul win_package. Stanje odsotno pomeni, da bo aplikacija odstranjena z datoteko MSI.

Tukaj odstranim Apache.

[zaščitena e-pošta] ~
$ vi uninstall_msi.yml

– ime: Uninstalling MSI Apache

gostitelji: zmaga

naloge:

– ime: UnInstall MSI

win_package:

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

stanje: odsoten

Zaženite ansible-playbook in ga odstranite s programom MSI.

[zaščitena e-pošta] ~
$ ansible-playbook uninstall_msi.yml

PLAY [UnIstalling Apache MSI] ********************************************** ************************************************** *******************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

NALOGA [UnInstall MSI] *********************************************** ************************************************** **************************
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 2 spremenjeno = 1 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Zdaj, če preverim različico apache, bom dobil spodnji izhod, ko se je aplikacija odstranila.

C: \ Programske datoteke (x86) \ Apache Software Foundation \ Apache2.2 \ bin>httpd -v ‘httpd’ ni prepoznan kot notranji ali zunanji ukaz,
operacijski program ali paketna datoteka.

Odstranitev programske opreme (.EXE)

Programsko opremo lahko z datoteko .exe odstranite tudi z ID-jem izdelka te programske opreme.

[zaščitena e-pošta] ~
$ vi uninstall.yml

– gostitelji: zmaga

naloge:

– ime: Odstranite 7-Zip iz exe

win_package:

pot: C: \ programske datoteke \ 7-Zip \ Uninstall.exe

product_id: 7-Zip

argumenti: / S

stanje: odsoten

Zaženite ansible-playbook in odstranite 7-Zip.

[zaščitena e-pošta] ~
$ ansible-playbook uninstall.yml

PLAY [win] ************************************************ ************************************************** ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************************************** ************************
v redu: [192.168.0.102]

NADZOR [Odstrani 7-Zip od exe] ****************************************** ************************************************** ************************************************** ***************
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** ************************************************** *********************************
192.168.0.102: ok = 2 spremenjena = 1 nedosegljiva = 0 neuspešna = 0 preskočena = 0 rešena = 0 prezrta = 0

Stop / Start / Restart Windows Services

win_service ansible modul se uporablja za zagon, zaustavitev ali ponovni zagon storitve. Tukaj vam bom pokazal, kako ustaviti storitev tomcat.

odporna okna tomcat

V datoteki YAML morate omeniti ime storitve in nastaviti stanje, da se ustavi.

[zaščitena e-pošta] ~
$ vi storitev.yml

– gostitelji: zmaga

naloge:

– ime: Ustavi storitev Tomcat

win_service:

ime: Tomcat8

stanje: ustavljeno

Zaženite igralno knjižico Ansible, da ustavite storitev tomcat.

[zaščitena e-pošta] ~
$ ansible-playbook service.yml

PLAY [win] ************************************************ ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

NALOGA [Stop service Tomcat] ********************************************** ************************************************** ******************
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 2 spremenjeno = 1 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Če preverite storitev tomcat v sistemu Windows, je zdaj v ustavljenem stanju.

odporna okna tomcat stop

Lahko spremenite stanje, ki ga je mogoče začeti ali znova zagnati ali zaustaviti, če želite spremeniti status storitve.

Zbiranje dejstev

S pomočjo modula win_disk_facts ansible lahko pridobite vse podatke o disku ciljnega gostitelja.

[zaščitena e-pošta] ~
$ vi disk.yml

– gostitelji: zmaga
naloge:
– ime: Pridobite dejstva o disku
win_disk_facts:

– ime: Izhodna velikost prvega diska
odpravljanje napak:
var: ansible_facts.disks [0] .size

– ime: Pretvorite prvi sistemski disk v različne formate
odpravljanje napak:
msg: ‘{{disksize_gib}} v primerjavi z {{disksize_gib_human}}’
vars:
# Pridobite prvi sistemski disk
disk: ‘{{ansible_facts.disks | selectattr ("system_disk") | prvi}} ‘

# Pokaži velikost diska v Gibibajtih
disksize_gib_human: ‘{{disk.size | datoteke velikost datoteke (resnično)}}’
disksize_gib: ‘{{(disk.size / 1024 | pow (3)) | krog | int}} GiB’

Zaženite ploščo ansible-playbook, da dobite informacije o disku.

[zaščitena e-pošta] ~
$ ansible-playbook disk.yml

PLAY [win] ************************************************ ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

TASK [Pridobite podatke o disku] ********************************************** ************************************************** **************************
v redu: [192.168.0.102]

NADZOR [velikost prvega diska] ********************************************* ************************************************** *******************
v redu: [192.168.0.102] => {

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

TASK [Pretvori prvi sistemski disk v različne formate] ****************************************** ************************************************
v redu: [192.168.0.102] => {
"msg": "932 GiB proti 931,5 GiB"
}

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 4 spremenjeno = 0 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Z uporabo modula win_command ansible lahko izvajate ukaze na oddaljenem gostitelju in dobite informacije o CPU-ju, podrobnosti o napravi in ​​še veliko več.

[zaščitena e-pošta] ~
$ vi check.yml

– gostitelji: zmaga
naloge:
– ime: Pridobite dejstva o disku
win_command: wmic cpu dobite napis, deviceid, ime, numberofcores, max clockspeed, status
register: uporaba

– odpravljanje napak: msg ="{{use.stdout}}"

Zaženite ansible-playbook, da dobite informacije o oddaljenem sistemu.

[zaščitena e-pošta] ~
$ ansible-playbook check.yml

PLAY [win] ************************************************ ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

NALOGA [Pridobite dejstva] ************************************************* ************************************************** *************************
spremenjeno: [192.168.0.102]

NALOG [odpravljanje napak] ************************************************ ************************************************** *********************************
v redu: [192.168.0.102] => {
"msg": "Napis DeviceID MaxClockSpeed
Ime
ŠteviloOfCores Stanje \ r \ r \ nIntel64 Družina 6 Model 142 Korak 9 CPU0 2712 Core (TM) Core (TM) i5-7200U CPU @ 2,50 GHz 2 OK \ r \ r \ n \ r \ r \ n"
}

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 3 spremenjeno = 1 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0
prezrto = 0

Teče ukaze

Ne glede na ukaze, ki jih zaženete v oknu, jih je mogoče zagnati skozi modul ansible win_command. Morate samo določiti ukaz v datoteki YAML. Tukaj samo ustvarjam imenik.

[zaščitena e-pošta] ~
$ vi commandnds.yml

– gostitelji: zmaga

naloge:

– ime: zaženite izvedljiv program z uporabo win_command

win_command: whoami.exe

– ime: zaženite ukaz cmd

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

Zaženite ansible-playbook, da izvedete win_command operacijo.

[zaščitena e-pošta] ~
$ ansible-playbook commandnds.yml

PLAY [win] ************************************************ ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

TASK [zaženite izvedljiv s pomočjo win_command] ******************************************** ************************************************** *******
spremenjeno: [192.168.0.102]

NALOGA [zaženite ukaz cmd] ********************************************* ************************************************** ************************
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 3 spremenjeno = 2 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Okoljske spremenljivke

Sistem Windows ima več spremenljivk okolja, na primer JAVA_HOME. S pomočjo modula win_environment ansible lahko v sistemu Windows dodate ali spremenite spremenljivke okolja. V tem primeru na seznam spremenljivk okolja Windows dodajam novo spremenljivko.

[zaščitena e-pošta] ~
$ vi env.yml

– gostitelji: zmaga
naloge:
– ime: nastavite spremenljivko okolja za vse uporabnike
win_environment:
stanje: prisotno
ime: NewVariable
vrednost: Nova vrednost
nivo: stroj

Zaženite ansible-playbook in dodajte spremenljivko okolja na oddaljeni sistem Windows.

[zaščitena e-pošta] ~
$ ansible-playbook env.yml

PLAY [win] ************************************************ ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

NADZOR [Nastavite spremenljivko okolja za vse uporabnike] ****************************************** ************************************************** ***
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 2 spremenjeno = 1 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Pojdite v okno spremenljivk okolja; tu boste videli novo spremenljivko, ki ste jo pravkar dodali.

spremenljivke ansible Windows

Dodajanje / urejanje registra

win_regedit ansible modul se uporablja za dodajanje ali urejanje podrobnosti registra na oddaljenem računalniku Windows. Morate dati pot registra in vsebine, ki jih želite dodati / posodobiti. Tu ustvarjam nov vnos v register GeekFlare znotraj poti HKLM: \ SOFTWARE in nato v ta register dodam ime in podatke..

[zaščitena e-pošta] ~
$ vi register.yml

– gostitelji: zmaga

naloge:

– ime: Ustvarjanje registra

win_regedit:

pot: HKLM: \ SOFTWARE \ GeekFlare

– ime: Spreminjanje registra, dodajanje imena in podatkov

win_regedit:

pot: HKLM: \ SOFTWARE \ GeekFlare

ime: Geek

podatki: Flare

Za dodajanje registra zaženite ansible-playbook.

[zaščitena e-pošta] ~
$ ansible-playbook register.yml

PLAY [win] ************************************************ ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************
v redu: [192.168.0.102]

NADZOR [Ustvarjanje registra] ********************************************** ************************************************** *********************
spremenjeno: [192.168.0.102]

NALOGA [Sprememba registra, dodajanje imena in podatkov] ***************************************** ************************************************** ***
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** *********************************
192.168.0.102
: ok = 3 spremenjeno = 2 nedosegljivo = 0 neuspešno = 0
preskočen = 0 rešen = 0 prezrt = 0

Če grete v urejevalnik registra na oddaljenem sistemu, lahko vidite, da je bil ta register uspešno dodan s parametri Name in Data.

registra uporabnih oken

Izbriši dnevnik

win_eventlog ansible modul se uporablja za dodajanje, brisanje ali odstranjevanje dnevnikov dogodkov Windows iz sistema Windows.

Pojdite v Windows Powershell in na seznamu oddaljenih naprav Windows na seznamu EventLogs.

PS C: \ Uporabniki \ Geekflare> Get-EventLog -List
Max (K) Obdrži dnevnik vpisov prelivanja
—— —— ————– ——- —
20,480 0 PrepišiAsEeded 33,549 Uporaba
20,480 0 OverwriteAsNeeded 0 HardwareEvents
512 7 OverwriteOlder 20 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Upravljanje s ključi
128 0 PrepišiAsEeded 190 OAlerts
Varnost
20,480 0 PrepišiAsEeded 44,828 sistem
15.360 0 OverwriteAsNeed 3.662 Windows PowerShell

Zdaj bom pokazal, kako odstraniti dnevnike iz vseh virov za Internet Explorer.

[zaščitena e-pošta] ~
$ vi log.yml

– gostitelji: zmaga
naloge:
– ime: Odstranite dnevnike Internet Explorerja
win_eventlog:
ime: Internet Explorer
stanje: odsoten

Zaženite knjižico Ansible-playbook, da odstranite Internet Explorer iz oddaljene naprave Windows.

[zaščitena e-pošta] ~
$ ansible-playbook log.yml

PLAY [win] ************************************************ ************************************************** ************************************************** ***********************************

NALOG [Zbiranje dejstev] *********************************************** ************************************************** ************************************************** ************************
v redu: [192.168.0.102]

NALOGA [Odstrani dnevnike Internet Explorerja] ********************************************* ************************************************** ***************************************************
spremenjeno: [192.168.0.102]

PREDVAJAJTE RECEP ************************************************** ************************************************** ************************************************** *********************************
192.168.0.102: ok = 2 spremenjena = 1 nedosegljiva = 0 neuspešna = 0 preskočena = 0 rešena = 0 prezrta = 0

Zdaj, če znova naštejete EventLogs, boste videli, da so dnevniki Internet Explorerja odstranjeni.

PS C: \ Uporabniki \ Geekflare> Get-EventLog -List

Max (K) Obdrži dnevnik vpisov prelivanja
—— —— ————– ——- —
20,480 0 PrepišiAsEeded 33,549 Uporaba
20,480 0 OverwriteAsNeeded 0 HardwareEvents
20,480 0 OverwriteAsNeeded 0 Upravljanje s ključi
128 0 PrepišiAsEeded 190 OAlerts
Varnost
20,480 0 PrepišiAsEeded 44,835 sistem
15.360 0 OverwriteAsNeeded 56 Windows PowerShell

Torej, vse je šlo za otroške zvezke Ansible, ki jih je mogoče uporabiti za upravljanje oddaljenih oken. Pojdi naprej in preizkusi te zvezke. Poskusite lahko tudi z drugimi Odzivni moduli sistema Windows na voljo.

Oznake:

  • Odgovorno

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