簡體   English   中英

使用Powershell從注冊表返回鍵路徑

[英]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 namedisplay versionpublisher等,只需選擇該字段。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM