22 April 2009

Bahasa Scripting Windows PowerShell (Bagian 1)

Windows PowerShell menjawab kekurangan sistem operasi Windows terhadap manajemen sistem melalui console. Hal ini membuat Windows PowerShell cocok bagi para administrator Windows. Banyaknya fitur yang ditawarkan membuat Windows PowerShell juga cocok untuk administrator yang mengetahui UNIX, karena UNIX juga mempunyai bahasa scripting yang powerful seperti BASH. Meskipun begitu mungkin butuh waktu bagi kita untuk membiasakannya karena adanya perbedaan pada perintah, sintaks, maupun paradigma.

Menampilkan Daftar Perintah
Dengan perintah Get-Command kita bisa mendapatkan daftar semua cmdlet. Untuk mendapatkan deskripsi atau bantuan tentang cmdlet ini, kita bisa menambahkan parameter -h menjadi:
Get-Command -h
Penulisan huruf besar dan huruf kecil sama saja (case insesitive). Parameter pada tiap cmdlet konsisten dimulai dengan karakter - (minus). Meskipun tidak selalu begitu, tapi merupakan standar. Berikut ini contoh output tampilan di layar dari cmdlet Get-Command.










Hasil yang sama kita dapatkan dengan mengetikkan perintah:
Get-Help Get-Command
Atau bisa juga dengan gaya UNIX:
man Get-Command
Jumlah cmdlet yang ada mungkin ada ratusan, jadi melebihi satu layar. Kita bisa membatasi output yang ditampilkan per satu layar dan menunggu input dari user untuk menekan tombol seperti pada gambar diatas, dengan mengetikkan perintah Get-Command | more. Cara ini juga ada pada command shell tradisional Windows. Output pada kolom pertama adalah CommandType. Ada 7 CommandType:

  • Alias
  • Function
  • Filter
  • Cmdlet
  • ExternalScript
  • Application
  • Script
Jika kita mengetikkan Get-Command saja maka yang ditampilkan hanya yang CommandType-nya cmdlet saja. Untuk menampilkan semuanya ketikkan:
Get-Command *
Atau kita bisa membatasi output yang tampil hanya cmdlet yang namanya dimulai dengan karakter “a”.
Get-Command -CommandType Cmdlet -Name a*

Alias
Salah satu kemampuan Windows PowerShell adalah mereferensikan suatu perintah ke perintah atau cmdlet lain (aliasing). Misalnya jika kita ketik perintah dir atau ls akan menampilkan isi direktori. Memanggil perintah tersebut akan sama hasilnya dengan menjalankan cmdlet Get-ChildItem. Perintah dir atau ls merupakan alias dari cmdlet Get-ChildItem. Jadi jika kita mengetikkan dir atau ls sebenarnya kita menjalankan cmdlet Get-ChildItem. Contoh lain adalah perintah cls atau clear yang merupakan alias dari cmdlet Clear-Host. Hal ini sangat berguna bagi user yang familiar dengan perintah-perintah pada command shell tradisional Windows atau UNIX/Linux.
Untuk mendapatkan nama asli (cmdlet) dari sebuah alias kita bisa menggunakan cmdlet Get-Alias, misalnya:
Get-Alias dir
Bahkan kita bisa membuat alias kita sendiri dengan menggunakan cmdlet SetAlias. Misal kita membuat alias dengan nama liatdir dari cmdlet Get-ChildItem.
Set-Alias -Name liatdir -Value Get-ChildItem
Windows PowerShell juga menggunakan mekanisme alias untuk perintah-perintah umum seperti dir, cd, del, copy, dan lain-lain pada saat start-up, tapi tidak dapat diubah. Jika kita mengubah perintah tersebut dengan Set-Alias maka akan menampilkan error.
Set-Alias -Name dir -Value Get-Location



Jika kita ingin menghapus suatu alias bisa dengan menggunakan cmdlet Remove-Item.
Remove-Item alias:liatdir
Yang perlu diperhatikan adalah jika kita keluar dari Windows PowerShell, maka semua alias yang kita buat otomatis dihapus, artinya alias tersebut hanya berlaku untuk session yang bersangkutan saja. Jika kita membuka session baru, kita harus membuat ulang alias tersebut supaya dapat memakainya lagi.

1 komentar: