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
如果直接调⽤ framework的⽅法,可以这么来⼲
powershell创建目录[istry]::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的类库Microsoft win32 namespace的RegistryValueKind 枚举
可以把propertytype后⾯的类型换成String,ExpandString,Binary,DWord,MultiString
就可以建⽴不同的键值
创建完键值,就可以利⽤set-itemproperty来进⾏修改
set-itemproperty -path hklm:\software\mysoftware -name test1 -value 2
这⾥可以不⽤指定typeproperty,直接修改之就可以
如果⽤ framework的setvalue() method,就可以直接修改了
删除就更简单了
删除键值:
remove-itemproperty -path hklm:\software\mysoftware -name test1
删除KEY:
remove-item -path hklm:\software\mysoftware
⽤ framework⽅法
貌似⽤ framework不能open⼀个key,我看⼤部分都是调⽤的以下静态⽅法
[istrykey]::openremotebasekey("Localmachine",".")
但是在删除的时候需要更⼤的权限,这个还没解决,我想可能需要new-object⼀个registrykey的对象,然后调⽤这些⽅法,但是很遗憾,没有成功,可能在以后的时候可以看到
如果查看每个键值,可以⽤get-itemproperty 来查看,这个⽐较简单,就不记了
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论