9 Contoh Playbook yang Mungkin untuk Administrasi Windows

Saya akan menunjukkan kepada Anda beberapa operasi yang dapat dilakukan administrator pada sistem windows jarak jauh menggunakan buku pedoman yang dimungkinkan.


Ansible adalah salah satu alat DevOps yang paling banyak digunakan di pasaran saat ini. Ini menyediakan banyak modul windows yang digunakan untuk mengkonfigurasi dan mengelola server Windows. Saya menganggap Anda sudah menginstal Ansible pada Windows dari tempat Anda ingin mengelola server Windows.

Berikut ini adalah beberapa tugas yang biasa digunakan yang dilakukan oleh administrator Windows setiap hari. Anda akan kagum melihat betapa mudahnya mengelola Windows menggunakan Ansible.

Alamat IP mesin pengontrol Windows Ansible saya adalah 192.168.0.106, dan alamat IP sistem Windows jarak jauh saya adalah 192.168.0.102. Sebelum Anda mulai, pastikan Anda menjalankan modul win_ping untuk memeriksa apakah Anda dapat terhubung ke server jarak jauh windows atau tidak.

[dilindungi email] ~
$ ansible win -m win_ping
192.168.0.102 | SUKSES => {
"berubah": Salah,
"ping": "pong"
}

Koneksi saya ke host jarak jauh berhasil.

Jadi, mari kita mulai dengan Playbook Ansible …

Menyalin File

win_copy adalah modul yang memungkinkan yang menyalin file dari server lokal ke host Windows jarak jauh. Saya akan menggunakan modul ini untuk menyalin satu PDF.

Gunakan kode YAML di bawah ini, berikan jalur sumber dan tujuan.

[dilindungi email] ~
$ vi copy.yml

– tuan rumah: menang

tugas:

– nama: Salin File

win_copy:

src: C: \ output.pdf

dest: C: \ ansible_examples \

remote_src: ya

Jalankan anonymous-playbook untuk win_copy.

[dilindungi email] ~
$ ansible-playbook copy.yml

MAIN [menangkan] ******************************************** ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Salin File] ******************************************* ************************************************ ******************************
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 2 berubah = 1 tidak terjangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

File telah berhasil disalin di lokasi tujuan pada sistem windows jarak jauh.

salin windows yang dimungkinkan

Instal / Hapus instalan MSI

Untuk menginstal aplikasi menggunakan file MSI, Anda harus menggunakan win_get_url untuk menyebutkan jalur file MSI untuk mengunduh dan kemudian menggunakan modul win_package untuk menginstalnya. Status sekarang berarti MSI akan diinstal pada mesin, dan aplikasi dalam status saat ini.

Di sini, saya menginstal Apache.

Kode YAML yang akan digunakan:

[dilindungi email] ~
$ vi msi.yml

– nama: Instalasi Apache MSI
tuan rumah: menang

tugas:
– name: Unduh penginstal 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

– nama: Instal MSI
win_package:
jalur: C: \ ansible_examples \ httpd-2.2.25-win32-x86-no_ssl.msi
negara: sekarang

Jalankan ansible-playbook untuk menginstal menggunakan MSI.

[dilindungi email] ~
$ ansible-playbook msi.yml

MAIN [Menginstal Apache MSI] ****************************************** ************************************************ *********************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Unduh installer Apache] ***************************************** ************************************************ ************
berubah: [192.168.0.102]

TUGAS [Instal MSI] ******************************************* ************************************************ ****************************
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 3 berubah = 2 tidak dapat dijangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

Sekarang, buka sistem windows dan periksa apakah aplikasi apache berhasil diinstal.

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
Versi server: Apache / 2.2.25 (Win32)
Server dibangun: 10 Jul 2013 01:52:12

Anda juga dapat menginstal aplikasi menggunakan MSI dengan argumen. Di bawah ini adalah contoh yang sama seperti di atas, tetapi alih-alih keadaan, kami menggunakan argumen instal untuk menginstal apache.

Kode YAML yang akan digunakan:

– nama: Instalasi Apache MSI

tuan rumah: menang

tugas:

– name: Unduh penginstal 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

– nama: Instal MSI

win_package:

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

argumen:

– /Install

