我正在尝试编写一个reg查询或者只是一个脚本来搜索注册表项并根据内部数据删除它。
Key看起来像这样:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{D642433C-50B0-4F52-9BB7-1D4AF5E99FF8}]
"somevalue"="somedata"
CLSID是完全随机的,但内部数据不是。
是否可以编写某种脚本,根据数据删除此 {D642433C-50B0-4F52-9BB7-1D4AF5E99FF8} 键。
我尝试搜索各种reg / vbs / powershell脚本,但没有任何解决方案。
非常感谢任何帮助。
答案 0 :(得分:1)
您可以使用Uninstall
枚举Get-ChildItem
下的所有子项,然后检查somevalue
值条目是否包含所需数据:
$UninstallKeys = Get-ChildItem 'HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall'
foreach($Key in $UninstallKeys){
if($Key.GetValue("somevalue") -eq "somedata"){
Remove-Item -Path $Key.PSPath -Force
}
}