Powershell小技巧之獲取注冊(cè)表值的類型
當(dāng)你不需要獲取注冊(cè)表數(shù)據(jù)類型而只要其值是非常簡(jiǎn)單的:你可以使用Get-ItemProperty:
Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
如果你需要獲取數(shù)據(jù)類型,只需要多幾個(gè)步驟:
$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
}
訪問(wèn)注冊(cè)表鍵值
在PowerShell中,用戶可以通過(guò)類似于HKCU:(作為HKEY_CURRENT_USER)和HKLM:(代表HKEY_LOCAL_MATCHINE)的虛擬驅(qū)動(dòng)器訪問(wèn)注冊(cè)表鍵值。
如:Dir Registry::HKEY_LOCAL_MACHINE\Software
通過(guò)這種方式用戶可以很容易的復(fù)制、粘貼注冊(cè)表內(nèi)的鍵值,用戶可以通過(guò)下面的命令獲取已經(jīng)注冊(cè)的文件后綴:
dir Registry::HKEY_CLASSES_ROOT\.* -name | Sort-Object
讀取注冊(cè)表鍵值
在PowerShell中,用戶能夠以虛擬驅(qū)動(dòng)器的形式來(lái)處理注冊(cè)表的內(nèi)容
下面的Get-RegidtryValues函數(shù)列舉存儲(chǔ)在一個(gè)注冊(cè)表鍵值下的所有鍵值,完整代碼如下所示:
function Get-RegistryValues($key) {
(Get-Item $key).GetValueNames()
}
Get-RegistryValues HKLM:\Software\Microsoft\Windows\Currentversion
Get-RegistryValue讀取任意注冊(cè)表鍵值并返回其內(nèi)容,完整代碼如下所示:
function Get-RegistryValue($key, $value) {
(Get-ItemProperty $key $value).$value
}
Get-RegistryValue ' HKLM:\Software\Microsoft\Windows\Currentversion' `
SM_GamesName
寫入注冊(cè)表鍵值
添加或修改注冊(cè)表鍵值在PowerShell中也是很方便的就可以完成的,下面創(chuàng)建名為Set-RegistryValue函數(shù)用來(lái)操作注冊(cè)表鍵值,以下是完整的代碼:
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
移除注冊(cè)表鍵值
通過(guò)Remove-Item刪除目標(biāo)注冊(cè)表鍵,函數(shù)Remove-RegistryKey的完整代碼如下所示:
function Remove-RegistryKey($key) {
Remove-Item $key -Force
}
通過(guò)Remove-ItemProperty函數(shù)刪除注冊(cè)表值,完整的代碼如下所示:
function Remove-RegistryValue($key, $value) {
Remove-ItemProperty $key $value
}
支持所有PS版本
- Powershell從注冊(cè)表中查詢默認(rèn)MAPI客戶端的例子
- PowerShell注冊(cè)表操作命令總結(jié)
- PowerShell使用Remove-Item命令刪除文件、注冊(cè)表項(xiàng)介紹
- PowerShell小技巧之查找獲取注冊(cè)表路徑
- Powershell讀取本機(jī)注冊(cè)表中的所有軟件關(guān)聯(lián)擴(kuò)展名
- Powershell實(shí)現(xiàn)從注冊(cè)表獲取本地關(guān)聯(lián)文件的擴(kuò)展名
- Powershell實(shí)現(xiàn)從注冊(cè)表獲取用戶配置腳本分享
- 使用PowerShell修改注冊(cè)表
相關(guān)文章
PowerShell腳本中查看網(wǎng)卡的高級(jí)屬性
這篇文章主要介紹了PowerShell腳本中查看網(wǎng)卡的高級(jí)屬性,本文直接給出實(shí)現(xiàn)代碼和運(yùn)行結(jié)果,需要的朋友可以參考下2014-11-11PowerShell實(shí)現(xiàn)統(tǒng)計(jì)函數(shù)嵌套深度
這篇文章主要介紹了PowerShell實(shí)現(xiàn)統(tǒng)計(jì)函數(shù)嵌套深度,本文分享一個(gè)函數(shù),可以實(shí)現(xiàn)統(tǒng)計(jì)腳本執(zhí)行的嵌套層次,需要的朋友可以參考下2015-06-06PowerShell腳本實(shí)現(xiàn)檢測(cè)網(wǎng)絡(luò)內(nèi)主機(jī)類型
這篇文章主要介紹了PowerShell腳本實(shí)現(xiàn)檢測(cè)網(wǎng)絡(luò)內(nèi)主機(jī)類型,本文腳本基本功能可以實(shí)現(xiàn)判斷主機(jī)操作系統(tǒng)類型,如果是域內(nèi)的主機(jī)可以獲取主機(jī)的硬件參數(shù)和性能參數(shù),并判斷是否存在網(wǎng)絡(luò)設(shè)備,需要的朋友可以參考下2014-12-12PowerShell小技巧之啟動(dòng)遠(yuǎn)程桌面連接
這篇文章主要介紹了PowerShell啟動(dòng)遠(yuǎn)程桌面連接,需要的朋友可以參考下2014-09-09PowerShell函數(shù)中限制數(shù)組參數(shù)個(gè)數(shù)的例子
這篇文章主要介紹了PowerShell中限制函數(shù)的數(shù)組參數(shù)個(gè)數(shù)的例子,可以控制數(shù)組的參數(shù)個(gè)數(shù)在指定范圍內(nèi),需要的朋友可以參考下2014-07-07PowerShell中Job相關(guān)命令及并行執(zhí)行任務(wù)詳解
這篇文章主要給大家介紹了關(guān)于PowerShell中Job相關(guān)命令及并行執(zhí)行任務(wù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2018-03-03PowerShell入門教程之遠(yuǎn)程操作運(yùn)行PowerShell的方法
這篇文章主要介紹了PowerShell入門教程之遠(yuǎn)程操作運(yùn)行PowerShell的方法,本文講解了配置遠(yuǎn)程基礎(chǔ)結(jié)構(gòu)、執(zhí)行遠(yuǎn)程操作等內(nèi)容,需要的朋友可以參考下2014-10-10PowerShell實(shí)現(xiàn)時(shí)間管理小秘書(shū)
這篇文章主要介紹了PowerShell實(shí)現(xiàn)時(shí)間管理小秘書(shū),本文是一個(gè)PowerShell的綜合編程實(shí)例,實(shí)現(xiàn)了一個(gè)用來(lái)管理時(shí)間的功能,需要的朋友可以參考下2015-04-04PowerShell捕獲錯(cuò)誤的2種方法(異常捕獲命令、錯(cuò)誤變量)
這篇文章主要介紹了PowerShell捕獲錯(cuò)誤的2種方法(異常捕獲命令、錯(cuò)誤變量),需要的朋友可以參考下2014-04-04