下面的例子里, PowerShell修改了注冊表鍵值, 完成了Security loop disable, 和loopbackcheck disable.
代碼如下:
#Security loop disable so that you can look at it on the same machine
if(($gchn = Get-ItemProperty "HKLM:/SYSTEM/CurrentControlSet/Control/Lsa/MSV1_0/" -Name "BackConnectionHostNames" -ea SilentlyContinue) -eq $null){
New-ItemProperty "HKLM:/SYSTEM/CurrentControlSet/Control/Lsa/MSV1_0/" -PropertyType MultiString -Value "$url" -Name "BackConnectionHostNames"
}else{
Set-ItemProperty "HKLM:/SYSTEM/CurrentControlSet/Control/Lsa/MSV1_0/" -Name "BackConnectionHostNames" -Value ($gchn.BackConnectionHostNames+" $url")
}
#disable loobback check
if((Get-ItemProperty "HKLM:/SYSTEM/CurrentControlSet/Control/Lsa/" -Name "DisableLoopbackCheck" -ea SilentlyContinue) -eq $null){
New-ItemProperty "HKLM:/SYSTEM/CurrentControlSet/Control/Lsa/" -PropertyType DWORD -Value "1" -Name "DisableLoopbackCheck"
}
實例給大家了,下面分享一些powershell操作注冊表的方法吧
訪問注冊表鍵值
在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中也是很方便的就可以完成的,下面創建名為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的完整代碼如下所示:
新聞熱點
疑難解答