Content

使用PowerShell修改注册表(powershell 注释)燃爆了

文章摘要

这篇文章主要介绍了如何使用PowerShell进行注册表操作。作者通过提供具体的代码示例,展示了如何修改注册表键值,包括禁用回环检查(LoopbackCheck)、添加或修改BackConnectionHostNames等。文章还详细讲解了如何通过PowerShell访问、读取、写入和删除注册表键值,并提供了相应的函数代码。例如,作者展示了如何创建`Set-RegistryValue`函数来设置注册表值,以及如何删除注册表键值。这些操作在网络安全和系统管理中非常实用,能够帮助用户高效地配置和管理网络参数。文章还推荐了一些相关阅读内容,供读者进一步学习。



下面的例子里, 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的完整代码如下所示:

function Remove-RegistryKey($key) { Remove-Item $key -Force }

通过Remove-ItemProperty函数删除注册表值,完整的代码如下所示:

function Remove-RegistryValue($key, $value) { Remove-ItemProperty $key $value }
您可能感兴趣的文章:Powershell 查询 Windows 日志的方法Powershell 查找用户的主SMTP地址powershell解决win10开始菜单和通知中心无法打开Powershell 获取特定的网页信息的代码Powershell错误处理之what-ifPowerShell 4.0实现自动化设置服务器揭秘PowerShell 5.0新特性和新功能Windows 8 中的 PowerShell 3.0PowerShell使用小技巧分享PowerShell用户认证Function实例代码