Pastikan untuk membaca artikel sebelumnya dalam rangkaian:
- Pelajari Cara Mengotomatiskan Windows dengan PowerShell
- Belajar Menggunakan Cmdlet di PowerShell
- Mempelajari Cara Menggunakan Objek di PowerShell
- Belajar Memformat, Memfilter dan Membandingkan dalam PowerShell
- Belajar Menggunakan Remoting di PowerShell
- Menggunakan PowerShell untuk Mendapatkan Informasi Komputer
Dan nantikan terus sisa serial ini sepanjang minggu.
Menggunakan Batch Cmdlet
Sebelumnya di dalam seri, ketika kami memperkenalkan Anda ke pipeline, kami menunjukkan Anda bagaimana Anda dapat mengambil objek yang satu cmdlet output dan meneruskannya sebagai masukan ke cmdlet lain menggunakan sesuatu seperti ini:
Get-Process -Name notepad | Stop-Process
Ini akan membunuh proses apa pun dengan nama "notepad". Tetapi Anda mungkin bertanya-tanya bagaimana PowerShell mampu membunuh setiap instance dari notepad dengan satu perintah. Jawabannya ada pada bantuan cmdlet Stop-Process.
help Stop-Process –Full
Jika Anda melihat baris kode terakhir di bagian sintaks, Anda dapat melihat bahwa parameter InputObject menerima objek bertipe Proses , dan kapan pun Anda melihat tipe yang diikuti oleh dua tanda kurung siku seperti itu berarti parameter tersebut menerima satu atau lebih dari tipe sebelumnya. Dalam hal ini, ia menerima satu atau lebih objek proses. Secara teknis, kami akan mengatakan bahwa cmdlet InputObject menerima proses larik. Setiap kali Anda memiliki cmdlet yang mendukung operasi batch dengan cara ini, gunakanlah. Ini adalah pilihan nomor satu.
Menggunakan WMI
Meskipun WMI bukanlah teknologi terbaik untuk dikirimkan dari Microsoft HQ, namun WMI berada pada urutan kedua dalam daftar cara bekerja dengan koleksi objek. Kita bisa dengan mudah mendapatkan daftar proses yang berjalan dari kelas Win32_Process seperti:
Get-WmiObject –Class Win32_Process
Get-WmiObject –Class Win32_Process | Get-Member
Get-WmiObject -Class Win32_Process -Filter “name=’notepad.exe'” | Invoke-WmiMethod -Name Terminate
Pencacahan
Gagal dengan dua metode lainnya, jika Anda harus melakukan sesuatu pada sekelompok objek, Anda dapat menyebutkan seluruh objek dan bertindak pada setiap objek individual. Pertama Anda harus menemukan metode yang akan Anda gunakan untuk menghentikan satu proses.
Get-Process | Get-Member -MemberType Method
Get-Process -Name notepad | ForEach-Object -Process {$_.Kill()}
Ringkasan
Pilihan Satu
Get-Process -Name notepad | Stop-Process
Pilihan Dua
Get-WmiObject -Class Win32_Process -Filter “name=’notepad.exe'” | Invoke-WmiMethod -Name Terminate
Pilihan Tiga
Get-Process -Name notepad | ForEach-Object -Process {$_.Kill()}
Itu saja untuk orang-orang ini, sampai jumpa minggu depan untuk lebih banyak kesenangan PowerShell.