[英]Return key path from Registry Using Powershell
我正在編寫一個腳本,該腳本將能夠從注冊表中刪除條目。 問題在於, HKCU:\\Software\\Microsoft\\Windows\\ CurrentVersion\\Uninstall\\{NUMBER}
中的端點不是恆定的,並且每次安裝產品時都會更改。 我在這里找到了類似的解決方案,並將腳本更改為我自己。 但是我仍然不知道如何准確刪除{NUMBER}文件夾中的內容。
此時,腳本只能返回Publisher,DisplayName,DisplayVersion,UninstallString
但可以解決問題,以便腳本返回完整路徑,或者至少返回這些記錄所在的文件夾的名稱? 最好將其刪除嗎?
這是我的代碼:
$PATHS = @("HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\")
$SOFTWARE = "APPLICATION"
ForEach ($path in $PATHS) {
$installed = Get-ChildItem -Path $path |
ForEach { Get-ItemProperty $_.PSPath } |
Where-Object { $_.DisplayName -match $SOFTWARE } |
Select-Object -Property Publisher,DisplayName,DisplayVersion,UninstallString
ForEach ($app in $installed) {
Write-Output "$($app.DisplayName)"
}
}
您沒有提到PowerShell版本,我假設它是Windows 10上運行的PowerShell 5.1,希望對您有所幫助:
Get-ItemProperty "HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall\*"
我認為您可以從結果中找到想要的任何東西:
PSChildName
:您提到的{number}
InstallLocation
:安裝位置的文件夾
至於display name
, display version
, publisher
等,只需選擇該字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.