30 April 2009

63 Bahasa Scripting Windows PowerShell (Terakhir)

Registry
Registry mempunyai dua elemen, key dan entry. Registry key, yang berfungsi sebagai container (mirip direktori), merupakan item pada drive Windows PowerShell. Mengakses registry key sama dengan mengakses file atau direktori. Terdapat dua root key yang dapat diakses, HKEY_CURRENT_USER dan HKEY_LOCAL_MACHINE. Sedangkan registry entry merupakan property dari registry key. Oleh sebab itu perlu pendekatan berbeda dibanding registry key.

Menampilkan Subkey dari Registry Key
Seperti yang telah dijelaskan, registry key merupakan item. Maka dari itu perlakuan terhadap registry key sama dengan file atau direktori. Kita bisa melihat isi dari registry key dengan cmdlet Get-ChildItem. Contoh berikut akan menampilkan item pada drive HKCU:
Get-ChildItem hkcu:







Perintah-perintah berikut menampilkan hasil yang sama dengan perintah diatas.
Get-ChildItem -Path Registry::HKEY_CURRENT_USER Get-ChildItem -Path Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER Get-ChildItem -Path Registry::HKCU Get-ChildItem -Path Microsoft.PowerShell.Core\Registry::HKCU Get-ChildItem -Path Registry::HKCU
Menyalin Registry Key
Menyalin registry key dilakukan dengan cmdlet Copy-Item. Perintah berikut akan menyalin HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion dan semua property ke HKCU:\ dan membuat key baru dengan nama “CurrentVersion”.
Copy-Item -Path ‘HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion’ -Destination hkcu:
Perintah diatas tidak menyalin subkey pada registry asal. Dengan menambahkan parameter Recurse, semua subkey juga akan disalin.
Copy-Item -Path ‘HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion’ -Destination hkcu: -Recurse

Membuat dan Menghapus Registry Key
Membuat registry key lebih mudah daripada membuat file atau direktori. Karena semua registry key adalah container, kita tidak perlu menyediakan ItemType.
New-Item -Path hkcu:\software\tes
Begitu pula untuk menghapus dengan menggunakan cmdlet Remove-Item.
Remove-Item -Path hkcu:\Software\tes
Berikan parameter Recurse jika tidak ingin ditanya untuk tiap item yang dihapus.
Remove-Item -Path hkcu:\Software\tes -Recurse
Perintah diatas akan menghapus registry key HKCU:\Software\tes beserta isinya. Untuk menghapus isinya saja gunakan perintah berikut.
Remove-Item -Path hkcu:\Software\tes\* -Recurse

Menampilkan Registry Entry
Untuk menampilkan registry entry dari sebuah registry key kita bisa menggunakan cmdlet Get-Item. Registry key mempunyai property dengan nama “Property” yang berisi daftar registry entry.
Get-Item -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion | Select-Object -ExpandProperty Property











Hasil yang ditampilkan perintah diatas adalah kumpulan registry entry. Untuk menampilkan registry entry beserta nilai datanya, gunakan perintah berikut.
Get-ItemProperty -Path Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion









Membuat dan Menghapus Registry Entry
Cmdlet New-ItemProperty digunakan untuk membuat Registry Entry. Pada contoh ini kita akan menambahkan entry baru dengan nama “PowerShellPath” bersama dengan path ke registry key, PropertyTipe dan nilai dari entry tersebut. Nilai dari registry entry tersebut adalah variabel $PSHome, yang menyimpan direktori instalasi dari Windows PowerShell.
New-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath -PropertyType String -Value $PSHome
Perintah diatas akan menghasilkan informasi mengenai entry baru yang dihasilkan.




PropertyType merupakan salah satu dari pilihan berikut.

  • Binary. Data biner.
  • DWord. Nilai valid 32 bit integer.
  • ExpandString. String yang dapat berisi variabel environment.
  • MultiString. String multi baris.
  • String. Nilai string.
  • QWord. Data biner 8 byte.
Untuk menghapus registry entry, gunakan cmdlet Remove-ItemProperty.
Remove-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion -Name PowerShellPath

Tidak ada komentar:

Posting Komentar