24 April 2009

Bahasa Scripting Windows PowerShell (Bagian 3)

Mengirim Data Menggunakan Cmdlet Out-*
Mengirim data disini maksudnya adalah mengirim data dari output dengan tujuan untuk ditampilkan di layar, atau dicetak melalui printer, atau disimpan kedalam file. Biasanya kita menggunakan cmdlet ini dengan input dari output cmdlet lain (menggunakan pipe). Misalnya jika kita mengetikkan perintah:
Get-ChildItem | Out-Host
Akan menampilkan isi direktori ke layar. Ada 4 tujuan utama pengiriman data.
Console/layar (Out-Host)
File (Out-File)
Printer (Out-Printer)
Tidak ditampilkan/dibuang (Out-Null)

Menampilkan Data pada Console/Layar (Out-Host)
Secara default Windows PowerShell mengirimkan data ke layar, dimana fungsi ini sama persis dengan yang dilakukan cmdlet Out-Host. Pada posting sebelumnya sudah pernah cmdlet ini menjadi contoh. Misalnya dengan perintah berikut akan menampilkan isi dari suatu direktori ke layar yang akan ditampilkan per halaman layar.
Get-ChildItem | Out-Host -Paging
Hal yang sama kita dapatkan jika kita dapatkan jika kita menggunakan fungsi more. Pada Windows PowerShell more adalah sebuah fungsi yang memanggil Out-Host -Paging.
Get-ChildItem | more
Fungsi more juga dapat digunakan untuk menampilkan isi dari file ke layar.
more C:\boot.ini

Menyimpan Data ke File (Out-File)
Jika kita menggunakan cmdlet Out-File, data yang dikirim akan disimpan ke suatu file. Misalnya:
Get-ChildItem | Out-File -FilePath “C:\isidir.txt”
Perintah diatas akan membuat file baru, jika sudah ada maka file tersebut akan di tumpuki. Untuk menambah isi file kita bisa menggunakan parameter Append.
Get-ChildItem | Out-File -FilePath “C:\isidir.txt” -Append
Secara default cmdlet Out-File akan membuat file unicode. Dengan begitu mungkin hasil output file yang dihasilkan mungkin tidak sesuai dengan yang kita harapkan. Kita dapat menghasilkan file bentuk ASCII dengan menggunakan parameter Encoding.
Get-ChildItem | Out-File -FilePath “C:\isidir.txt” -Encoding ASCII
Format file yang disimpan ke file akan tampak seperti output pada console. Pada sebagian kasus, hal ini akan menyebabkan output yang terpotong karena tidak cukup pada layar. Kita bisa memaksa supaya output tidak dipotong dengan menggunakan parameter Width yang merupakan panjang baris. Karena parameter Width tipenya 32 bit integer, maka nilai maksimum adalah 2147483647. Perintah berikut akan mengeset panjang baris ke nilai maksimum.
Get-ChildItem | Out-File -FilePath “C:\isidir.txt” -Width 2147483647

Mencetak Data ke Printer (Out-Printer)
Cmdlet ini digunakan untuk mencetak data ke printer. Jika kita tidak memberikan nama printer sebagai parameter, maka yang digunakan adalah printer default.
Get-ChildItem | Out-Printer -Name “Canon BJC-265SP”

Tidak Menampilkan Data/Dibuang (Out-Null)
Cmdlet ini tidak akan menampilkan hasil/output. Ini berguna jika kita tidak memerlukan data yang dihasilkan. Misalnya untuk melakukan suatu proses tapi kita tidak memerlukan hasil/output dari proses yang dijalankan.
Get-ChildItem | Out-Null

Drive Windows PowerShell
Drive pada Windows PowerShell tidak melulu tentang disk drive. Selain drive pada disk ada fungsi, variabel, registry dan lain-lain, yang bisa diakses seperti layaknya mengakses disk drive. Get-PSDrive merupakan cmdlet untuk menampilkan informasi tentang drive pada Windows PowerShell. Dibawah ini adalah contoh tampilan setelah eksekusi cmdlet Get-PSDrive.






Daftar tersebut bisa berbeda. Kita bisa menambahkan atau menghapus drive yang ada. Pada gambar diatas bisa kita lihat drive C, D, E dan F mempunyai provider FileSystem. FileSystem ini bisa berupa partisi pada hard disk, disk drive atau removable disk drive. Untuk mengetahui apa saja provider yang ada bisa menggunakan cmdlet Get-PSProvider. Kita bisa mengakses drive tersebut dengan cara yang sama seperti kita mengakses drive pada command shell tradisional. Pada command shell tradisional kita mengetikan perintah cd D: untuk berpindah ke drive D. Cara yang sama untuk mengakses drive pada Windows PowerShell. Untuk berpindah drive bisa menggunakan Set-Location (mirip jika kita berpindah drive pada console tradisional dengan mengetikkan cd ).
Set-Location Alias:
Dengan mengetikkan perintah diatas, kita berpindah drive ke drive Alias yang berisi daftar alias yang ada. Fitur ini mirip dengan UNIX/Linux yang menganggap semua hal adalah file.

Menambah Drive Windows PowerShell
Cmdlet yang digunakan untuk menambah drive adalah New-PSDrive. Cmdlet New-PSDrive membutuhkan tiga parameter:
Nama drive. Nama yang unik, tidak boleh kembar.
PSProvider. Provider yang valid untuk Windows PowerShell. (cmdlet Get-PSProvider untuk menampilkan provider yang ada).
Root. Merupakan path ke drive yang dituju.
Misalnya kita ingin membuat drive dengan nama “sys32”. Drive ini merupakan direktori pada disk dengan tujuan C:\Windows\system32.
New-PSDrive -Name sys32 -PSProvider FileSystem -Root C:\Windows\system32
Setelah sukses menambahkan drive, kita bisa melihat isi dari drive tersebut dengan cmdlet Get-ChildItem.

Menghapus Drive Windows PowerShell
Menghapus drive Windows PowerShell dapat menggunakan cmdlet Remove-PSDrive. Parameter yang dibutuhkan adalah nama drive.
Remove-PSDrive -Name sys32
Kita tidak dapat menghapus drive jika kita berada pada drive yang bersangkutan.

Tidak ada komentar:

Posting Komentar