9 Exemple de cărți de joacă pentru administrare Windows

Vă voi arăta mai multe operații pe care un administrator le poate efectua pe un sistem Windows la distanță folosind ansible-playbook.


Ansible este unul dintre cele mai utilizate instrumente DevOps de pe piață. Oferă o mulțime de module Windows care sunt utilizate pentru a configura și gestiona serverul Windows. Presupun că aveți deja Ansible instalat pe Windows de unde doriți să gestionați serverele Windows.

Următoarele sunt unele dintre sarcinile frecvent utilizate de administratorii Windows zilnic. Vei fi uimit să vezi cât de ușor este administrat Windows folosind Ansible.

Adresa IP a aparatului meu de controlare a sistemului de control Windows este 192.168.0.106, iar adresa IP a sistemului meu Windows la distanță este 192.168.0.102. Înainte de a începe, asigurați-vă că rulați un modul win_ping pentru a verifica dacă sunteți în stare să vă conectați sau nu la serverul de la distanță Windows.

[Email protected] ~
$ ansibil câștig -m win_ping
192.168.0.102 | SUCCES => {
"schimbat": fals,
"ping": "pong"
}

Conexiunea mea cu o gazdă la distanță este reușită.

Așadar, haideți să începem cu cărți de joc Ansible …

Copiere fișiere

win_copy este un modul ansibil care copiază un fișier de pe serverul local pe o gazdă Windows la distanță. Voi folosi acest modul pentru a copia un singur PDF.

Utilizați codul YAML de mai jos, indicați sursele și căile de destinație.

[Email protected] ~
$ vi copy.yml

– gazde: câștigă

sarcini:

– nume: Copiere fișier

win_copy:

src: C: \ output.pdf

dest: C: \ ansible_exemple \

remote_src: da

Executați ansible-playbook pentru win_copy.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [File File] ********************************************* ************************************************** ******************************
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 2 schimbat = 1 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

Fișierul a fost copiat cu succes la locația de destinație pe un sistem Windows la distanță.

Windows ansibil copie

Instalați / UnInstall MSI

Pentru a instala o aplicație folosind fișierul MSI, trebuie să utilizați win_get_url pentru a menționa calea fișierului MSI pentru a descărca și apoi utilizați modulul win_package pentru a-l instala. Starea prezentă înseamnă că MSI va fi instalat pe mașină, iar aplicația este în starea actuală.

Aici, instalez Apache.

Cod YAML care va fi utilizat:

[Email protected] ~
$ vi msi.yml

– nume: Instalarea Apache MSI
gazde: câștigă

sarcini:
– nume: Descărcați programul de instalare 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

– nume: Instalați MSI
win_package:
calea: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi
stare: prezent

Executați ansible-playbook pentru a instala cu MSI.

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

PLAY [Instalarea Apache MSI] ******************************************* ************************************************** *******************

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [Descărcați instalatorul Apache] ******************************************* ************************************************** ************
modificat: [192.168.0.102]

TASK [Instalează MSI] ******************************************** ************************************************** ****************************
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 3 schimbat = 2 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

Acum, accesați sistemul Windows și verificați dacă aplicația apache s-a instalat cu succes.

C: \ Users \ geekflare>cd C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin
C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin>httpd -v
Versiunea serverului: Apache / 2.2.25 (Win32)
Server construit: 10 iulie 2013 01:52:12

Puteți instala, de asemenea, aplicații folosind MSI cu argumente. Mai jos este același exemplu ca mai sus, dar în loc de stare, folosim un argument de instalare pentru a instala apache.

Cod YAML care va fi utilizat:

– nume: Instalarea Apache MSI

gazde: câștigă

sarcini:

– nume: Descărcați programul de instalare 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

– nume: Instalați MSI

win_package:

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

argumente:

– /instalare

– /pasiv

– / norestart

Pentru a dezinstala o aplicație folosind fișierul MSI, trebuie să utilizați modulul win_package. Stare absentă înseamnă că aplicația va fi dezinstalată folosind fișierul MSI.

Aici, dezinstalez Apache.

[Email protected] ~
$ vi uninstall_msi.yml

– nume: UnInstalling Apache MSI

gazde: câștigă

sarcini:

– nume: UnInstall MSI

win_package:

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

stare: absent

Executați ansible-playbook pentru a dezinstala utilizând MSI.

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

PLAY [UnInstalling Apache MSI] ******************************************** ************************************************** *******************

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [MSInstalat] ********************************************* ************************************************** **************************
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 2 schimbat = 1 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

Acum, dacă verific varianta apache, voi primi ieșirea de mai jos pe măsură ce aplicația a fost dezinstalată.

C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin>httpd -v ‘httpd’ nu este recunoscut ca o comandă internă sau externă,
program de operare sau fișier de lot.

Dezinstalați software-ul (.EXE)

De asemenea, puteți dezinstala software-ul cu fișierul .exe folosind id-ul produsului respectivului software.

[Email protected] ~
$ vi uninstall.yml

– gazde: câștigă

sarcini:

– nume: Dezinstalați 7-Zip din exe

win_package:

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

produs_id: 7-Zip

argumente: / S

stare: absent

Executați ansible-playbook pentru a dezinstala 7-Zip.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************************************** ************************
ok: [192.168.0.102]

TASK [Dezinstalați 7-Zip din exe] *************************************** ************************************************** ************************************************** ***************
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** ************************************************** *********************************
192.168.0.102: ok = 2 schimbat = 1 neatacabil = 0 eșuat = 0 omis = 0 salvat = 0 ignorat = 0

Opriți / porniți / reporniți serviciile Windows

Modulul win_service ansible este utilizat pentru a porni, opri sau reporni un serviciu. Aici, vă voi arăta cum să opriți serviciul tomcat.

ferestre ansibile tomcat

Trebuie să menționați numele serviciului în fișierul YAML și setați starea să se oprească.

[Email protected] ~
$ vi service.yml

– gazde: câștigă

sarcini:

– nume: Serviciu de oprire Tomcat

win_service:

nume: Tomcat8

stare: oprit

Executați ansible-playbook pentru a opri serviciul tomcat.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [Stop service Tomcat] ******************************************* ************************************************** ******************
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 2 schimbat = 1 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

Dacă verificați serviciul tomcat pe sistemul Windows, acesta este acum în stare oprită.

ferestre ansibile tomcat stop

Puteți defini starea la început sau repornit sau întrerupt pentru a schimba starea serviciului.

Adunarea faptelor

Utilizând modulul win_disk_facts ansible, puteți prelua toate informațiile de disc ale gazdei țintă.

[Email protected] ~
$ vi disc.yml

– gazde: câștigă
sarcini:
– nume: Obțineți fapte de disc
win_disk_facts:

– nume: Ieșire prima dimensiune a discului
depanare:
var: ansible_facts.disks [0] .size

– nume: Convertiți primul disc de sistem în diferite formate
depanare:
msg: ‘{{disksize_gib}} vs. {{disksize_gib_human}} “
vars:
# Obțineți primul disc de sistem
disc: ‘{{ansible_facts.disks | selectattr ("system_disk") | primul}} ‘

# Afișează dimensiunea discului în Gibibytes
disksize_gib_human: ‘{{disk.size | filesizeformat (true)}}’
disksize_gib: ‘{{(disk.size / 1024 | pow (3)) | rotund | int}} GiB’

Executați ansible-playbook pentru a obține informațiile despre disc.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [Obțineți fapte de disc] ******************************************* ************************************************** **************************
ok: [192.168.0.102]