– /pasif

– / norestart

Untuk menghapus instalasi aplikasi menggunakan file MSI, Anda perlu menggunakan modul win_package. Status absen berarti aplikasi akan dihapus instal menggunakan file MSI.

Di sini, saya menghapus instalasi Apache.

[dilindungi email] ~
$ vi uninstall_msi.yml

– nama: Menghapus Instalasi Apache MSI

tuan rumah: menang

tugas:

– nama: Hapus instalan MSI

win_package:

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

negara: tidak ada

Jalankan ansible-playbook untuk menghapus instalan menggunakan MSI.

[dilindungi email] ~
$ ansible-playbook uninstall_msi.yml

MAIN [Menghapus Instalasi Apache MSI] ****************************************** ************************************************ *********************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Batalkan MSI] ********************************************* ************************************************ **************************
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 2 berubah = 1 tidak terjangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

Sekarang, jika saya memeriksa versi apache, saya akan mendapatkan output di bawah ini ketika aplikasi dihapus.

C: \ Program Files (x86) \ Apache Software Foundation \ Apache2.2 \ bin>httpd -v ‘httpd’ tidak dikenali sebagai perintah internal atau eksternal,
program yang dapat dioperasikan atau file batch.

Copot Perangkat Lunak (.EXE)

Anda juga dapat menghapus perangkat lunak dengan file .exe menggunakan id produk dari perangkat lunak itu.

[dilindungi email] ~
$ vi uninstall.yml

– tuan rumah: menang

tugas:

– nama: Hapus instalasi 7-Zip dari exe

win_package:

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

product_id: 7-Zip

argumen: / S

negara: tidak ada

Jalankan ansible-playbook untuk menghapus 7-Zip.

[dilindungi email] ~
$ ansible-playbook uninstall.yml

MAIN [menangkan] ******************************************** ************************************************ ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Hapus instalan 7-Zip dari exe] ************************************** ************************************************ ************************************************ *****************
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ ************************************************ *********************************
192.168.0.102: ok = 2 berubah = 1 tidak dapat dijangkau = 0 gagal = 0 dilewati = 0 diselamatkan = 0 diabaikan = 0

Stop / Mulai / Mulai Ulang Layanan Windows

modul win_service ansible digunakan untuk memulai, menghentikan, atau me-restart layanan. Di sini, saya akan menunjukkan cara menghentikan layanan kucing jantan.

jendela tomcat mungkin

Anda perlu menyebutkan nama layanan dalam file YAML dan mengatur status untuk berhenti.

[dilindungi email] ~
$ vi service.yml

– tuan rumah: menang

tugas:

– nama: Hentikan layanan Tomcat

win_service:

nama: Tomcat8

negara: berhenti

Jalankan ansible-playbook untuk menghentikan layanan kucing jantan.

[dilindungi email] ~
$ ansible-playbook service.yml

MAIN [menangkan] ******************************************** ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Stop service Tomcat] ****************************************** ************************************************ ******************
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 2 berubah = 1 tidak terjangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

Jika Anda memeriksa layanan kucing jantan di sistem windows, sekarang statusnya berhenti.

windows tomcat berhenti mungkin

Anda dapat menentukan status untuk memulai atau memulai kembali atau berhenti untuk mengubah status layanan.

Mengumpulkan Fakta

Menggunakan modul win_disk_facts yang memungkinkan, Anda dapat mengambil semua informasi disk host target.

[dilindungi email] ~
$ vi disk.yml

– tuan rumah: menang
tugas:
– nama: Dapatkan fakta disk
win_disk_facts:

– nama: Keluarkan ukuran disk pertama
debug:
var: ansible_facts.disks [0] .size

– name: Konversikan disk sistem pertama menjadi berbagai format
debug:
Pesan: ‘{{disksize_gib}} vs {{disksize_gib_human}}’
vars:
# Dapatkan disk sistem pertama
disk: ‘{{ansible_facts.disks | selectattr ("system_disk") | pertama}} ‘

# Tampilkan ukuran disk di Gibibytes
disksize_gib_human: ‘{{disk.size | filesizeformat (true)}}’
disksize_gib: ‘{{(disk.size / 1024 | pow (3)) | round | int}} GiB’

