Powershell检查版本已安装程序的数量

时间:2014-07-02 13:24:11

标签: powershell

我正在尝试使用此代码,但我无法获得匹配的版本 - 你能帮忙吗?

$Version = Get-ChildItem hklm:\software\microsoft\windows\currentversion\uninstall | ForEach-Object {Get-ItemProperty $_.pspath} | Where-Object {
$_.PSChildName -Eq '{BFAE8D5B-F918-486F-B74E-90762DF11C5C}'} | Select-Object Version

Write-Host $Version

if ($Version -eq 67436760)
{
    Write-Host "Version match"
}
else
{
    Write-Host "Not Matched"
}

2 个答案:

答案 0 :(得分:1)

问题是您正在尝试将对象与整数进行比较。由于它是错误的数据类型,因此您将始终返回False。

要解决此问题,您只需添加“.Version”,如下所示:

if($ Version.Version -eq 67436760) {     写主机“版本匹配” } 其他 {     写主机“未匹配” }

这将检索对象内的整数而不是对象本身。

祝你好运

答案 1 :(得分:0)

您需要更好地捕获该版本变量并将其转换为整数。使用:

Write-Host $Version
[int]$Version=$Version.version