Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sampel ini hanya berlaku untuk platform Windows.
Karena kunci registri adalah item pada drive PowerShell, bekerja dengan mereka sangat mirip dengan bekerja dengan file dan folder. Salah satu perbedaan penting adalah bahwa setiap item pada drive PowerShell berbasis registri adalah kontainer, sama seperti folder pada drive sistem file. Namun, entri registri dan nilai terkaitnya adalah properti item, bukan item yang berbeda.
Mencantumkan semua subkuntang kunci registri
Anda dapat menampilkan semua item langsung dalam kunci registri menggunakan Get-ChildItem
. Tambahkan parameter Paksa opsional untuk menampilkan item tersembunyi atau sistem. Misalnya, perintah ini menampilkan item langsung dalam drive HKCU:
PowerShell , yang sesuai dengan sarang registri HKEY_CURRENT_USER
:
Get-ChildItem -Path HKCU:\ | Select-Object Name
Hive: Microsoft.PowerShell.Core\Registry::HKEY_CURRENT_USER
Name
----
HKEY_CURRENT_USER\AppEvents
HKEY_CURRENT_USER\Console
HKEY_CURRENT_USER\Control Panel
HKEY_CURRENT_USER\DirectShow
HKEY_CURRENT_USER\dummy
HKEY_CURRENT_USER\Environment
HKEY_CURRENT_USER\EUDC
HKEY_CURRENT_USER\Keyboard Layout
HKEY_CURRENT_USER\MediaFoundation
HKEY_CURRENT_USER\Microsoft
HKEY_CURRENT_USER\Network
HKEY_CURRENT_USER\Printers
HKEY_CURRENT_USER\Software
HKEY_CURRENT_USER\System
HKEY_CURRENT_USER\Uninstall
HKEY_CURRENT_USER\WXP
HKEY_CURRENT_USER\Volatile Environment
Ini adalah kunci tingkat atas yang terlihat di bawah HKEY_CURRENT_USER
di Editor Registri (regedit.exe
).
Anda juga dapat menentukan jalur registri ini dengan menentukan nama penyedia registri, diikuti oleh ::
. Nama lengkap penyedia registri adalah Microsoft.PowerShell.Core\Registry
, tetapi ini dapat dipersingkat menjadi hanya Registry
. Salah satu perintah berikut akan mencantumkan konten langsung di bawah HKCU:
.
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 HKCU:
Perintah ini hanya mencantumkan item yang dimuat secara langsung, seperti menggunakan DIR
di cmd.exe
atau ls
dalam shell UNIX. Untuk menampilkan item yang terkandung, Anda perlu menentukan parameter Recurse . Untuk mencantumkan semua kunci registri di HKCU:
, gunakan perintah berikut.
Get-ChildItem -Path HKCU:\ -Recurse
Get-ChildItem
dapat melakukan kemampuan pemfilteran kompleks melalui parameter Jalur, Filter, Sertakan, dan Kecualikan , tetapi parameter tersebut biasanya hanya didasarkan pada nama. Anda dapat melakukan pemfilteran kompleks berdasarkan properti item lain menggunakan Where-Object
cmdlet.
Perintah berikut menemukan semua kunci di dalamnya HKCU:\Software
yang memiliki tidak lebih dari satu subkunjen dan juga memiliki tepat empat nilai:
Get-ChildItem -Path HKCU:\Software -Recurse |
Where-Object {($_.SubKeyCount -le 1) -and ($_.ValueCount -eq 4) }
Menyalin kunci
Penyalinan dilakukan dengan Copy-Item
. Contoh berikut menyalin CurrentVersion
subkuntah dari HKLM:\SOFTWARE\Microsoft\Windows\
dan semua propertinya ke HKCU:\
.
Copy-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion' -Destination HKCU:
Jika Anda memeriksa kunci baru ini di editor registri atau menggunakan Get-ChildItem
, Anda melihat bahwa Anda tidak memiliki salinan subkuntah yang terkandung di lokasi baru. Untuk menyalin semua konten kontainer, Anda perlu menentukan parameter Recurse . Untuk membuat perintah salin sebelumnya rekursif, Anda akan menggunakan perintah ini:
Copy-Item -Path 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion' -Destination HKCU: -Recurse
Anda masih dapat menggunakan alat lain yang sudah Tersedia untuk melakukan salinan sistem file. Alat pengeditan registri apa pun—termasuk reg.exe
objek , , regini.exe
regedit.exe
, dan COM yang mendukung pengeditan registri, seperti WScript.Shell dan kelas StdRegProv WMI dapat digunakan dari dalam PowerShell.
Membuat kunci
Membuat kunci baru dalam registri lebih sederhana daripada membuat item baru dalam sistem file. Karena semua kunci registri adalah kontainer, Anda tidak perlu menentukan jenis item. Cukup berikan jalur eksplisit, seperti:
New-Item -Path HKCU:\Software_DeleteMe
Anda juga dapat menggunakan jalur berbasis penyedia untuk menentukan kunci:
New-Item -Path Registry::HKCU\Software_DeleteMe
Menghapus kunci
Menghapus item pada dasarnya sama untuk semua penyedia. Perintah berikut ini menghapus item secara diam-diam:
Remove-Item -Path HKCU:\Software_DeleteMe
Remove-Item -Path 'HKCU:\key with spaces in the name'
Menghapus semua kunci di bawah kunci tertentu
Anda dapat menghapus item yang terkandung menggunakan Remove-Item
, tetapi Anda akan diminta untuk mengonfirmasi penghapusan jika item berisi hal lain. Misalnya, jika kita mencoba menghapus subkunci yang HKCU:\CurrentVersion
kita buat, kita akan melihat ini:
Remove-Item -Path HKCU:\CurrentVersion
Confirm
The item at HKCU:\CurrentVersion\AdminDebug has children and the -recurse
parameter was not specified. If you continue, all children will be removed with
the item. Are you sure you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
Untuk menghapus item yang terkandung tanpa meminta, tentukan parameter Recurse :
Remove-Item -Path HKCU:\CurrentVersion -Recurse
Jika Anda ingin menghapus semua item di dalamnya HKCU:\CurrentVersion
tetapi tidak HKCU:\CurrentVersion
dengan sendirinya, Anda dapat menggunakan:
Remove-Item -Path HKCU:\CurrentVersion\* -Recurse