使用PowerShell导入脚本修改的.reg文件?

Hyd*_*rum 3 registry powershell

我需要导入一个包含服务器产品标准配置设置的.reg文件.但是,单个Windows框可能包含多个服务器实例.每个服务器实例在Windows注册表中都有自己的配置键.

第一个实例将具有默认注册表项:

HKLM\SOFTWARE\<Vendor>\<Product>\Settings
Run Code Online (Sandbox Code Playgroud)

任何其他实例都将具有变体名称,例如:

HKLM\SOFTWARE\<Vendor>\<Product>\Settings-foo
HKLM\SOFTWARE\<Vendor>\<Product>\Settings-bar
HKLM\SOFTWARE\<Vendor>\<Product>\Settings-baz
Run Code Online (Sandbox Code Playgroud)

等等...

注册表文件包含需要应用于每个服务器实例的设置.注册表子键的结构在每个键中是相同的.因此,手动部署过程是获取.reg文件并执行文件搜索和替换"SOFTWARE\<Vendor>\<Product>\Settings\"并替换它"SOFTWARE\<Vendor>\<Product>\Settings-foo\",然后导入新调整的.reg文件.为酒吧,巴兹等冲洗和重复

我想要做的是编写一个PowerShell脚本,该脚本获取所有"Settings-"键的列表,并在导入.reg文件之前进行等效的搜索和替换.我还没有找到可以导入.reg文件的cmdlet,所以我想我必须调用reg.exe或regedit.exe.这两个程序都允许您导入磁盘上的.reg文件的内容.

我的问题是,我是否真的必须创建.reg文件并将它们写入磁盘,以便我可以调用reg.exe /Import <filename>regedit.exe /S <filename>?或者有什么方法我可以加载原始.reg文件,在内存中修改它,并获取reg.exe或regedit.exe导入修改后的注册表项,而无需将整个堆栈的.reg文件写入磁盘?

JPB*_*anc 5

据我所知,基本的PowerShell Cmdlet根本不使用.reg文件.

因此,一方面,您可以修改您的reg文件并将其应用于REG.EXE.另一方面,您可以使用PowerShell注册表提供程序和"项目"CMdlets来修改您的注册表.