powershell对注册表的一般操作

powershell对注册表的一般操作

建立一个新的key(相当于文件夹)
md或者new-item
md hklm:\software\mysoftware
new-item -path hklm:\software -name mysoftware
建立一个新的键值(相当于文件)
由于注册表跟文件系统不太一样,所以建立新的键值跟建立新的文件也不一样,注册表是用new-itemproperty
new-itemproperty -path hklm:\software\mysoftware -name test -propertytype Dword -value 1
这是在注册表key mysoftware下面建立一个新的dword键值,名称为test,value为1
如果直接调用.net framework的方法,可以这么来干
[microsoft.win32.registry]::setvalue("HKEY_LOCAL_MACHINE\SOFTWARE\mysoftware","test","1""Dword")
setvalue()比较方便,如果存在这个键值,直接修改,如果不存在就直接创建,语法如下:
Registry.SetValue 方法 (String, String, Object, RegistryValueKind)
参数
keyName
类型:System..::.String
以有效注册表根(如“HKEY_CURRENT_USER”)开头的键的完整注册表路径。
valueName
类型:System..::.String
名称/值对的名称。
value
类型:System..::.Object
要存储的值。
valueKind
类型:Microsoft.Win32..::.RegistryValueKind
存储数据时使用的注册表数据类型。
这个不支持powershell的注册表格式,比如说hklm:\software,必须得用标准的注册表名称
 
注册表键值有7种类型,常用的就5种:string,dword,bianry,multi-string,expandable-string
这些都可以在MSDN的.net类库Microsoft win32 namespace的RegistryValueKind 枚举
可以把propertytype后面的类型换成String,ExpandString,Binary,DWord,MultiString
就可以建立不同的键值
 
创建完键值,就可以利用set-itemproperty来进行修改
set-itemproperty -path hklm:\software\mysoftware -name test1 -value 2
这里可以不用指定typeproperty,直接修改之就可以
如果用.net framework的setvalue() method,就可以直接修改了
 
删除就更简单了
删除键值:
remove-itemproperty -path hklm:\software\mysoftware -name test1
删除KEY:
remove-item -path hklm:\software\mysoftware
用.net framework方法
貌似用.net framework不能open一个key,我看大部分都是调用的以下静态方法
[microsoft.win32.registrykey]::openremotebasekey("Localmachine",".")
但是在删除的时候需要更大的权限,这个还没解决,我想可能需要new-object一个registrykey的对象,然后调用这些方法,但是很遗憾,没有成功,可能在以后的时候可以看到
 
 
如果查看每个键值,可以用get-itemproperty 来查看,这个比较简单,就不记了
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值