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.

    参考文章:

  • 相关阅读:
    浅谈Sass与Less区别、优缺点
    混合开发的几个框架
    什么是Node.js?
    初入AngularJS
    jQuery的效果函数
    jQuery的一些选择器
    CSS3新增的属性有哪些:
    linux 新建用户、用户组 以及为新用户分配权限
    linux各个文件作用
    Linux CentOS6.5 命令修改网络配置
  • 原文地址:https://www.cnblogs.com/TianFang/p/12594568.html
Copyright © 2011-2022 走看看