是否可以搜索通配符 - 示例*WAAgent*
或*WAHost*
並刪除引用上述通配符語句的每個註冊表項?使用通配符搜索並刪除註冊表項
5
A
回答
7
您可以嘗試類似:
Get-ChildItem -Path HKLM:\ -Recurse -Include *WAAgent* -ErrorAction SilentlyContinue | Remove-Item
Get-ChildItem -Path HKLM:\ -Recurse -Include *WAHost* -ErrorAction SilentlyContinue | Remove-Item
你必須-Path
指定,如果他們在HKLM(本機)或HKCU(當前用戶)的位置,因爲它們是兩個不同的驅動器。這必須以管理員身份運行,並會出現很多錯誤(這就是爲什麼我使用-ErrorAction SilentlyContinue
來隱藏它們)。
小心:我個人認爲在註冊表中使用通配符並不聰明,但它可能會刪除一些您不知道的信息,從而導致系統崩潰。我的建議是編譯一個你想要刪除的鍵的路徑列表,並用foreach循環刪除一個一個的鍵。同樣,通配符在註冊表中是危險的。
3
如果您正在搜索的屬性值,而不是一個關鍵值(並刪除相關鍵)就可以使用這樣的:對@ Graimer的回答
gci HKLM: -rec -ea SilentlyContinue | % { if((get-itemproperty -Path $_.PsPath)
-match "WAAGent") { $_.PsPath} } | Remove-Item
一樣,要小心! !
2
正如所有已經建議,使用這個非常謹慎!以下內容將貫穿所有註冊表配置單元。請記住,找到的匹配關鍵字可能在其下面有一個深層結構,並且您將其全部刪除。刪除WhatIf開關以實際刪除密鑰。
Get-ChildItem Microsoft.PowerShell.Core\Registry:: -Include *WAAgent*,*WAHost* -Recurse |
Remove-Item -Recurse -Force -WhatIf
0
我遇到了註冊表路徑中存在會話ID的問題。 爲了解決這個問題,得到了註冊表的第一部分,將其存儲在一個變量中,並將其用於存儲驅動器映射關鍵字的foreach循環中。
以上對我來說太嚴謹了。
下面顯示了一個在會話中刪除(本地)驅動器映射的示例(我遇到的問題)。
Start-Sleep -Seconds 20
# This stores the Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\<SESSIONID>"
$SessionInfo = Get-Item "HKCU:\Software\Microsoft\Windows\CurrentVersion\Explorer\SessionInfo\*"
cd "HKCU:\"
Start-Sleep -Seconds 1
$Items = Get-ChildItem "$SessionInfo\MyComputer\Namespace"
foreach($Item in $Items){
Remove-Item $Item -Force -Recurse -Verbose
}
相關問題
- 1. 通過cmd刪除註冊表項
- 2. 使用PowerShell搜索並替換註冊表項值
- 3. Log Parser 2.2註冊表通配符搜索
- 4. 使用PowerShell搜索註冊表項和值中的字符串
- 5. 註冊表搜索
- 6. 使用reg刪除註冊表項刪除
- 7. Inno Setup - 使用通配符註冊表項設置DefaultDir?
- 8. 搜索使用通配符
- 9. 使用通配符搜索
- 10. 使用Java搜索註冊表
- 11. 從Windows註冊表中刪除InProgress註冊表項
- 12. 刪除註冊表項,並啓動應用
- 13. 使用批處理刪除註冊表項及其子項
- 14. 註冊表項刪除錯誤
- 15. 問題刪除註冊表項
- 16. WIX removefiles和Windows刪除註冊表項
- 17. 刪除頑固的註冊表項
- 18. 獲取註冊表項刪除權限
- 19. Powershell - 刪除(默認)註冊表項?
- 20. 註冊表項:刪除錯誤
- 21. 如何刪除註冊表項?
- 22. C++搜索Windows註冊表
- 23. 遞歸搜索註冊表
- 24. 如何使用通配符搜索刪除sqlite數據庫中的表?
- 25. VBA - 搜索並刪除重複項
- 26. 用戶配置註冊刪除
- 27. Vb.net在註冊表路徑通配符
- 28. 刪除註冊表鍵值
- 29. 刪除註冊表值
- 30. 註冊表刪除值
在那裏發出了警告,但現在讓它更清晰一些。註冊表不是我眼中的通配符。他應該得到一個鍵列表,然後通過foreach循環來運行它們。 –
@Graimer用'Like'替代了'As',或許還不清楚是否還在使用我的代碼;) –