簡體   English   中英

Powershell Win32_OperatingSystem選擇標題與操作系統版本“ Microsoft Windows Server 2008 R2 Enterprise”進行比較導致錯誤的結果

[英]Powershell Win32_OperatingSystem select Caption compare with OS Version 'Microsoft Windows Server 2008 R2 Enterprise' resulting wrong result

當我嘗試將操作系統版本“ Microsoft Windows Server 2008 R2 Enterprise”與Win32_OperatingSystem選擇字幕結果進行比較時,結果為false。

例:

$Server='Computername' #Computername which has OS Version 'Microsoft Windows Server 2008 R2 Enterprise'
$OSVersion = Invoke-command -computername $Server -scriptblock {Get-WmiObject -class Win32_OperatingSystem | select Caption}
#OS Version comparing with Win32_OperatingSystem caption
If ($OSVersion.Caption -eq 'Microsoft Windows Server 2008 R2 Enterprise')
{
Write-Host 'True'
}
Else
{ Write-Host 'False'}

結果:

False

但這應為True。 有人可以解釋為什么即使我的操作系統版本和選擇的標題正確也導致錯誤。

如果運行此命令

Get-WmiObject -class Win32_OperatingSystem -ComputerName insert the computername | select Caption

結果真的是Microsoft Windows Server 2008 R2 Enterprise嗎?

如果我在計算機上運行這樣的腳本

$Server='laptop090' #Computername which has OS Version 'Microsoft Windows Server 2008 R2 Enterprise'
$OSVersion = Get-WmiObject -class Win32_OperatingSystem -ComputerName $Server | select Caption
#OS Version comparing with Win32_OperatingSystem caption
If ($OSVersion.Caption -eq 'Microsoft Windows 10 Pro Insider Preview')
{
Write-Host 'True'
}
Else
{ Write-Host 'False'}

這行得通

我執行了以下腳本,以了解為什么操作系統版本“ Microsoft Windows Server 2008 R2 Enterprise”會產生“ False”

$Server='ComputerName'
$OSVersion = 'Microsoft Windows Server 2008 R2 Enterprise'
$OSVersionCaption = Invoke-command -computername $Server -scriptblock {Get-WmiObject -class Win32_OperatingSystem | select Caption}
$OSVersionCaption.Caption.length
$OSVersion.length

Result:
43
44

看到結果,我真的很驚訝。 長度不匹配,並且發現操作系統版本'Microsoft Windows Server 2008 R2 Enterprise'的末尾有空格導致此問題。 僅對於操作系統版本“ Microsoft Windows Server 2008 R2 Enterprise”,而不對於其他操作系統版本,才會發生此問題。

結論以下命令沒有問題。 操作系統版本“ Microsoft Windows Server 2008 R2 Enterprise”的問題

Get-WmiObject -class Win32_OperatingSystem | select Caption

有人可以嘗試使用操作系統版本“ Microsoft Windows Server 2008 R2 Enterprise”並進行確認。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM