Apa itu cmdlet?
Cmdlet — diucapkan command-let — adalah perintah kecil dan ringan yang digunakan dalam lingkungan Windows PowerShell. Cmdlet biasanya berupa skrip kecil yang dirancang untuk melakukan satu fungsi spesifik, seperti menyalin file dan mengubah direktori. Cmdlet dan parameter yang relevan dapat dimasukkan pada baris perintah PowerShell untuk dieksekusi secara langsung atau dimasukkan sebagai bagian dari skrip PowerShell yang lebih panjang yang dapat dijalankan sesuai kebutuhan.
Bagaimana cmdlet bekerja?
Cmdlet menggunakan pola penamaan kerja/obyek (verb/noun) yang dirancang untuk membuat setiap cmdlet lebih mudah diingat dan dibaca. Misalnya, perintah Get-ChildItem
menggunakan kata kerja *Get* diikuti oleh kata benda *ChildItem*. Ketika dieksekusi melalui lingkungan runtime PowerShell, perintah ini mencantumkan atau mengembalikan item di satu atau lebih lokasi yang ditentukan. Jika item berada dalam kontainer, perintah akan mengambil item di dalam kontainer tersebut, yakni item anak (*child items*).
Cmdlet didasarkan pada kelas .NET dan bergantung pada penggunaan objek .NET. Oleh karena itu, cmdlet dapat menerima objek sebagai input dan menghasilkan objek sebagai output, yang kemudian dapat menjadi input untuk objek berikutnya, memungkinkan cmdlet membentuk pipeline perintah.
Sebagian besar cmdlet mendukung penggunaan parameter sebagai bagian dari mekanisme input. Parameter dapat ditambahkan ke cmdlet pada baris perintah atau diteruskan ke cmdlet melalui pipeline sebagai output dari cmdlet sebelumnya. Argumen atau nilai parameter menentukan input yang diterima cmdlet, cara kerja cmdlet, dan data apa yang dihasilkan. Switch adalah argumen khusus yang menawarkan opsi atau seleksi yang telah ditentukan.
Cmdlets vs. Functions
Meskipun PowerShell bergantung pada pemrosesan cmdlet, ada jenis perintah lain yang disebut fungsi. Fungsi juga diproses melalui PowerShell dan sering digunakan dalam skrip. Cmdlet berbeda dari fungsi dalam beberapa hal penting:
Asal: Cmdlet adalah kelas .NET yang ditulis dalam bahasa pemrograman seperti C#. Sebaliknya, fungsi ditulis langsung menggunakan bahasa PowerShell.
Kompleksitas: Fungsi cenderung lebih panjang dan kompleks, sementara cmdlet dirancang untuk tugas kecil.
Cmdlet Populer
Ada ratusan cmdlet bawaan di PowerShell, dan ribuan lainnya dapat ditambahkan untuk mendukung aplikasi canggih seperti platform virtualisasi.
Berikut daftar beberapa cmdlet populer:
Cmdlet | Fungsi |
Get-Location | Mengambil direktori saat ini |
Get-Help | Mendapatkan informasi tentang cmdlet |
Restart-Computer | Merestart komputer lokal atau remote |
Menulis Cmdlet Sederhana
Untuk membuat cmdlet, gunakan bahasa seperti C#. Beberapa langkah utama meliputi:
Menentukan kelas cmdlet, seperti:
using System.Management.Automation;
Menamai cmdlet menggunakan format [Cmdlet(VerbsCommunications.Send, "TestMessage")]
.
Gunakan dokumentasi terbaru untuk memastikan kompatibilitas dengan PowerShell modern, termasuk PowerShell 7.x berbasis platform lintas sistem.