虚位以待(AD)
虚位以待(AD)
首页 > 脚本专栏 > Powershell > 使用PowerShell修改注册表

使用PowerShell修改注册表
类别:Powershell   作者:码皇   来源:互联网   点击:

本文通过具体的实例给大家具体讲解了使用PowerShell操作注册表的方法,非常的简单实用,有需要的小伙伴可以参考下。

下面的例子里, 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:SYSTEMCurrentControlSetControlLsaMSV1_0" -Name "BackConnectionHostNames" -ea SilentlyContinue) -eq $null){
New-ItemProperty "HKLM:SYSTEMCurrentControlSetControlLsaMSV1_0" -PropertyType MultiString -Value "$url" -Name "BackConnectionHostNames"
}else{
Set-ItemProperty "HKLM:SYSTEMCurrentControlSetControlLsaMSV1_0" -Name "BackConnectionHostNames" -Value ($gchn.BackConnectionHostNames+" $url")
}
 
#disable loobback check
if((Get-ItemProperty "HKLM:SYSTEMCurrentControlSetControlLsa" -Name "DisableLoopbackCheck" -ea SilentlyContinue) -eq $null){
New-ItemProperty "HKLM:SYSTEMCurrentControlSetControlLsa" -PropertyType DWORD -Value "1" -Name "DisableLoopbackCheck"
}

实例给大家了,下面分享一些powershell操作注册表的方法吧

访问注册表键值

在PowerShell中,用户可以通过类似于HKCU:(作为HKEY_CURRENT_USER)和HKLM:(代表HKEY_LOCAL_MATCHINE)的虚拟驱动器访问注册表键值。
如:Dir Registry::HKEY_LOCAL_MACHINESoftware
通过这种方式用户可以很容易的复制、粘贴注册表内的键值,用户可以通过下面的命令获取已经注册的文件后缀:
dir Registry::HKEY_CLASSES_ROOT.* -name | Sort-Object

读取注册表键值

在PowerShell中,用户能够以虚拟驱动器的形式来处理注册表的内容
下面的Get-RegidtryValues函数列举存储在一个注册表键值下的所有键值,完整代码如下所示:

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

Get-RegistryValues HKLM:SoftwareMicrosoftWindowsCurrentversion

Get-RegistryValue读取任意注册表键值并返回其内容,完整代码如下所示:

    function Get-RegistryValue($key, $value) {
    (Get-ItemProperty $key $value).$value }
    Get-RegistryValue ' HKLM:SoftwareMicrosoftWindowsCurrentversion' `


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:SoftwareTestABC myValue Hello Set-RegistryValue HKCU:SoftwareTestABC myValue 12 Dword Set-RegistryValue HKCU:SoftwareTestABC 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 }

相关热词搜索: PowerShell操作注册表 PowerShell修改注册