创建一个注册表项与路径组件通过PowerShell



对于遗留应用程序,我需要创建一个注册表项,其名称格式为c:/foo/bar/baz。(注意:使用正斜杠,而不是反斜杠。)需要明确的是:这是一个键的名称,带有正斜杠,否则看起来像Windows路径。因为我需要在很多服务器上编写脚本,所以PowerShell似乎是一个很好的选择。

问题是我不知道如何通过PowerShell创建该格式的密钥。New-Item -Path HKLM:SOFTWARESomeKey -Name 'c:/foo/bar/baz'错误与PowerShell认为我使用/作为路径分隔符,未能找到路径HKLM:SoftwareSomeKeyc:foobar,这确实不存在(也不应该)。我找不到任何其他的方法来(ab)使用New-Item来得到我想要的。

是有什么我错过了,或者我应该放弃,只是生成和加载注册表转储老式的方式?

您需要做两件事。首先,您需要获得一个可写的RegistryKey对象,否则无论如何都不能修改任何内容。其次,直接在RegistryKey对象上使用CreateSubKey方法。

$writable = $true
$key = (get-item HKLM:).OpenSubKey("SOFTWARE", $writable).CreateSubKey("C:/test")
$key.SetValue("Item 1", "Value 1")

创建键后,使用生成的对象向其添加值。

最新更新