我有两个使用PowerShell导出的注册表文件(.reg)。我想比较两个文件与注册表的区别,理想情况下使用PowerShell。我一直在使用compare-object但比较了文本级别的文件。我想"预加载"将文件存入内存并在键/属性级别比较它们以确定哪些键已更改。然后,我想创建一个带有更改的第三个.reg文件,并将其应用于注册表。
这是否可行,例如使用Compare-Object?
答案 0 :(得分:0)
多个想法,其中没有一个我称之为好的想法。即使使用.NET API,我找不到更好的方法。
(Compare-Object):使用'reg.exe'将目标树导出到文件,然后Get-Content这两个文件,并对其内容执行比较对象。
(手动):在new.reg上使用get-content,然后使用split或regex-fu解析每一行。对于每个项目,在目标上进行get-itemproperty并验证属性和子键的值
(Compare-Object):将new.reg导入临时注册表位置,然后在两棵树上使用Get-ChildItem并比较所有对象