PowerShell Menemukan Fitur Dan Peran di Server Windows II

PowerShell Menemukan Fitur Dan Peran di Server Windows II – Mendapatkan tingkat detail ekstra dari Get-WindowsFeature

PowerShell Menemukan Fitur Dan Peran di Server Windows II

Jika Anda menjalankan Get-WindowsFeature, Anda mendapatkan hasil yang diformat dalam tiga kolom: Nama Tampilan, Nama, dan Status Pemasangan. Detail ini memberikan titik awal untuk mengevaluasi susunan server Anda, tetapi ada lebih banyak detail yang tersembunyi di bawah permukaan jika Anda menggunakan cmdlet yang tepat. premium303

Sekali lagi menggunakan Hyper-V sebagai contoh, lihat di bawah bagaimana cmdlet Select-Object memperluas tampilan output.

“Name” adalah nama pendek dari peran atau fitur, dan “DisplayName” adalah nama yang mudah dibaca. Dalam hal ini, mereka kebetulan sama Hyper-V.

Bidang Installed dan InstallState serupa tetapi memiliki beberapa perbedaan utama. Dipasang adalah bidang Boolean (Benar atau Salah) sehingga sangat mudah untuk memfilter. Misalnya, one-liner seperti:

Dapatkan-WindowsFeature | Dimana-Obyek Dipasang

akan memberikan daftar hanya peran dan fitur yang diinstal pada server.

InstallState memiliki tiga nilai potensial: Dipasang, Tersedia, atau Dihapus. Perbedaan utama di sini adalah perbedaan antara Tersedia dan Dihapus. Keduanya menunjukkan fitur tersebut saat ini tidak diinstal dan berjalan, tetapi Tersedia berarti fitur tersebut tersedia untuk diinstal langsung dari sistem.

Dihapus berarti bahkan file penginstalan telah dihapus dari sistem, jadi untuk menginstal fitur tersebut Anda perlu melakukannya dari media.

Kumpulan bidang berikutnya berbicara tentang bagaimana peran dan fitur berhubungan satu sama lain. Bidang DependsOn merujuk pada fitur lain yang diperlukan. Bidang Induk dan SubFitur mengidentifikasi hubungan antar fitur, menunjukkan fitur yang merupakan induk langsung dari fitur yang Anda instal atau subkomponen opsional.

Tidak semua peran, dan tentu saja tidak semua fitur, memiliki layanan Windows, tetapi beberapa peran server memiliki beberapa layanan yang dimanfaatkan untuk menjalankan fungsinya.

Get-WindowsFeature mencantumkan layanan ini di bidang “Layanan Sistem”, sehingga Anda dapat menemukan layanan mana yang berbasis peran dan kemudian memeriksa statusnya untuk memastikan mereka berjalan dengan benar.

Invoke-Command untuk mengurangi kueri individual

Seringkali saat menggunakan PowerShell untuk melakukan tindakan massal terhadap daftar sistem, Anda perlu melakukan lebih dari satu tugas atau cmdlet terhadap setiap sistem. Microsoft menawarkan beberapa metode berbeda untuk mencapai ini, tetapi di sini kita akan fokus pada cmdlet Invoke-Command.

Invoke-Command menggunakan dua parameter utama, yang pertama adalah -Computername (dari variasi yang menerima lebih dari satu nilai), dan yang kedua adalah -ScriptBlock, yang memungkinkan Anda untuk menentukan serangkaian perintah yang akan dijalankan terhadap sistem jarak jauh. Karena PowerShell sangat konsisten dalam penamaan dan sintaks, kode yang digunakan untuk menanyakan beberapa komputer untuk peran dan fiturnya sangat mudah:

$features = Invoke-Command -ComputerName ‘srv01’, ‘srv02’, ‘srv03’ -ScriptBlock { Get-WindowsFeature }

Di sini output lengkap dari cmdlet Get-WindowsFeature ditetapkan ke variabel $features. Ini memungkinkan menganalisis informasi yang dikembalikan dalam berbagai cara tanpa harus menjalankan kembali cmdlet terhadap komputer jarak jauh, yang kemungkinan akan menghasilkan kinerja yang lebih baik daripada sekadar menyimpan data dalam memori untuk waktu yang singkat.

Salah satu cara agar data yang terkandung dalam variabel $features dapat digunakan adalah dengan membuat daftar fitur yang diinstal:

$fitur | Dimana-Obyek Dipasang | Format-Nama Tabel, DisplayName, InstallState, PSComputerName

Ini dimulai dengan variabel $features dan memfilter hasilnya ke instance di mana nilai Installed adalah true kemudian memformat output sebagai tabel yang menampilkan kolom yang ditentukan.

Contoh lain adalah untuk menampilkan peran server yang diinstal ke file CSV, yang memungkinkan untuk berbagi melalui email atau penyimpanan file atau analisis melalui Excel.

Anda akan mulai dengan variabel $features lagi, membatasi peran server yang diinstal (bukan fitur), dan kemudian mengekspor ke file CSV menggunakan satu baris PowerShell:

$fitur | Where-Object {$_.Installed -and $_.FeatureType -eq ‘Role’} | Ekspor-CSV ‘C:\Users\Administrator\Documents\ServerRoles.csv’

Waktu yang dihabiskan untuk mempelajari PowerShell dapat menghemat waktu

Bahasa skrip PowerShell tidak diragukan lagi merupakan salah satu kontribusi signifikan yang telah dibuat Microsoft untuk pusat data dan admin sistem yang bekerja terlalu keras dalam dekade terakhir.

Ini tidak hanya kuat dan diimplementasikan dengan cukup di mana-mana untuk berguna di berbagai sistem operasi Microsoft dan platform cloud, tetapi juga memiliki struktur yang konsisten dan kohesif, dan komunitas yang sehat yang membantu mendorong praktik terbaik dan kasus penggunaan yang mapan.

Banyak admin sistem memiliki PowerShell dalam daftar hal-hal untuk dipelajari di beberapa titik karena dapat menghemat waktu melakukan tugas sehari-hari, tetapi itu bisa menjadi Catch-22:

PowerShell Menemukan Fitur Dan Peran di Server Windows II

 Menghemat waktu memerlukan investasi waktu di muka untuk mempelajarinya. Mungkin pengenalan ini memberikan dorongan yang dibutuhkan untuk membuat lompatan itu.