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!非常感激! –