TASK [Sortarea primei dimensiuni a discului] ******************************************* ************************************************** *******************
ok: [192.168.0.102] => {

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

TASK [Convertiți primul disc de sistem în diferite formate] *************************************** ************************************************
ok: [192.168.0.102] => {
"msg": "932 GiB vs 931.5 GiB"
}

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 4 schimbat = 0 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

Folosind modulul ansițabil win_command, puteți executa comenzi pe gazda de la distanță și puteți obține informații despre procesor, detalii despre dispozitiv și multe altele.

[Email protected] ~
$ vi check.yml

– gazde: câștigă
sarcini:
– nume: Obțineți fapte de disc
win_command: wmic cpu get tittion, deviceid, name, numbercores, maxclockspeed, status
înregistrare: utilizare

– debug: msg ="{{usage.stdout}}"

Executați ansible-playbook pentru a obține informații despre sistem la distanță.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [Obțineți fapte] ******************************************** ************************************************** *************************
modificat: [192.168.0.102]

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

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 3 schimbat = 1 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0
ignorate = 0

Executarea comenzilor

Indiferent de comenzile pe care le rulați pe o fereastră, acestea pot fi rulate prin modulul ansibil win_command. Trebuie doar să specificați comanda în fișierul dvs. YAML. Aici, creez doar un director.

[Email protected] ~
$ vi comandas.yml

– gazde: câștigă

sarcini:

– nume: rulați un executabil folosind win_command

win_command: whoami.exe

– nume: executați o comandă cmd

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

Executați ansible-playbook pentru a efectua operația win_command.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [executați un executabil folosind win_command] ****************************************** ************************************************** *******
modificat: [192.168.0.102]

TASK [executați o comandă cmd] ****************************************** ************************************************** ************************
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 3 schimbat = 2 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

variabile de mediu

Un sistem Windows are mai multe variabile de mediu, de exemplu, JAVA_HOME. Utilizând modulul win_environment ansible, puteți adăuga sau modifica variabile de mediu pe un sistem Windows. În acest exemplu, adaug o nouă variabilă la lista de variabile de mediu Windows.

[Email protected] ~
$ vi env.yml

– gazde: câștigă
sarcini:
– nume: Setați o variabilă de mediu pentru toți utilizatorii
win_environment:
stare: prezent
nume: NewVariable
valoare: valoare nouă
nivel: utilaj

Rulați ansible-playbook pentru a adăuga variabila de mediu pe o mașină Windows la distanță.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [Setați o variabilă de mediu pentru toți utilizatorii] *************************************** ************************************************** ***
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 2 schimbat = 1 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

Accesați fereastra variabilelor de mediu; veți vedea noua variabilă pe care tocmai ați adăugat-o este prezentă aici.

variabile Windows ansibile

Adăugați / Editați Registrul

Modulul win_regedit ansible este utilizat pentru a adăuga sau edita detaliile registrului pe o mașină Windows la distanță. Trebuie să oferiți calea registrului și a conținutului pentru a fi adăugate / actualizate. Aici creez o nouă intrare de registru GeekFlare în interiorul HKLM: \ SOFTWARE cale și apoi adaug numele și datele în acest registru.

[Email protected] ~
$ vi registry.yml

– gazde: câștigă

sarcini:

– nume: Crearea unui registru

win_regedit:

calea: HKLM: \ SOFTWARE \ GeekFlare

– nume: Modificarea unui registru, adăugarea numelui și a datelor

win_regedit:

calea: HKLM: \ SOFTWARE \ GeekFlare

nume: Geek

date: Flare

Executați ansible-playbook pentru a adăuga registrul.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************
ok: [192.168.0.102]

TASK [Crearea unui registru] ******************************************* ************************************************** *********************
modificat: [192.168.0.102]

TASK [Modificarea unui registru, adăugarea de nume și date] ************************************** ************************************************** ***
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** *********************************
192.168.0.102
: ok = 3 schimbat = 2 irecuperabil = 0 eșuat = 0
sărit = 0 salvat = 0 ignorat = 0

Dacă accesați Editorul Registrului de pe sistemul de la distanță, puteți vedea că acest registru a fost adăugat cu succes cu parametrii Nume și Date.

Registru Windows ansibil

Ștergeți jurnalul

Modulul win_eventlog ansible este utilizat pentru a adăuga, șterge sau elimina jurnalele de evenimente Windows din sistemul Windows.

Accesați Windows Powershell și enumerați EventLog-urile prezente pe mașina Windows la distanță.

PS C: \ Users \ Geekflare> Get-EventLog -List
Max (K) Jurnal de înregistrări pentru overflowAction
—— —— ————– ——- —
20,480 0 Aplicație OverwriteAsNeeded 33,549
20,480 0 OverwriteAsNeeded 0 HardwareEvents
512 7 OverwriteOlder 20 Internet Explorer
20,480 0 OverwriteAsNeeded 0 Serviciu de gestionare a cheilor
128 0 OverwriteAsNeeded 190 OArts
Securitate
20,480 0 sistem OverwriteAsNeeded 44,828 System
15,360 0 OverwriteAsNeeded 3,662 Windows PowerShell

Acum, voi arăta cum puteți elimina jurnalele din toate sursele pentru Internet Explorer.

[Email protected] ~
$ vi log.yml

– gazde: câștigă
sarcini:
– nume: Ștergeți jurnalele de Internet Explorer
win_eventlog:
nume: Internet Explorer
stare: absent

Executați ansible-playbook pentru a elimina Internet Explorer din mașina Windows la distanță.

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

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

TASK [Adunarea faptelor] ********************************************* ************************************************** ************************************************** ************************
ok: [192.168.0.102]

TASK [Eliminați jurnalele de Internet Explorer] ****************************************** ************************************************** *************************************************
modificat: [192.168.0.102]

PLAY RECAP ************************************************ ************************************************** ************************************************** *********************************
192.168.0.102: ok = 2 schimbat = 1 neatacabil = 0 eșuat = 0 omis = 0 salvat = 0 ignorat = 0

Acum, dacă listați din nou EventLogs, veți vedea că jurnalele de Internet Explorer au fost eliminate.

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

Max (K) Jurnal de înregistrări pentru overflowAction
—— —— ————– ——- —
20,480 0 Aplicație OverwriteAsNeeded 33,549
20,480 0 OverwriteAsNeeded 0 HardwareEvents
20,480 0 OverwriteAsNeeded 0 Serviciu de gestionare a cheilor
128 0 OverwriteAsNeeded 190 OArts
Securitate
20,480 0 sistem OverwriteAsNeeded 44,835
15,360 0 OverwriteAsNeeded 56 Windows PowerShell

Deci, asta a fost tot despre cărțile de joc Ansible, care pot fi utilizate pentru administrarea de la distanță a Windows. Continuați și încercați aceste cărți de joc. Puteți încerca și alte Module Windows responsabile disponibil.

ETICHETE:

  • ansiblu

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