zoukankan      html  css  js  c++  java
  • Powershell注册表操作小结

    Powershell可以使用文件操作API来操作注册表,注册表项就类似于Windows的文件夹。

    如下是一个简单的示例:

    上述例子就演示了利用cd指令(Set-Location)设置当前的注册表路径, 然后通过dir指令(Get-ChildItem)获取所有的子项。

    注册表项API

    在Powershell中,注册表项基本上和文件夹是对等的,可以使用文件夹操作相关API来操作注册表项。通常的操作有:

    例如,我们可以用New-Item来创建一个注册表项。

    New-Item Item3

    由于注册表的Item只有一个类型,因此无需像用New-Item创建文件夹那样要指定Type参数。

    另外,mkdir这种直接创建文件夹的api对于创建注册表项也是有效的,非常方便。

    注册表值API

    注册表值并不是对应的文件的,而是ItemProperty。我们可以用ItemPropertyAPI就行注册表的值操作:

    简单的示例如下:

    Set-ItemProperty -Path "." -Name "link" -Type "DWord" -Value 23
    Get-ItemPropertyValue -Path "." -Name "link"
    Rename-ItemProperty -Path "." -Name "link" -NewName "link2"

    我这里用的还是相对比完整的命令行,实际应用中可以简化一下,例如

    Set-ItemProperty "." "link" 23
    Rename-ItemProperty "." "link" "link2"

    默认值

    对于Property的访问,需要传入Name作为参数的,但注册表项是有一个特殊的Name默认值的

    对于这个值,我么可以用特殊的名称"(default)"来访问它。

    Set-ItemProperty -Path "." -Name "(default)" -Type "DWord" -Value 23

    对象访问

    在程序中对于值的读写的时候,用Object访问更为方便些。

    $a = Get-ItemProperty "."
    echo $a.link
    $a.link = 256

    值类型

    在注册表中,值有不同的类型,我们可以不指定类型,让它自动识别。

    Set-ItemProperty "." "link" "hello"
    Set-ItemProperty "." "link" 323

    同时,也可以主动指定Type类型:

    Set-ItemProperty -Path "." -Name "link" -Type "DWord" -Value 23

    注册表支持如下几种Type类型:

    • String:         REG_SZ.
    • ExpandString:     REG_EXPAND_SZ.
    • Binary:         REG_BINARY.
    • DWord:             REG_DWORD.
    • MultiString:     REG_MULTI_SZ.
    • Qword:          REG_QWORD.
    • Unknown:         REG_RESOURCE_LIST.

    参考文章:

  • 相关阅读:
    Xamarin.FormsShell基础教程(3)Shell项目构成
    Xamarin.FormsShell基础教程(2)创建Shell解决方案
    Xamarin.Forms Shell基础教程(1)
    点击按钮,返回顶部
    三角形(css3)
    改变字体大小的媒体查询代码封装
    将毫秒格式化为分钟和秒 ,并补0
    节流函数
    打乱数组方法
    css使用总结
  • 原文地址:https://www.cnblogs.com/TianFang/p/12594568.html
Copyright © 2011-2022 走看看