获取powershell中具有部分路径的注册表完整路径



我在获取注册表项的完整路径时遇到问题,因为除了版本之外,98%的路径都是这样。

我尝试过但没有成功的是:

(Get-Item -Path "HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstallMaxon Cinema 4D R*").FullName-这将适用于文件/文件夹路径,但不适用于注册表。

像这样使用"HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstallMaxon Cinema 4D R*"也不起作用。我还尝试了一些get-item/get-childitem/full-path/literalpath的变体,但没有成功。

Get-ItemProperty "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstallMaxon Cinema 4D R*" | Select-Object "Uninstallstring"-这将得到Object,但我不知道如何只得到路径并排除"@{UninstallString="从字符串。

我搜索的结果是:"HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstallMaxon Cinema 4D R25",但版本可能不同,可以是22或24或其他什么。更具体地说,我正在尝试获取Maxon Cinema 4d的卸载字符串值,如果我能获得注册表项的全名,我就能找到它。

Get-ItemProperty为您提供了比"UninstallString"更多的属性。

$result = Get-ItemProperty "HKLM:SOFTWAREMicrosoftWindowsCurrentVersionUninstallMaxon Cinema 4D R*" | Select-Object PSPath, Uninstallstring

现在$result将是单个对象,或者是具有两个属性的对象数组。

如果你用$result | Format-Table -AutoSize把它输出到控制台,你会看到里面有什么

你可以像一样简单地获得这些属性的价值

$result[0].PSPath
$result[0].UninstallString

最新更新