(bhs indonesia)_file_2013-05-27_110420_ag._cahyono_w._s

advertisement
Windows Registry
Dari Wikipedia bahasa Indonesia, ensiklopedia bebas
Registry, dalam platform sistem operasi Microsoft Windows 32-bit, merupakan sebuah basis
data yang disusun secara hierarkis yang mengandung informasi mengenai konfigurasi sebuah
sistem, mulai dari konfigurasi perangkat keras, perangkat lunak, asosiasi ekstensi berkas dengan
aplikasinya hingga preferensi pengguna. Registry merupakan pengganti berkas-berkas
konfigurasi *.INI yang digunakan dalam sistem Windows 16-bit (Windows 3.x dan Windows
for Workgroups). Registry, pertama kali diperkenalkan di dalam sistem Windows 16-bit sebagai
penampung informasi mengenai pemetaan/asosiasi ekstensi berkas dengan aplikasinya, dan
kemudian dikembangkan menjadi basis data dengan cakupan yang luas pada sistem-sistem
operasi keluarga Windows NT. Registry juga kemudian digunakan pada sistem operasi kelas
rumahan: Windows 95, Windows 98 dan Windows ME, tapi memang implementasi yang cukup
bagus dari registry terdapat di dalam keluarga sistem operasi Windows NT.
Daftar isi
[sembunyikan]
1 Selayang pandang
o 1.1 Registry dalam Windows 16-bit
o 1.2 Registry dalam Windows 9x
o 1.3 Registry dalam Windows NT
2 Berkas fisik registry
o 2.1 Windows NT, 2000, XP, dan Server 2003
o 2.2 Windows 95, 98, dan Me
o 2.3 Windows 3.x
3 Struktur registry
o 3.1 Daftar anak pohon Registry
 3.1.1 HKEY_LOCAL_MACHINE
 3.1.2 HKEY_CURRENT_USER
 3.1.3 HKEY_USERS
 3.1.4 HKEY_CURRENT_CONFIG
 3.1.5 HKEY_CLASSES_ROOT
 3.1.6 HKEY_DYN_DATA
o 3.2 Jenis data dalam registry
4 Menyunting registry
o 4.1 Editor registry bawaan Windows
o 4.2 Penyuntingan dengan menggunakan command-line
o 4.3 Penyuntingan dengan menggunakan skrip/bahasa pemrograman
o 4.4 Bahaya dari menyunting registry
5 Policy file (berkas kebijakan)
o 5.1 Editor policy file
6 Keuntungan dari konsep Registry
[sunting] Selayang pandang
[sunting] Registry dalam Windows 16-bit
Registry dalam sistem Windows 16-bit (dimulai pada Windows 3.x) berguna hanya untuk
menyimpan asosiasi ekstensi berkas dengan aplikasinya, serta asosiasi objek OLE di dalam
dokumen dengan aplikasinya. Implementasi ini masih terbilang sederhana, karena jika
dibandingkan dengan registry dalam Windows NT dan Windows 9x, asosiasi ekstensi berkas dan
objek OLE hanya memakan satu anak pohon (subtree) saja, yakni di dalam
HKEY_CLASSES_ROOT.
[sunting] Registry dalam Windows 9x
Dalam sistem operasi Windows 95, Windows 98, dan Windows Millennium Edition, struktur
registry secara logis sama dengan struktur registry dalam Windows NT, tapi tidak kompatibel
secara fisik. Dalam sistem operasi ini terdapat sebuah anak pohon tambahan, yakni
HKEY_DYN_DATA yang dibuat secara dinamis dan digunakan untuk mengukur performa serta
melakukan konfigurasi perangkat keras Plug and Play. Windows 9x menyimpan registry di
dalam dua buah berkas, yakni %WINDIR%\system.dat dan %WINDIR%\user.dat. System.dat
mengandung informasi mengenai sebuah komputer tertentu, sementara user.dat mengandung
informasi mengenai sebuah profil milik pengguna. Ketika booting, Windows 9x akan memuat
registry ke dalam ruangan kernel di dalam memori fisik.
[sunting] Registry dalam Windows NT
Registry dalam Windows NT, Windows 2000, Windows XP dan Windows Server 2003 terbagi
secara logis ke dalam lima buah anak pohon (subtree), yang setiap pohon tersebut mengandung
kumpulan kunci (key) dan anak kunci (subkey) yang disusun secara hierarkis. Susunan ini sama
dengan susunan direktori dalam sistem berkas. Sementara itu, secara fisik, registry terdiri atas
beberapa berkas yang disebut sebagai hive dan berkas catatan transaksi (transaction log) untuk
setiap hive-hive tersebut yang disimpan di dalam direktori %systemroot%\system32\config.
[sunting] Berkas fisik registry
Registry Windows disimpan dalam beberapa berkas, tergantung sistem operasi Windows yang
digunakan. Nama berkas-nya pun kadang-kadang berbeda-beda antar versi sistem operasi, tapi
semua berkas tersebut disimpan di dalam mesin lokal, kecuali NTuser.dat yang dapat
diletakkan di dalam komputer lainnya untuk mengizinkan fungsi roaming profile dan group
policy dalam Windows NT, yang umumnya disimpan di dalam server dalam jaringan lokal.
[sunting] Windows NT, 2000, XP, dan Server 2003
Berkas-berkas berikut merupakan berkas registry untuk sistem operasi Windows NT, Windows
2000, Windows XP dan Windows Server 2003:
%systemroot%\system32\config\Sam – HKEY_LOCAL_MACHINE\SAM
%systemroot%\system32\config\Security – HKEY_LOCAL_MACHINE\SECURITY
%systemroot%\system32\config\Software – HKEY_LOCAL_MACHINE\SOFTWARE
%systemroot%\system32\config\System – HKEY_LOCAL_MACHINE\SYSTEM
%systemroot%\system32\config\Default – HKEY_USERS\.DEFAULT
%systemroot%\system32\config\Userdiff
%UserProfile%\Ntuser.dat – HKEY_USERS\<SID> (HKEY_CURRENT_USER)
%UserProfile%\Local Settings\Application
Data\Microsoft\Windows\Usrclass.dat – HKEY_USERS\<SID>_Classes
(HKEY_CURRENT_USER\Software\Classes)
[sunting] Windows 95, 98, dan Me
Berkas-berkas berikut merupakan berkas registry untuk sistem operasi Windows 95, Windows
98 dan Windows Millennium Edition.
C:\WINDOWS\User.dat
C:\WINDOWS\System.dat
C:\WINDOWS\Classes.dat
(khusus Windows ME)
[sunting] Windows 3.x
Dalam Windows 3.x, registry hanya disimpan di dalam sebuah berkas, yakni
C:\WINDOWS\Reg.dat saja.
[sunting] Struktur registry
Struktur registry agak mirip dengan struktur direktori dalam sistem berkas. Selain itu, registry
juga dapat diakses dengan menggunakan sintaksis yang sama dengan cara mengakses berkas,
dengan menggunakan karakter garis miring terbalik (backslash) untuk menandakan tingkatan
hierarkis. Susunannya adalah seperti <subtree>\<key>\<subkey...>. Sebagai contoh, My
Computer\HKEY_LOCAL_MACHINE\Software\Microsoft\Windows, yang merujuk kepada
sebuah subkey yang memiliki nama "Windows" yang terdapat di dalam subkey Microsoft, yang
terdapat di dalam key dengan nama Software, yang terdapat di dalam subtree
HKEY_LOCAL_MACHINE.
Setiap key dan subkey tersebut dapat memiliki nilai yang dapat ditentukan atau nilai default, yang
disebut sebagai Value. Akan tetapi, cara mengakses value tidaklah sama dengan cara mengakses
berkas dalam sistem berkas, mengingat nama value dapat mengandung karakter backslash yang
dapat menjadi ambigu ketika menggunakan cara baca seperti halnya mengakses sistem berkas.
Adalah fungsi-fungsi dalam Windows 32-bit Application Programming Interface/API (Win32
API) yang dapat melakukan query dan manipulasi terhadap value-value registry, yang dilakukan
dengan cara mengambil nama value secara terpisah dari path key yang merupakan parent key.
Setiap value memiliki jenis-jenis datanya masing-masing yang dapat dilihat pada bagian berikut.
[sunting] Daftar anak pohon Registry
Registry Windows terdiri atas beberapa anak pohon berikut, yang disusun secara hierarkis
dengan My Computer sebagai root directory-nya:
HKEY_LOCAL_MACHINE,
sering disebut sebagai HKLM, merupakan sebuah tempat
penyimpanan untuk konfigurasi sistem yang bersangkutan, yang terdiri atas perangkat
keras dan perangkat lunak. Semua yang terdapat di dalam anak pohon ini diaplikasikan
kepada semua pengguna.
HKEY_CURRENT_USER, sering disebut sebagai HKCU, merupakan sebuah tempat
penyimpanan untuk konfigurasi yang dimiliki oleh pengguna yang sedang melakukan
logon, yang menyimpan informasi mengenai konfigurasi preferensi pengguna
(konfigurasi desktop, warna, dan konfigurasi lainnya yang setiap pengguna dapat
melakukan kustomisasi terhadapnya).
HKEY_USERS, sering disebut sebagai HKU, merupakan tempat penyimpanan untuk
konfigurasi setiap pengguna yang terdaftar di dalam komputer yang bersangkutan. Setiap
anak kunci dari anak pohon ini diidentifikasikan dengan menggunakan nomor Security
Identifier (SID) yang dimiliki oleh pengguna. Ketika pengguna melakukan logon, SID
yang cocok akan dimuat ke dalam anak pohon HKEY_CURRENT_USER.
HKEY_CLASSES_ROOT, sering disebut sebagai HKCR, merupakan tempat penyimpanan
untuk konfigurasi asosiasi/pemetaan ekstensi sebuah berkas atau objek Object Linking
and Embedding (OLE) dengan aplikasi yang dapat menanganinya. Sebagai contoh,
berkas berekstensi .txt akan ditangani oleh aplikasi editor teks seperti Notepad dan
masih banyak lainnya.
HKEY_CURRENT_CONFIG, sering disebut sebagai HKCC, merupakan tempat penyimpanan
untuk konfigurasi perangkat keras dan sistem operasi yang sedang digunakan saat itu,
yang diperoleh pada saat proses booting dilakukan. Informasi yang disimpan di sini
bersifat volatil dan tidak disimpan secara permanen ke dalam berkas penampung registry,
tapi akan selalu dibuat setiap kali proses booting dilakukan.
HKEY_DYN_DATA, yang hanya terdapat di dalam Windows 95, Windows 98, dan Windows
Millennium Edition, merupakan tempat penyimpanan konfigurasi dinamis untuk semua
perangkat keras plug-and-play. Tidak ada padanannya dalam Windows NT, tapi dalam
Windows NT 5.x, terdapat sebuah anak pohon HKEY_PERFORMANCE_DATA, yang hanya
digunakan untuk mengumpulkan informasi performance counter Windows 2000,
mengingat semua konfigurasi perangkat keras disimpan di dalam
HKEY_LOCAL_MACHINE\HARDWARE\.
Catatan: HKEY di dalam registry Windows, merupakan singkatan terhadap kata "Handle to
Key".
[sunting] HKEY_LOCAL_MACHINE
Menyimpan informasi/data mengenai semua konfigurasi mesin yang bersangkutan. HKLM
bukanlah symbolic link ke kunci registry manapun. HKEY_LOCAL_MACHINE memiliki beberapa
anak kunci, yakni:
HKEY_LOCAL_MACHINE\SOFTWARE,
berguna untuk menyimpan semua konfigurasi
perangkat lunak yang terinstal di dalam komputer yang bersangkutan, dan konfigurasinya
yang akan diaplikasikan kepada semua pengguna, baik pengguna yang melakukan logon
secara lokal/interaktif maupun yang melakukan logon secara remote (melalui service
logon, batch logon, atau terminal services logon).
HKEY_LOCAL_MACHINE\SYSTEM, berguna untuk menyimpan semua informasi dan
konfigurasi sistem operasi Windows yang sedang berjalan. Di sini terdapat semacam
recovery point, yang disebut sebagai LastKnownGood Configuration, yang akan
digunakan pada saat sistem mengalami masalah pada saat proses booting. Semua
konfigurasi driver dan layanan Windows (Win32 Service dan komponen Windows
seperti NTFS dan TCP/IP) disimpan di sini.
HKEY_LOCAL_MACHINE\SAM, berguna untuk menyimpan basis data akun pengguna yang
terinstal di dalam sistem operasi yang bersangkutan. Secara default, SAM tidak dapat
diakses, bahkan oleh administrator sekalipun, karena memang access control-nya tidak
memungkinkan hal itu dilaksanakan. SAM adalah singkatan dari Security Accounts
Manager.
HKEY_LOCAL_MACHINE\HARDWARE, berguna untuk menyimpan konfigurasi perangkat
keras di dalam sistem yang bersangkutan, seperti halnya konfigurasi sumber daya
perangkat keras (interupsi perangkat keras, konfigurasi DMA, dan konfigurasi lainnya).
HKEY_LOCAL_MACHINE\SECURITY, berguna untuk menyimpan konfigurasi keamanan
Windows.
[sunting] HKEY_CURRENT_USER
Menyimpan informasi/data yang diasosiasikan dengan pengguna yang sedang masuk log. HKCU
merupakan sebuah symbolic link ke kunci registry HKEY_USERS\<SID dari pengguna yang
bersangkutan>. HKCU juga menyimpan informasi mengenai profil pengguna, konfigurasi
perangkat lunak, dan preferensi mereka. Terdapat beberapa anak kunci, yakni:
AppEvents, yang digunakan untuk menyimpan asosiasi antara suara dengan sebuah
event. Disarankan untuk menggunakan Control Panel->Sound untuk mengubahnya, dan
jangan menyunting secara langsung dari sini.
Console, yang digunakan untuk menyimpan konfigurasi jendela Command Prompt
(cmd.exe); contoh: lebarnya, tingginya, dan warnanya. Disarankan untuk menggunakan
Command Prompt->Properties untuk mengubahnya, dan jangan menyunting langsung
dari sini.
Control Panel, digunakan untuk menyimpan konfigurasi screen saver, skema desktop,
warna, keyboard, dan mouse. Selain itu juga dapat menyimpan informasi
ketidakmampuan (accessibility) dan regional settings. Disarankan untuk menggunakan
Control Panel->Display, Control Panel->Accessibility, dan Control Panel->Language and
Regional Options untuk mengubahnya, dan jangan menyuntingnya secara langsung dari
sini.
Environment, mengandung definisi Environment Variable. Disarankan untuk
menggunakan Control Panel->System->Advanced->Environment Variables untuk
mengubahnya, dan jangan menyunting langsung dari sini.
Keyboard Layout, menyimpan konfigurasi lay-out konfigurasi keyboard (contoh U.S.
English, atau U.K. English, atau U.S. Dvorak, dan lain sebagainya).
Network, menyimpan konfigurasi dan pemetaan drive yang berada di jaringan.
Printers, menyimpan konfigurasi koneksi printer.
Software, digunakan untuk menyimpan preferensi pengguna terhadap sebuah perangkat
lunak tertentu.
UNICODE
Windows 3.1 Migration Status
[sunting] HKEY_USERS
Anak pohon HKEY_USERS mengandung beberapa anak yakni semua profil pengguna yang
terdaftar di dalam sistem yang bersangkutan dan basis data registrasi objek OLE. Selain itu, anak
pohon ini juga mengandung HKEY_USERS\.DEFAULT, yang dihubungkan dengan profil milik
akun SYSTEM, yang merupakan profil yang digunakan oleh salah satu komponen Windows,
WINLOGON.EXE, untuk menyimpan semua konfigurasi seperti halnya
HKEY_CURRENT_USER, yakni bagaimana tampilan desktop, bagaimana konfigurasi
perangkat keras dan lain-lain. Pengaturan yang diberlakukan terhadap HKU\.DEFAULT ini
dapat menjadikan konfigurasi desktop dan lain-lain pada saat proses logon Windows akan
berubah dari pengaturan default-nya.
Ketika seorang pengguna masuk log ke sebuah sistem untuk pertama kalinya, sementara akun
miliknya tidak berupa roaming profile (yakni, sebuah profil pengguna yang disimpan di dalam
tempat tersentralisasi di dalam domain controller), maka Windows akan membuatkan sebuah
profil yang baru untuknya, yang dibuat berbasiskan pengaturan yang terdapat di dalam
C:\Documents and Settings\Default User.
[sunting] HKEY_CURRENT_CONFIG
Anak pohon HKEY_CURRENT_CONFIG mengandung data konfigurasi untuk profil perangkat
keras (hardware profile) yang sedang digunakan oleh Windows. HKCC tidak mengandung data
apapun, karena memang anak pohon ini merupakan sebuah symbolic link terhadap
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current. Dengan
demikian, dengan mengubah kunci tersebut atau mengubah HKCC, akan menghasilkan sesuatu
yang sama.
Penggunaan profil perangkat keras mengizinkan administrator untuk mengonfigurasikan
beberapa variasi dari pengaturan driver perangkat keras yang digunakan pada saat melakukan
booting. Meskipun profil yang digunakan dapat berubah dari satu proses booting ke proses
booting lainnya, aplikasi dapat merujuk ke anak pohon ini untuk mencari profil mana yang
sedang dimuat oleh Windows. Pengaturan profil perangkat keras dapat dilakukan dengan Control
Panel->System->Hardware->Hardware Profiles. Jika ada lebih dari satu profil perangkat keras,
maka komponen Windows, yakni NTLDR, akan menanyakan kepada pengguna mengenai profil
yang harus dimuat pada saat proses booting dilakukan.
[sunting] HKEY_CLASSES_ROOT
Anak pohon HKEY_CLASSES_ROOT mengandung dua jenis data, yakni:
Data yang mengasosiasikan jenis berkas (dilihat dari ekstensinya atau kelasnya) dengan
program yang dapat membukannya. Subkunci jenis berkas di dalam
HKEY_CLASSES_ROOT memiliki nama yang sama dengan ekstensi nama berkas,
seperti halnya .txt, .exe, dan lain-lain. Asosiasi jenis berkas ini disimpan di dalam
registry, tapi disarankan untuk menggunakan Folder Options->File Types jika memang
hendak mengubahnya.
Data konfigurasi untuk objek-objek Object Linking and Embedding (OLE)/Component
Object Model (COM).
Isi dari HKCR diambil dari dua sumber, yakni HKLM\SOFTWARE\Classes dan
HKCU\SOFTWARE\Classes. Jika sebuah subkey atau entri terdapat di dalam salah satu dari dua
lokasi tersebut, maka hal tersebut akan ditampilkan juga di dalam HKCR. Jika ada dua entri yang
konflik di antara dua lokasi tersebut, hanya HKCU\SOFTWARE\Classes yang akan ditampilkan
di dalam HKCR.
[sunting] HKEY_DYN_DATA
[place holder]
Semua informasi di atas dapat dirangkum ke dalam tabel berikut
Anak pohon
Keterangan
HKEY_CURRENT_USER
Menyimpan informasi/data yang diasosiasikan dengan pengguna yang
sedang masuk log.
HKEY_USERS
Menyimpan informasi/data mengenai semua akun pengguna di dalam
mesin yang sama
HKEY_CLASSES_ROOT
Menyimpan informasi/data mengenai asosiasi berkas dengan
aplikasinya dan registrasi objek Component Object Model (COM).
HKEY_LOCAL_MACHINE
Menyimpan informasi/data mengenai semua konfigurasi mesin yang
bersangkutan.
HKEY_PERFORMANCE
DATA
Menyimpan informasi mengenai kinerja sistem yang dikumpulkan oleh
performance counter Windows NT.
HKEY_CURRENT_CONFIG
Berisi beberapa informasi mengenai profil perangkat keras yang
sedang digunakan.
[sunting] Jenis data dalam registry
Sebuah value dapat memiliki jenis-jenis data seperti di bawah ini:
REG_NONE, yang merupakan sebuah jenis data registry yang tidak didefinisikan
sebelumnya. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x00.
REG_SZ, merupakan jenis data teks (string) dengan panjang yang tetap (fixed-length
string). Semua sistem operasi 32-bit Windows (Windows NT dan Windows 9x)
mendukung jenis data registry ini. Jenis data ini secara internal menggunakan tanda
pengenal (identifier) 0x01.
REG_EXPAND_SZ, merupakan jenis data teks/string yang dapat diekspansi. Windows
9x tidak memiliki jenis data ini. Diperlukan editor registry khusus (regedt32.exe) untuk
menangani jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal
(identifier) 0x02.
REG_BINARY, merupakan jenis data biner, yang dapat berarti macam-macam (bisa
berupa teks/string, atau bilangan). Semua sistem operasi 32-bit Windows (Windows NT
dan Windows 9x) mendukung jenis data registry ini. Jenis data ini secara internal
menggunakan tanda pengenal (identifier) 0x03.
REG_DWORD, merupakan jenis data angka 32-bit. Semua sistem operasi 32-bit
Windows (Windows NT dan Windows 9x) mendukung jenis data registry ini. Jenis data
ini secara internal menggunakan tanda pengenal (identifier) 0x04. Terdapat dua jenis
implementasi dari jenis data ini, yakni:
o REG_DWORD_LITTLE_ENDIAN, yang merupakan jenis data REG_DWORD
default dalam Windows NT yang dijalankan di atas prosesor Intel x86/x64. Jenis
data ini berukuran 32-bit yang disusun dengan menggunakan format little-endian.
Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x05.
o REG_DWORD_BIG_ENDIAN, yang merupakan jenis data REG_DWORD
yang berukuran 32-bit yang disusun dengan menggunakan format big-endian.
Jenis data ini hanya dapat didukung oleh Windows NT yang dijalankan di atas
mesin DEC Alpha, MIPS, atau IBM PowerPC, yang memang menggunakan
format bilangan big-endian. Windows NT 5.x yang hanya dapat berjalan di atas
sistem x86 tidak menangani jenis data ini (terdapat limitasi pada mikroprosesor),
meskipun Windows NT 5.x mendukungnya. Jenis data ini secara internal
menggunakan tanda pengenal (identifier) 0x06.
REG_MULTI_SZ, merupakan jenis data teks/string yang memiliki banyak baris yang
dipisahkan dengan dua buah karakter null (0x00). Windows 9x tidak memiliki jenis data
ini.Diperlukan editor registry khusus (regedt32.exe) untuk menangani jenis data ini. Jenis
data ini secara internal menggunakan tanda pengenal (identifier) 0x07.
REG_LINK, yang merupakan symbolic link ke sebuah objek Windows NT dalam ruang
nama/namespace objek Windows NT (yang diatur oleh Object Manager Windows NT).
Registry Editor default bawaan Windows (regedit.exe, regedt32.exe, dan utilitas
command-line reg.exe) tidak dapat menyunting jenis ini. Jenis data ini digunakan secara
internal oleh Windows NT saja, dan tidak digunakan oleh aplikasi. Registry dalam
Windows 9x tidak memiliki jenis data ini. Jenis data ini secara internal menggunakan
tanda pengenal (identifier) 0x08.
REG_RESOURCE_LIST (Windows NT) atau
REG_FULL_RESOURCE_DESCRIPTOR, yang merupakan jenis data registry yang
hanya digunakan untuk menyimpan konfigurasi perangkat keras dan driver-nya yang
terinstalasi di atas sistem operasi Windows NT. Registry dalam Windows 9x tidak
memiliki jenis data ini. Jenis data ini adalah kumpulan larik (array) yang digunakan untuk
menyimpan daftar sumber daya (interupsi perangkat keras, Direct Memory Access
(DMA), I/O range dan memory range) yang digunakan oleh komponen perangkat keras
atau driver. Dibutuhkan registry editor khusus (regedt32.exe) untuk menyunting value
dengan jenis data ini. Jenis data ini secara internal menggunakan tanda pengenal
(identifier) 0x09.
REG_QWORD, merupakan jenis data angka yang memiliki panjang 64-bit. Jenis data
ini hanya terdapat di dalam sistem prosesor 64-bit saja, semacam DEC Alpha, IA-64, atau
x64. Jenis data ini secara internal menggunakan tanda pengenal (identifier) 0x12. Sama
seperti halnya REG_DWORD, REG_QWORD juga terdapat dua jenis implementasi,
yakni little-endian (REG_QWORD_LITTLE_ENDIAN, dengan identifier 0x13) dan
big-endian (REG_QWORD_BIG_ENDIAN, dengan identifier 0x14), meskipun secara
default format yang digunakan adalah REG_QWORD_LITTLE_ENDIAN. Diperlukan
editor khusus untuk menyunting jenis data ini.
Jenis data registry, dapat dirangkum pada tabel berikut:
Jenis data
Identifier
Keterangan
REG_NONE
0x00
Jenis data belum ditentukan
REG_SZ
0x01
Teks/string berukuran tetap
REG_EXPAND_SZ
0x02
Teks/string yang dapat berubah-ubah.
REG_BINARY
0x03
Jenis data biner (dapat berupa apa saja)
REG_DWORD
0x04
Jenis data bilangan dengan ukuran 32-bit
REG_DWORD_LITTLE_ENDIAN
0x05
Jenis data bilangan dengan ukuran 32-bit,
dengan format little-endian. Dalam Windows
NT 5.x, sama saja dengan REG_DWORD
biasa.
REG_DWORD_BIG_ENDIAN
0x06
Jenis data bilangan dengan ukuran 32-bit,
dengan format big-endian.
REG_MULTI_SZ
0x07
Jenis data teks/string dengan banyak baris yang
dipisahkan dengan dua karakter null (0x00).
REG_LINK
0x08
Symbolic link dengan menggunakan format
Unicode ke sebuah objek dalam Windows NT
Object Manager.
REG_RESOURCE_LIST
0x09
Digunakan untuk menampung sumber daya
perangkat keras.
REG_FULL_RESOURCE_DESCRIPTOR
0x10
Digunakan untuk menampung sumber daya
perangkat keras.
REG_RESOURCE_REQUIREMENTS_LIST
0x11
Digunakan untuk menampung kebutuhan
sumber daya perangkat keras.
REG_QWORD
0x12
Jenis data bilangan dengan ukuran 64-bit.
REG_QWORD_LITTLE_ENDIAN
0x13
Jenis data bilangan dengan ukuran 64-bit,
dengan menggunakan format little-endian.
REG_QWORD_BIG_ENDIAN
0x14
Jenis data bilangan dengan ukuran 64-bit,
dengan menggunakan format big-endian.
[sunting] Menyunting registry
Secara fisik, registry merupakan berkas biner yang tidak dapat disunting secara langsung dengan
menggunakan editor teks. Akan tetapi, beberapa program editor bilangan heksadesimal dapat
melakukannya, meski sangat rumit untuk dilakukan. Cara lainnya adalah dengan menggunakan
alat bantu editor registry Windows. Untungnya, Microsoft menawarkan program editor registry,
yang dikenal sebagai regedit. Regedit dapat diakses dengan menjalankan perintah "regedit.exe"
atau "regedt32.exe" dari menu Run. Dengan ditampilkan secara struktural, penyuntingan registry
pun dapat dilakukan secara jauh lebih mudah daripada menggunakan program editor teks atau
editor bilangan heksadesimal.
Berhati-hatilah saat melakukan penyuntingan registry, mengingat kerusakan registry seringnya
tidak dapat dikembalikan. Karenanya, lakukan backup (buat salinan) terlebih dahulu sebelum
menyunting. Beberapa program optimalisasi/tweaking Windows atau "hacking" Windows seperti
TweakUI atau bahkan beberapa applet dalam Control Panel Windows melakukan penyuntingan
terhadap registry secara langsung tanpa harus membuka editor registry, sehingga jauh lebih
aman. Jadi intinya, lakukan penyuntingan registry jika dan hanya jika mengetahui seluk beluk
registry yang hendak disunting.
[sunting] Editor registry bawaan Windows
Dalam Windows 16-bit, terdapat sebuah komponen editor registry, yang disebut sebagai
"Registration Info Editor" atau "Registration Editor". Seperti yang telah dibahas sebelumnya,
bahwa registry dalam Windows 16-bit hanya terdapat asosiasi berkas atau objek OLE dengan
aplikasinya saja, maka editor registry dalam sistem ini pun hanya dapat menyunting hal tersebut
saja.
Windows NT yang dirilis kemudian memperkenalkan banyak konsep baru terhadap registry
Windows, seperti halnya mampu menangani beberapa sub-tree, dan juga atribut keamanan
dengan access control list. Dalam Windows NT 3.1, terdapat satu editor registry, yang disebut
dengan regedt32.exe, yang lebih bagus dan mampu menyunting beberapa jenis tipe data.
Windows 95 juga memperkenalkan editor registry baru, yang dibuat berbasiskan registry editor
bawaan Windows NT, tetapi lebih sederhana (tidak ada atribut keamanan, dan tidak ada proteksi
read-only). Registry Editor dalam Windows 95/98/ME ini disebut sebagai Regedit.exe saja.
Saat Microsoft merilis Windows NT 4.0, setelah Windows 95, di sistem operasi tersebut terdapat
dua editor registry, yakni regedit.exe dan regedt32.exe. Regedit.exe merupakan bawaan
Windows 95, sementara regedt32.exe merupakan bawaan Windows NT, yang diperbarui. Ada
beberapa perbedaan di antara keduanya, yakni sebagai berikut:
Regedit.exe, ditampilkan seperti halnya Windows Explorer, dengan root-directory
dengan nama My Computer dan akan menampilkan semua sub-tree yang dimuat di
bawahnya. Regedit.exe hanya menampilkan satu window saja. Sementara itu, registry
dalam regedt32.exe ditampilkan seperti halnya Program Manager, dengan setiap sub-tree
ditampilkan dalam setiap window-nya masing-masing, sehingga sebuah window hanya
mengandung sub-tree saja.
Regedit.exe merepresentasikan komponen sebuah value (nama, jenis dan datanya)
sebagai tiga kolom yang terpisah dari sebuah tabel. Sementara, regedt32.exe akan
merepresentasikan komponen sebuah value sebagai daftar string.
Regedit.exe mendukung klik-kanan terhadap sebuah entri dalam struktur tampilan pohon
untuk mengatur propertinya dan beberapa pengaturan lainnya. Sementara, regedt32.exe
mengharuskan semuanya dilakukan dari menu utama aplikasi.
Karena regedit.exe adalah program bawaan Windows 95, program tersebut tidak dapat
menyunting izin akses (karena memang izin akses tidak terdapat dalam Windows 9x dan
hanya terdapat di dalam keluarga sistem operasi Windows NT). Oleh karena itu, satusatunya cara untuk mengakses registry dalam Windows NT secara penuh adalah dengan
menggunakan program regedt32.exe.
Regedit.exe hanya mendukung beberapa jenis data saja (REG_SZ,
REG_DWORD/REG_DWORD_LITTLE_ENDIAN, dan REG_BINARY). Sementara
itu, Regedt32.exe mendukung banyak jenis data, yakni REG_SZ, REG_DWORD,
REG_MULTI_SZ, REG_EXPAND_SZ, dan REG_RESOURCE_LIST. Menyunting
jenis data yang tidak didukung dengan Regedit.exe dalam Windows NT 4.0 dan
Windows 2000 akan menyebabkan konversi data ke jenis data yang didukung oleh
aplikasi tersebut dan tidak dapat dikembalikan ke jenis data sebelumnya.
Hal tersebut terus diberlakukan dalam Windows 2000. Dan, pada Windows XP dan Windows
Server 2003, kemampuan kedua program tersebut digabungkan ke dalam satu program saja,
regedit.exe. Regedt32.exe juga masih ada, tapi hanya berupa symbolic link saja. Jika
menjalankan regedt32.exe dalam kedua sistem operasi tersebut, hal tersebut sama saja dengan
menjalankan regedit.exe. Hal ini juga berlaku untuk Windows edisi selanjutnya.
Program editor registry bawaan Windows, baik itu menggunakan regedit.exe maupun
regedt32.exe mampu melakukan pengeksporan registry ke dalam sebuah berkas dengan ekstensi
.REG atau .KEY. Hasil pengeksporan tersebut sama saja dengan berkas teks untuk konfigurasi
biasa, yakni .INI. Path registry lengkap disusun sebagai header, sementara itu, entri registry dan
nilainya disusun di bawahnya. Selain tentunya dapat melakukan pengeksporan registry ke dalam
sebuah berkas teks, program itu juga dapat melakukan pengimporan.
[sunting] Penyuntingan dengan menggunakan command-line
Selain utilitas grafis seperti Regedit.exe dan Regedt32.exe, Microsoft juga menawarkan utilitas
command-line reg.exe yang mulai ditawarkan di dalam Windows 2000 Resource Kit Tools.
Windows XP dan Windows Server 2003 telah mengintegrasikan program tersebut secara internal
dan diinstalasikan secara default.
Sintaksis yang digunakan adalah sebagai berikut:
reg.exe Operasi [Daftar_Parameter]
Operasi
[QUERY|ADD|DELETE|COPY|SAVE|LOAD|UNLOAD|RESTORE|COMPARE|EXPORT|IMPORT]
[sunting] Penyuntingan dengan menggunakan skrip/bahasa pemrograman
Registry juga dapat disunting dengan menggunakan skrip dan bahasa pemrograman yang
berjalan untuk sistem operasi Microsoft Windows. Contoh bahasa skrip (scripting language)
yang sering digunakan adalah VBScript, Windows Batch File (*.BAT/*.CMD), JScript, serta
Perl (dengan menggunakan W32::TieRegistry). Sementara itu, beberapa bahasa pemrograman,
seperti halnya Microsoft Visual Basic, dan .NET Framework 2.0 (dalam kelas
Microsoft.Win32.Registry) juga dapat langsung mengakses dan menyunting registry, mengingat
mereka telah mengintegrasikan beberapa pustaka untuk melakukan hal itu.
Berikut ini adalah beberapa Win32 API yang dapat digunakan untuk mengakses registry
Windows dengan bahasa pemrograman yang tidak memiliki pustaka untuk melakukan
penyuntingan registry secara langsung:
RegCloseKey RegOpenKey
RegConnectRegistry RegOpenKeyEx
RegCreateKey RegQueryInfoKey
RegCreateKeyEx RegQueryMultipleValues
RegDeleteKey RegQueryValue
RegDeleteValue RegQueryValueEx
RegEnumKey RegReplaceKey
RegEnumKeyEx RegRestoreKey
RegEnumValue RegSaveKey
RegFlushKey RegSetKeySecurity
RegGetKeySecurity RegSetValue
RegLoadKey RegSetValueEx
RegNotifyChangeKeyValue RegUnLoadKey
[sunting] Bahaya dari menyunting registry
Menyunting registry secara manual dapat mengakibatkan sistem operasi tidak stabil, atau bahkan
mengalami kerusakan yang tidak dapat dikembalikan lagi. Microsoft pun menganjurkan
penyuntingan registry agar hanya dilakukan oleh para profesional atau pengguna yang tahu apa
yang sedang dilakukan. Registry yang rusak hanya dapat dikembalikan dengan cara instalasi
ulang sistem operasi, atau menimpa berkas fisik registry dengan salinannya (backup) yang masih
benar dan baik.
[sunting] Policy file (berkas kebijakan)
Semenjak dirilisnya Windows 95, para Administrator Windows dapat menggunakan sebuah jenis
berkas yang dapat digabungkan dengan registry, yang disebut sebagai policy file. Policy file
mengizinkan para adminstrator Windows untuk mencegah para pengguna yang bukan
administrator (pengguna biasa) dari melakukan hal yang seharusnya dilakukan oleh
administrator, seperti halnya mengubah beberapa pengaturan sistem, hingga menyunting registry
secara manual. Policy file ini umumnya digunakan di dalam sebuah jaringan dengan banyak
komputer di dalamnya, di mana komputer-komputer tersebut harus dilindungi dari tangan-tangan
jahil para pengguna, dan juga para pengguna juga harus dilindungi dari pengguna lainnya.
Ekstensi default untuk policy file adalah .POL. Policy file akan menyaring semua pengaturan
yang diberlakukan terhadap sebuah pengguna atau beberapa pengguna yang disatukan ke dalam
sebuah group. Untuk melakukannya, policy file akan menggabungkan dirinya dengan registry,
sehingga mencegah para pengguna untuk mengutak-atiknya dengan mengembalikan pengaturan
yang sebelumnya. Selain itu, policy file juga didistribusikan melalui LAN, tapi dapat juga
diletakkan secara lokal di dalam sebuah komputer.
[sunting] Editor policy file
Untuk membuat sebuah policy file, Microsoft menyertakan sebuah alat bantu yang disebut
sebagai poledit.exe yang diperuntukkan Windows 95 dan Windows 98, atau dengan
menggunakan modul manajemen komputer dalam sistem operasi berbasis Windows NT. Modulmodul tersebut tidak dapat diberlakukan di dalam instalasi Windows XP Home Edition, dan
hanya berlaku dalam Windows XP Professional saja. Pengaktifan editor tersebut membutuhkan
izin yang sama dengan seorang administrator untuk sistem yang hendak diaplikasikan di
dalamnya policy file. Editor juga dapat secara langsung mengubah pengaturan registry di yang
ada dalam komputer lokal, dan apabila layanan remote registry service dijalankan dalam
komputer lainnya, maka hal tersebut juga dapat memungkinkan perubahan registry secara jarak
jauh terhadap komputer tersebut. Policy editor akan memuat semua pengaturan yang dapat
diubah dari berkas berekstensi .adm, yang mengandung pengaturan yang disediakan oleh shell
Windows. Berkas berekstensi .adm sendiri merupakan sebuah berkas plain text (teks biasa), dan
mendukung lokalisasi secara mudah dengan mengizinkan semua teks/string untuk disimpan di
dalam sebuah tempat yang sama. Dalam sistem operasi Windows yang baru, Policy editor diubah
namanya menjadi Group Policies (dapat diakses dengan menggunakan perintah gpedit.msc dari
menu Run).
[sunting] Keuntungan dari konsep Registry
Dibandingkan menggunakan banyak berkas konfigurasi yang telah disediakan INI seperti yang
dilakukan di dalam Windows 16-bit menjadi sebuah tempat tersentralisasi, registry menawarkan
beberapa keuntungan, yakni sebagai berikut:
Registry memisahkan konfigurasi mesin dari konfigurasi pengguna. Ketika seorang
pengguna masuk log ke dalam sebuah komputer berbasis Windows NT/2000/XP/Server
2003, pengaturan registry yang dimiliki oleh pengguna yang bersangkutan akan dimuat
secara terpisah dari konfigurasi sistem operasi yang utama. Hal ini mengizinkan programprogram untuk lebih mudah dikonfigurasi untuk setiap orang pengguna (setiap pengguna
berhak memiliki preferensi masing-masing), mengingat mereka hanya bekerja di dalam
anak pohon "Current User" saja. Sementara itu, jika dibandingkan dengan konfigurasi
yang lama, berkas .INI cenderung untuk menulis konfigurasi dan pengaturan setiap
program oleh setiap pengguna di dalam satu tempat saja, yakni berkas INI yang
bersangkutan.
Group Policy mengizinkan administrator Windows untuk mengatur program secara
terpusat.
Karena registry diakses dengan menggunakan API yang khusus, maka registry juga dapat
diakses dengan menggunakan skrip, bahasa pemrograman, atau query Windows
Management Instrumentation (WMI). Setiap skrip tidak harus dikustomisasi secara unik
untuk konfigurasi sebuah aplikasi, yang kadang memiliki format yang berbeda-beda.
Registry juga dapat diakses sebagai sebuah kesatuan melalui koneksi jaringan komputer
dalam rangka melakukan manajemen komputer dari jarak jauh, yakni dengan
menggunakan skrip yang berisi API standar untuk mengakses registry.
Dapat di-backup secara lebih mudah, karena memang hanya terdapat beberapa jenis
berkas saja.
Download