Powershell命令使用C#更改子文件夹中的注册表值

本文关键字:文件夹 注册表 命令 Powershell | 更新日期: 2023-09-27 18:25:36

我正在做一些应该更改注册表数据值的事情。因此,用户单击一个按钮,它就会更改值。我使用C#在powershell中运行该命令。

当我使用这个。。。

string script = "Set-ItemProperty -path 'HKLM:'' -name rname -value + new";

它可以毫无问题地更改MAIN文件夹中的值,但当我试图更改其子文件夹中的一个值时,如…

string script = "Set-ItemProperty -path 'HKLM:''SOFTWARE''Microsoft''Windows NT''CurrentVersion''Winlogon -name rname -value + new";

它没有任何作用。该值根本不会改变。

有人能帮忙吗?

Powershell命令使用C#更改子文件夹中的注册表值

一个更好的选择可能是在C#中使用Registry类:

Registry.SetValue("HKEY_LOCAL_MACHINE''Software''Microsoft''...", "rname", value);

它应该完成同样的事情,但要简单得多。

如果在C#中执行此操作,则还需要转义反斜杠。例如,您需要HKLM:''software''Micro... 而不是HKLM:'software'Micro...