1
我有一个奇怪的问题,很可能我在这里错过了一些东西。 我有这样的功能:Get-ItemProperty计数1结果不准确?
function CheckJava {
$JavaVersion = (@(Get-ItemProperty HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion) | where { $_.DisplayName -like "java*" }).Count
if ($JavaVersion -eq "" -or $JavaVersion -le 1) {
Write-Host -NoNewLine "Java Detected - 64bit"
Write-Host -ForegroundColor Yellow " [ NO ]"
$global:JavaInstalled = $false
} else {
Write-Host -NoNewLine "Java Detected - 64bit"
Write-Host -ForegroundColor Green " [ YES ]"
$global:JavaInstalled = $true
}
}
有趣的是,如果我运行此:
(@(Get-ItemProperty HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion) | where { $_.DisplayName -like "java*" }))
我得到的结果。如果结果中有2项,.Count
实际上工作正常,但如果只有一个返回结果,则.Count
返回空。我期望1?
我在这里错过了一些非常明显的东西吗?
我知道这很简单。 :)谢谢Ansgar!非常感激! –