源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

Powershell小技巧之获取注册表值的类型

  • 时间:2022-12-27 11:52 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:Powershell小技巧之获取注册表值的类型
当你不需要获取注册表数据类型而只要其值是非常简单的:你可以使用Get-ItemProperty:
[u]复制代码[/u] 代码如下:
Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
如果你需要获取数据类型,只需要多几个步骤:
[u]复制代码[/u] 代码如下:
$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   }
[b]访问注册表键值[/b] 在PowerShell中,用户可以通过类似于HKCU:(作为HKEY_CURRENT_USER)和HKLM:(代表HKEY_LOCAL_MATCHINE)的虚拟驱动器访问注册表键值。 如:Dir Registry::HKEY_LOCAL_MACHINE\Software 通过这种方式用户可以很容易的复制、粘贴注册表内的键值,用户可以通过下面的命令获取已经注册的文件后缀:
[u]复制代码[/u] 代码如下:
dir Registry::HKEY_CLASSES_ROOT\.* -name | Sort-Object
[b]读取注册表键值[/b] 在PowerShell中,用户能够以虚拟驱动器的形式来处理注册表的内容 下面的Get-RegidtryValues函数列举存储在一个注册表键值下的所有键值,完整代码如下所示:  
[u]复制代码[/u] 代码如下:
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
[b]写入注册表键值[/b] 添加或修改注册表键值在PowerShell中也是很方便的就可以完成的,下面创建名为Set-RegistryValue函数用来操作注册表键值,以下是完整的代码:
[u]复制代码[/u] 代码如下:
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
[b]移除注册表键值[/b] 通过Remove-Item删除目标注册表键,函数Remove-RegistryKey的完整代码如下所示:
[u]复制代码[/u] 代码如下:
function Remove-RegistryKey($key) { Remove-Item $key -Force } 通过Remove-ItemProperty函数删除注册表值,完整的代码如下所示: function Remove-RegistryValue($key, $value) { Remove-ItemProperty $key $value }
支持所有PS版本
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部