• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Powershell小技巧之获取注册表值的类型

    当你不需要获取注册表数据类型而只要其值是非常简单的:你可以使用Get-ItemProperty:

    复制代码 代码如下:

    Get-ItemProperty -Path HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

    如果你需要获取数据类型,只需要多几个步骤:

    复制代码 代码如下:

    $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
      }

    访问注册表键值

    在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
    }

    支持所有PS版本

    您可能感兴趣的文章:
    • Powershell从注册表中查询默认MAPI客户端的例子
    • PowerShell注册表操作命令总结
    • PowerShell使用Remove-Item命令删除文件、注册表项介绍
    • PowerShell小技巧之查找获取注册表路径
    • Powershell读取本机注册表中的所有软件关联扩展名
    • Powershell实现从注册表获取本地关联文件的扩展名
    • Powershell实现从注册表获取用户配置脚本分享
    • 使用PowerShell修改注册表
    上一篇:Powershell小技巧之编辑Hosts文件
    下一篇:Powershell小技巧之用变量累积记录错误
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

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