Jalankan ansible-playbook untuk mendapatkan informasi disk.

[dilindungi email] ~
$ ansible-playbook disk.yml

MAIN [menangkan] ******************************************** ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Dapatkan fakta diska] ****************************************** ************************************************ **************************
ok: [192.168.0.102]

TUGAS [Keluaran ukuran disk pertama] ***************************************** ************************************************ *********************
ok: [192.168.0.102] => {

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

TUGAS [Konversi cakram sistem pertama menjadi berbagai format] ************************************** **********************************************
ok: [192.168.0.102] => {
"pesan": "932 GiB vs 931.5 GiB"
}

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 4 berubah = 0 tidak dapat dijangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

Menggunakan modul win_command ansible, Anda dapat menjalankan perintah pada host jarak jauh dan mendapatkan informasi CPU, detail perangkat, dan banyak lagi.

[dilindungi email] ~
$ vi check.yml

– tuan rumah: menang
tugas:
– nama: Dapatkan fakta disk
win_command: wmic cpu get caption, deviceid, name, numberofcores, maxclockspeed, status
daftar: penggunaan

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

Jalankan ansible-playbook untuk mendapatkan informasi sistem jarak jauh.

[dilindungi email] ~
$ ansible-playbook check.yml

MAIN [menangkan] ******************************************** ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Dapatkan fakta] ******************************************* ************************************************ ***************************
berubah: [192.168.0.102]

TUGAS [debug] ******************************************** ************************************************ *********************************
ok: [192.168.0.102] => {
"pesan": "Perangkat TeksID MaxClockSpeed
Nama
Status NumberOfCores \ 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"
}

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 3 berubah = 1 tidak terjangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0
diabaikan = 0

Menjalankan Perintah

Apa pun perintah yang Anda jalankan di jendela, perintah itu dapat dijalankan melalui modul win_command yang dimungkinkan. Anda hanya perlu menentukan perintah di file YAML Anda. Di sini, saya hanya membuat direktori.

[dilindungi email] ~
$ vi commands.yml

– tuan rumah: menang

tugas:

– name: jalankan executable menggunakan win_command

win_command: whoami.exe

– nama: jalankan perintah cmd

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

Jalankan ansible-playbook untuk melakukan operasi win_command.

[dilindungi email] ~
$ ansible-playbook commands.yml

MAIN [menangkan] ******************************************** ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [menjalankan yang dapat dieksekusi menggunakan win_command] **************************************** ************************************************ *******
berubah: [192.168.0.102]

TUGAS [jalankan perintah cmd] ******************************************* ************************************************ ************************
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 3 berubah = 2 tidak dapat dijangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

Variabel Lingkungan

Sistem windows memiliki beberapa variabel lingkungan, misalnya, JAVA_HOME. Menggunakan modul win_environment yang memungkinkan, Anda dapat menambah atau memodifikasi variabel lingkungan pada sistem windows. Dalam contoh ini, saya menambahkan variabel baru ke daftar variabel lingkungan windows.

[dilindungi email] ~
$ vi env.yml

– tuan rumah: menang
tugas:
– nama: Tetapkan variabel lingkungan untuk semua pengguna
win_environment:
negara: sekarang
nama: NewVariable
nilai: Nilai Baru
level: mesin

Jalankan ansible-playbook untuk menambahkan variabel lingkungan pada mesin windows jarak jauh.

[dilindungi email] ~
$ ansible-playbook env.yml

MAIN [menangkan] ******************************************** ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Tetapkan variabel lingkungan untuk semua pengguna] ************************************** ************************************************ ***
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 2 berubah = 1 tidak terjangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

Pergi ke jendela variabel lingkungan; Anda akan melihat variabel baru yang baru saja Anda tambahkan ada di sini.

variabel windows yang dimungkinkan

Tambah / Edit Registry

win_regedit modul yang memungkinkan digunakan untuk menambah atau mengedit detail registri pada mesin windows jarak jauh. Anda perlu memberikan jalur registri dan konten yang akan ditambahkan / diperbarui. Di sini saya membuat entri registri baru GeekFlare di dalam HKLM: \ SOFTWARE path dan kemudian menambahkan nama dan data ke registri ini.

