powershell对注册表的一般操作

来源:互联网 发布:java ie 加载项 编辑:程序博客网 时间:2024/05/21 15:39
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 0
原创粉丝点击