當你不需要獲取注冊表數(shù)據(jù)類型而只要其值是非常簡單的:你可以使用Get-ItemProperty:
復(fù)制代碼 代碼如下:
Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
如果你需要獲取數(shù)據(jù)類型,只需要多幾個步驟:
復(fù)制代碼 代碼如下:
$key = Get-Item -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
$key.GetValueNames() |
ForEach-Object {
$ValueName = $_
$rv = 1 | Select-Object -Property Name, Type, Value
$rv.Name = $ValueName
$rv.Type = $key.GetValueKind($ValueName)
$rv.Value = $key.GetValue($ValueName)
$rv
}
訪問注冊表鍵值
在PowerShell中,用戶可以通過類似于HKCU:(作為HKEY_CURRENT_USER)和HKLM:(代表HKEY_LOCAL_MATCHINE)的虛擬驅(qū)動器訪問注冊表鍵值。
如:Dir Registry::HKEY_LOCAL_MACHINE\Software
通過這種方式用戶可以很容易的復(fù)制、粘貼注冊表內(nèi)的鍵值,用戶可以通過下面的命令獲取已經(jīng)注冊的文件后綴:
復(fù)制代碼 代碼如下:
dir Registry::HKEY_CLASSES_ROOT\.* -name | Sort-Object
讀取注冊表鍵值
在PowerShell中,用戶能夠以虛擬驅(qū)動器的形式來處理注冊表的內(nèi)容
下面的Get-RegidtryValues函數(shù)列舉存儲在一個注冊表鍵值下的所有鍵值,完整代碼如下所示:
復(fù)制代碼 代碼如下:
function Get-RegistryValues($key) {
(Get-Item $key).GetValueNames()
}
Get-RegistryValues HKLM:\Software\Microsoft\Windows\Currentversion
Get-RegistryValue讀取任意注冊表鍵值并返回其內(nèi)容,完整代碼如下所示:
function Get-RegistryValue($key, $value) {
(Get-ItemProperty $key $value).$value
}
Get-RegistryValue ' HKLM:\Software\Microsoft\Windows\Currentversion' `
SM_GamesName
寫入注冊表鍵值
添加或修改注冊表鍵值在PowerShell中也是很方便的就可以完成的,下面創(chuàng)建名為Set-RegistryValue函數(shù)用來操作注冊表鍵值,以下是完整的代碼:
復(fù)制代碼 代碼如下:
function Set-RegistryValue($key, $name, $value, $type="String") {
if ((Test-Path $key) -eq $false) { md $key | Out-Null }
Set-ItemProperty $key $name $value -type $type
}
Set-RegistryValue HKCU:\Software\TestABC myValue Hello
Set-RegistryValue HKCU:\Software\TestABC myValue 12 Dword
Set-RegistryValue HKCU:\Software\TestABC myValue `
([Byte[]][Char[]]"Hello") Binary
移除注冊表鍵值
通過Remove-Item刪除目標注冊表鍵,函數(shù)Remove-RegistryKey的完整代碼如下所示:
復(fù)制代碼 代碼如下:
function Remove-RegistryKey($key) {
Remove-Item $key -Force
}
通過Remove-ItemProperty函數(shù)刪除注冊表值,完整的代碼如下所示:
function Remove-RegistryValue($key, $value) {
Remove-ItemProperty $key $value
}
支持所有PS版本
您可能感興趣的文章:- Powershell從注冊表中查詢默認MAPI客戶端的例子
- PowerShell注冊表操作命令總結(jié)
- PowerShell使用Remove-Item命令刪除文件、注冊表項介紹
- PowerShell小技巧之查找獲取注冊表路徑
- Powershell讀取本機注冊表中的所有軟件關(guān)聯(lián)擴展名
- Powershell實現(xiàn)從注冊表獲取本地關(guān)聯(lián)文件的擴展名
- Powershell實現(xiàn)從注冊表獲取用戶配置腳本分享
- 使用PowerShell修改注冊表