下面的例子里, 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-if
- PowerShell 4.0实现自动化设置服务器
- 揭秘PowerShell 5.0新特性和新功能
- Windows 8 中的 PowerShell 3.0
- PowerShell使用小技巧分享
- PowerShell用户认证Function实例代码