访问注册表键值

在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注册表相关命令(可能不全)------------------
这些个命令的具体用法,请看手册
get-childitem 即dir
new-item              新建(注册表)目录项
remove-item           删除目录项
rename-item           改名目录项
copy-item                复制目录树
move-item             移动目录树

New-ItemProperty                        新建某键,并赋值。即新建键值对
remove-itemproperty                        删除注册表 某键值对
Copy-ItemProperty                        把键和值,从某注册表路径复制到另一个。
Move-ItemProperty                        移动键的位置,键值不变
Rename-ItemProperty                           更改键名,键值不变
Clear-ItemProperty                        清空某键的值,但键名不变

Get-ItemProperty                            注册表键值  -> powershell变量值 ,即读取
set-itemproperty                            powershell变量值 -> 注册表键值  ,即写入

值的类型:
String=字符串
MultiString=多字符串
ExpandString=可扩充字符串
Binary=二进制值 
DWord=32位值
QWord=64位值

get-acl 显示注册表某目录的安全描述符
set-acl 更改注册表项的安全描述符。
注意:此二条命令只对,注册表目录有效。无法在注册表的键和值上设置权限。

-------------------------例子-------------------------
目的:
列表HKEY_CURRENT_USER
cd    hkcu: 回车
dir    回车

目的:
建立一个键名为powershella,值为powershellb的键值对。类型为string
New-ItemProperty -path hkcu: -name powershella -value powershellb -PropertyType string

目的:
建立一个键名为powershellc,值为【空】的键。类型为string
New-ItemProperty -path hkcu: -name powershellc -value  "" -PropertyType string

目的:
读取powershella的值,进入变量$mmmm
$mmmm = (Get-ItemProperty -path hkcu: -name powershella).powershella

目的:
把注册表 hkcu:powershella 的值,设置成变量$nnnn的值
$nnnn = "chuanjiaoshi"
set-ItemProperty -path hkcu: -name powershella -value $nnnn

目的:
获取hkcu:\software目录的权限
get-acl hkcu:\software

使用PowerShell读、写、删除注册表键值的更多相关文章

  1. 使用Windows命令行reg控制注册表键值

    使用Windows命令行reg控制注册表键值 引言 熟悉Windows操作系统的朋友可能都知道,Windows操作系统下的注册表相当于系统的数据库 ,部分软件将自己的配置信息都放在注册表里面,而注册表 ...

  2. 通过程序修改注册表键值来达到修改IE配置参数的目的

    通过程序修改注册表键值来达到修改IE配置参数的目的 使用IE访问应用程序或网页时经常需要设置一些选项(工具-Internet 选项),比如为了避免缓存网页,把工具-Internet选项-常规选项卡-I ...

  3. 注册表键值明明存在OpenSubKey始终返回null,解决方案

    先上代码及实例 RegistryKey rsg = Registry.LocalMachine.OpenSubKey(@"SOFTWARE\Macromedia\FlashPaper Pri ...

  4. Ubuntu - Dconf 注册表键值修改参考表

    gsettings reset org.gnome.desktop.wm.preferences theme默认gnomegsettings set org.gnome.desktop.interfa ...

  5. 自己动手写reg注册表文件

    自己动手写reg注册表文件 2015-01-12 20:23 1161人阅读 评论(1) 收藏 举报  分类: 玩转Windows应用层编程(12)  版权声明:本文为博主原创文章,未经博主允许不得转 ...

  6. Win64 驱动内核编程-32.枚举与删除注册表回调

    枚举与删除注册表回调 注册表回调是一个监控注册表读写的回调,它的效果非常明显,一个回调能实现在SSDT 上 HOOK 十几个 API 的效果.部分游戏保护还会在注册表回调上做功夫,监控 service ...

  7. 我的天$删除注册表$安装mysql最后一步不能启动服务的解决办法

    我是照着参考资料一步一步删除的,只是我的Win7 64位的电脑比较犟,硬是要我重启电脑才能成功!强烈建议最好是重启电脑再装! 使用MySQL都有过重装的经历,要是重装MySQL基本都是在最后一步通不过 ...

  8. mysql 第一课 win7艰难的配置与删除注册表重新安装

    mysql 这个安装一定要慎重!慎重!慎重! 重要的事情说三遍.. 不会的一定要按步骤来~出错了真的很难受. 详细教程 -->  https://jingyan.baidu.com/album/ ...

  9. 卸载oracle删除注册表脚本

    一.前言 在我们操作系统中,有时要卸载oracle数据库,每一次都要去删除win下的注册表,为了方便删除注册表的信息,下面通过一种删除注册表快捷的脚本. 二.脚本信息 Windows Registry ...

随机推荐

  1. bzoj 1257: [CQOI2007]余数之和sum 数学 && 枚举

    1257: [CQOI2007]余数之和sum Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1779  Solved: 823[Submit][Sta ...

  2. appFramework在三星某些机型上的兼容问题

    有个问题困扰了安卓哥好几天 一个带有fixed抬头的列表页,在向上swipe的时候,有一定概率会把整个画面滚动上去,就连fixed的部分也移动了. 于是哥觉得是webview的问题,找了各种选项,禁用 ...

  3. css学习笔记一

    1.在css开头用* {margin:0;padding:0;}可以清除所有样式 2.在css中table,th,td {padding:0;}效果等同于cellpadding="0″. 3 ...

  4. What does the number on the visual studio solution icon represent?

    The numbers correspond to the internal version numbers of various editions of Visual Studio http://e ...

  5. 挖坑#3-----DP优化+CDQ分治+期望DP

    1492: [NOI2007]货币兑换Cash 1176: [Balkan2007]Mokia 1452: [JSOI2009]Count 1563: [NOI2009]诗人小G tyvj1309   ...

  6. Solr4.4的安装与配置

    最近准备用Solr搭建项目,所以对其作了一些了解,我采用的是Solr4.4版本:这个版本的Solr相对于以前的版本改变很大,这里记一下自己安装与配置的过程. 网上很多关于Solr的教程都很老了,很多教 ...

  7. mkfs 的使用

    使用方法: [root@localhost beinan]# mkfs -t 文件系统  存储设备 注:这里的文件系统是要指定的,比如 ext3 :reiserfs :ext2 :fat32 :msd ...

  8. 数据结构(莫队算法):HH的项链

    问题描述: HH有一串由各种漂亮的贝壳组成的项链.HH相信不同的贝壳会带来好运,所以每次散步 完后,他都会随意取出一段贝壳,思考它们所表达的含义.HH不断地收集新的贝壳,因此, 他的项链变得越来越长. ...

  9. Unity3d fur真实毛发渲染

    放出效果图 使用的核心技术为曲面细分和置换贴图,Unity支持GPU的曲面细分,置换贴图为噪波,沿着法线拉伸即成为毛发.再随机减少最高点的高度产生毛刺的感觉 曲面细分之前有篇文章详细讲过 弄了前后ri ...

  10. Unity之Avatar原理

    今天花了一些时间理了理Unity的动画系统. 之前给不同模型配动画时没怎么在意,只知道用Avatar可以让一个模型使用另一个模型的动画.由于用的基本上都是人物模型,基本上没出现什么错误. 不过在用到异 ...