[dilindungi email] ~
$ vi registry.yml

– tuan rumah: menang

tugas:

– nama: Membuat registri

win_regedit:

path: HKLM: \ SOFTWARE \ GeekFlare

– name: Memodifikasi registri, menambahkan nama dan data

win_regedit:

path: HKLM: \ SOFTWARE \ GeekFlare

nama: Geek

data: Flare

Jalankan ansible-playbook untuk menambahkan registri.

[dilindungi email] ~
$ ansible-playbook registry.yml

MAIN [menangkan] ******************************************** ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Membuat registri] ****************************************** ************************************************ ***********************
berubah: [192.168.0.102]

TUGAS [Memodifikasi registri, menambahkan nama dan data] *************************************** ************************************************ ***
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ *********************************
192.168.0.102
: ok = 3 berubah = 2 tidak dapat dijangkau = 0 gagal = 0
dilewati = 0 diselamatkan = 0 diabaikan = 0

Jika Anda masuk ke Penyunting Registri pada sistem jarak jauh, Anda dapat melihat registri ini telah berhasil ditambahkan dengan parameter Nama dan Data.

registry windows yang dimungkinkan

Hapus Log

modul win_eventlog ansible digunakan untuk menambah, menghapus, atau menghapus log kejadian windows dari sistem windows.

Pergi ke Windows Powershell, dan daftarkan EventLogs yang ada di mesin remote windows.

PS C: \ Users \ Geekflare> Dapatkan-EventLog -Daftar
Max (K) Mempertahankan Log Entri OverflowAction
—— —— ————– ——- —
20.480 0 OverwriteAsNeeded 33.549 Aplikasi
20.480 0 OverwriteDitambahkan 0 HardwareEvents
512 7 OverwriteOlder 20 Internet Explorer
20.480 0 OverwriteAsNeeded 0 Layanan Manajemen Kunci
128 0 OverwriteAsNeeded 190 OAlerts
Keamanan
20.480 0 OverwriteAsNeeded 44.828 Sistem
15.360 0 OverwriteAsNeeded 3.662 Windows PowerShell

Sekarang, saya akan menunjukkan cara menghapus log dari semua sumber untuk Internet Explorer.

[dilindungi email] ~
$ vi log.yml

– tuan rumah: menang
tugas:
– nama: Hapus Log Internet Explorer
win_eventlog:
nama: Internet Explorer
negara: tidak ada

Jalankan ansible-playbook untuk menghapus Internet Explorer dari mesin windows jarak jauh.

[dilindungi email] ~
$ ansible-playbook log.yml

MAIN [menangkan] ******************************************** ************************************************ ************************************************ ***********************************

TUGAS [Fakta Berkumpul] ******************************************* ************************************************ ************************************************ ************************
ok: [192.168.0.102]

TUGAS [Hapus Log Internet Explorer] ***************************************** ************************************************ ***********************************************
berubah: [192.168.0.102]

MAINKAN KEMBALI ********************************************** ************************************************ ************************************************ *********************************
192.168.0.102: ok = 2 berubah = 1 tidak dapat dijangkau = 0 gagal = 0 dilewati = 0 diselamatkan = 0 diabaikan = 0

Sekarang, jika Anda mendaftar EventLogs lagi, Anda akan melihat log Internet Explorer telah dihapus.

PS C: \ Users \ Geekflare> Dapatkan-EventLog -Daftar

Max (K) Mempertahankan Log Entri OverflowAction
—— —— ————– ——- —
20.480 0 OverwriteAsNeeded 33.549 Aplikasi
20.480 0 OverwriteDitambahkan 0 HardwareEvents
20.480 0 OverwriteAsNeeded 0 Layanan Manajemen Kunci
128 0 OverwriteAsNeeded 190 OAlerts
Keamanan
20.480 0 OverwriteAsNeeded 44.835 Sistem
15.360 0 OverwriteAsNeeded 56 Windows PowerShell

Jadi, itu semua tentang buku pedoman Ansible, yang dapat digunakan untuk administrasi windows jarak jauh. Silakan dan coba buku pedoman ini. Anda juga dapat mencoba yang lain Modul Windows yang mungkin tersedia.

TAGS:

  • Mungkin

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