我管理的应用程序需要 Microsoft Visual C++ Redistributable (x86) 版本 14.25.x 或更高版本。 我正在测试的服务器版本为 14.34.31931,我可以在 PowerShell 中使用以下命令找到它:
$Key = Get-ItemProperty -Path 'Registry::HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Installer\Dependencies\VC,redist.x86,x86,14.34,bundle'
$Key.Version
我想知道,如果我可以搜索包含“VC,redist.x86”的内容并使用该键,而不是在 Get-ItemProperty 的最后一个位置包含“VC,redist.x86,x86,14.34,bundle” ,无论版本如何? 我知道如果我明白了,我可以比较实际的版本号,但似乎在我当前的搜索中,我只能基于已经知道它是版本 14.34.x 来搜索。
这里有一个例子
基于此人脚本https://www.reddit.com/r/SCCM/comments/cqif5a/visual_c_redist_detection_script/
##check VC Redistributable packages installed
Get-ChildItem HKLM:\SOFTWARE\WoW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | ForEach-Object {
$CurDisplayName = $_.GetValue("DisplayName")
if( $CurDisplayName -match "^Microsoft Visual C\+\+\D*(?<Year>(\d|-){4,9}).*Redistributable.*") {
#$Year = $Matches.Year
echo $Matches.0
}
}