2016-09-26 62 views
1

我正在嘗試編寫一個註冊查詢或將其稱爲簡單的腳本,它將搜索註冊表項並刪除基於數據的腳本。基於數據的註冊查詢和刪除鍵

關鍵是這樣的:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{D642433C-50B0-4F52-9BB7-1D4AF5E99FF8}] 
"somevalue"="somedata" 

CLSID是完全隨機的,但內在價值的數據是沒有的。

是否可以編寫某種腳本,根據數據刪除該密鑰{D642433C-50B0-4F52-9BB7-1D4AF5E99FF8}密鑰。

我試圖搜索各種reg/vbs/powershell腳本,但是甚至沒有找到解決方案。

任何幫助將不勝感激。

回答

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 
    } 
} 
+0

感謝,似乎它的工作原理。現在我有兩個問題: 1)如果我想讓這個腳本匹配2個數據字符串呢? somedata1和/或somedata2 2)如何從運行窗口運行此腳本?像powershell.exe /命令? – TwinHeadedEagle