欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Powershell小技巧之獲取注冊表值的類型

 更新時間:2014年10月12日 13:23:35   投稿:hebedich  
這篇文章主要介紹了使用Powershell獲取注冊表值的類型的小技巧。另外詳細介紹了如何使用PowerShell讀、寫、刪除注冊表鍵值。非常的實用,有需要的朋友可以參考下

當你不需要獲取注冊表數據類型而只要其值是非常簡單的:你可以使用Get-ItemProperty:

復制代碼 代碼如下:

Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

如果你需要獲取數據類型,只需要多幾個步驟:

復制代碼 代碼如下:

$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)的虛擬驅動器訪問注冊表鍵值。
如:Dir Registry::HKEY_LOCAL_MACHINE\Software
通過這種方式用戶可以很容易的復制、粘貼注冊表內的鍵值,用戶可以通過下面的命令獲取已經注冊的文件后綴:

復制代碼 代碼如下:

dir Registry::HKEY_CLASSES_ROOT\.* -name | Sort-Object

讀取注冊表鍵值

在PowerShell中,用戶能夠以虛擬驅動器的形式來處理注冊表的內容
下面的Get-RegidtryValues函數列舉存儲在一個注冊表鍵值下的所有鍵值,完整代碼如下所示:
 

復制代碼 代碼如下:

function Get-RegistryValues($key) {
                 (Get-Item $key).GetValueNames()
}

Get-RegistryValues HKLM:\Software\Microsoft\Windows\Currentversion
Get-RegistryValue讀取任意注冊表鍵值并返回其內容,完整代碼如下所示:
function Get-RegistryValue($key, $value) {
                  (Get-ItemProperty $key $value).$value
}
Get-RegistryValue ' HKLM:\Software\Microsoft\Windows\Currentversion' `
SM_GamesName

寫入注冊表鍵值

添加或修改注冊表鍵值在PowerShell中也是很方便的就可以完成的,下面創(chuàng)建名為Set-RegistryValue函數用來操作注冊表鍵值,以下是完整的代碼:

復制代碼 代碼如下:

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刪除目標注冊表鍵,函數Remove-RegistryKey的完整代碼如下所示:

復制代碼 代碼如下:

function Remove-RegistryKey($key) {
Remove-Item $key -Force
}
通過Remove-ItemProperty函數刪除注冊表值,完整的代碼如下所示:
function Remove-RegistryValue($key, $value) {
Remove-ItemProperty $key $value
}

支持所有PS版本

相關文章

最新評論