Lampiran - Jawaban atas Pertanyaan Ulasan

Lampiran ini memberikan jawaban ringkas atas pertanyaan ulasan yang ditemukan di akhir setiap bab. Gunakan untuk memvalidasi pemahaman Anda dan memperkuat konsep utama.

Bab 1 - Mulai menggunakan PowerShell

  1. $PSVersionTable Gunakan variabel otomatis.
  2. Hanya ketika Anda perlu melewati Kontrol Akun Pengguna (UAC) untuk tugas yang memerlukan elevasi di komputer lokal.
  3. Kebijakan eksekusi default pada sistem klien Windows Restricted, yang mencegah menjalankan skrip.
  4. Gunakan Get-ExecutionPolicy untuk menentukan kebijakan eksekusi saat ini.
  5. Gunakan Set-ExecutionPolicy (misalnya, Set-ExecutionPolicy -ExecutionPolicy RemoteSigned).

Bab 2 - Sistem Bantuan

  1. No. Parameter DisplayName bernama, tidak berdasarkan posisi Get-Service.
  2. Get-Process memiliki enam kumpulan parameter.
  3. Gunakan Get-Command -Noun EventLog.
  4. Gunakan Get-Process -Name powershell.
  5. Jalankan Update-Help (dengan hak administrator di Windows PowerShell) untuk mengunduh dan menginstal konten bantuan terbaru.

Bab 3 - Menemukan objek, properti, dan metode

  1. Get-Process menghasilkan objek System.Diagnostics.Process.
  2. Alihkan perintah ke Get-Member.
  3. Periksa apakah objek memiliki metode yang melakukan tindakan.
  4. Gunakan parameter perintah PassThru , jika memilikinya.
  5. Jalankan perintah sekali dan simpan hasilnya dalam variabel untuk menghindari berulang kali menghasilkan output dalam jumlah besar saat membuat prototipe.

Bab 4 - One-Liners dan pipa

  1. PowerShell one-liner adalah satu alur berkelanjutan, terlepas dari berapa banyak garis fisik yang dijangkaunya.
  2. Hentian baris alami dapat terjadi pada karakter seperti pipa (|), koma (,), kurung siku pembuka ([ ]), kurung kurawal ({ }), dan tanda kurung (( )).
  3. Anda harus memfilter ke kiri untuk meningkatkan performa dan efisiensi dengan mengurangi jumlah data yang diteruskan melalui alur.
  4. Perintah dapat menerima input alur berdasarkan nilai (berdasarkan jenis) atau menurut nama properti.
  5. Karena sebagian besar konten dalam PowerShell Gallery berkontribusi pada komunitas dan mungkin tidak diperiksa, konten tersebut harus ditinjau dan diuji sebelum digunakan.

Bab 5 - Pemformatan, alias, penyedia, perbandingan

  1. Karena cmdlet pemformatan menghasilkan objek format, yang merusak alur dan tidak dapat digunakan oleh sebagian besar perintah lainnya.
  2. Gunakan Get-Alias -Name % untuk menentukan cmdlet aktual.
  3. Karena alias mengurangi keterbacaan dan portabilitas, membuat skrip lebih sulit dipahami orang lain.
  4. Gunakan Get-ChildItem -Path HKLM:\, HKCU:\ untuk mencantumkan kunci registri di kedua sarang.
  5. Operator -replace tidak peka huruf besar/kecil secara default, sedangkan metode .Replace() bersifat peka huruf besar/kecil.

Bab 6 - Kontrol alur

  1. ForEach-Object memproses item satu per satu dari pipeline (streaming), sementara foreach statement memproses item dari koleksi yang sudah dimuat ke dalam memori.
  2. Perulangan while mengevaluasi kondisinya sebelum berjalan, sehingga mungkin tidak berjalan sama sekali jika kondisinya salah, tidak seperti do while dan do until, yang berjalan setidaknya sekali.
  3. break keluar dari perulangan sepenuhnya, sambil continue melewati iterasi saat ini dan melanjutkan ke perulangan berikutnya.

Bab 7 - Bekerja dengan WMI

  1. Cmdlet WMI (misalnya, Get-WmiObject) lebih lama dan menggunakan DCOM, sementara cmdlet CIM (misalnya, Get-CimInstance) lebih baru dan menggunakan WSMan secara default.
  2. WSMan (Windows Remote Management).
  3. Sesi CIM memungkinkan penggunaan kembali koneksi, mendukung kredensial alternatif, meningkatkan performa, dan menyederhanakan pengelolaan beberapa koneksi jarak jauh.
  4. Buat opsi sesi dengan New-CimSessionOption, misalnya, untuk menggunakan DCOM, dan teruskan ke New-CimSession, lalu gunakan sesi tersebut dengan Get-CimInstance.
  5. Gunakan Remove-CimSession.

Bab 8 - PowerShell pengendalian jarak jauh

  1. Gunakan Enable-PSRemoting.
  2. Gunakan Enter-PSSession.
  3. Ini memungkinkan Anda untuk menggunakan sesi persisten alih-alih menentukan nama komputer dan kredensial dengan setiap perintah.
  4. Ya, Anda dapat menggunakan sesi PowerShell (PSSession) dalam skenario jarak jauh interaktif satu-ke-satu.
  5. Cmdlet yang dijalankan secara lokal mengembalikan objek langsung dengan metode, sementara perintah jarak jauh mengembalikan objek yang dideserialisasi tanpa metode.

Bab 9 - Fungsi

  1. Gunakan Get-Verb.
  2. [CmdletBinding()] Tambahkan atribut ke fungsi .
  3. Ketika fungsi membuat perubahan pada status sistem atau melakukan tindakan yang berpotensi berdampak.
  4. Tentukan -ErrorAction Stop.
  5. Untuk mendokumen cara menggunakan fungsi sehingga Anda dan orang lain dapat dengan mudah memahaminya dan mengakses bantuan dengan Get-Help.

Bab 10 - Modul Skrip

  1. Buat .psm1 file dan letakkan fungsi Anda di dalamnya.
  2. Menggunakan kata kerja yang disetujui memastikan konsistensi, menghindari peringatan, dan meningkatkan penemuan.
  3. Gunakan New-ModuleManifest.
  4. Gunakan Export-ModuleMember dalam .psm1 file atau tentukan fungsi di FunctionsToExport bidang .psd1 file.
  5. Modul harus berada dalam folder bernama sama dengan modul, yang terletak di jalur yang tercantum di $env:PSModulePath, dan berisi file modul yang sesuai (.psm1 atau manifes).

Catatan Akhir

  • Jawaban ini sengaja ringkas untuk memperkuat konsep utama.
  • Kunjungi kembali bab-bab untuk pemahaman yang lebih mendalam.