我在PowerCLI中运行此代码以输出需要VM工具升级的VM。
Get-VM | where {$_.powerstate -ne “PoweredOff” } | Get-VIew | where {$_.Guest.ToolsVersionStatus -ne “guestToolsCurrent”}| select Name, @{ Name=”ToolStatus”; Expression={$_.Guest.ToolsVersionStatus}}
这很好但我还需要排除一些其他信息,例如“guestToolsUnmanaged”和“guestToolsNotInstalled”
我尝试过这样的事情:
Get-VM | where {$_.powerstate -ne “PoweredOff” } | Get-VIew | where {$_.Guest.ToolsVersionStatus -ne “guestToolsCurrent” -and “guestToolsNotInstalled” }| select Name, @{ Name=”ToolStatus”; Expression={$_.Guest.ToolsVersionStatus}}
然而,这只输出与前一段代码相同的信息,我尝试添加“-and -ne”,但这是无效的语法。任何人都可以确认加入多个语句的正确语法吗?
由于
答案 0 :(得分:1)
每次都需要$ _。SomeObject:
... where {$_.Guest.ToolsVersionStatus -ne "guestToolsCurrent" -and $_.Guest.ToolsVersionStatus -ne "guestToolsNotInstalled" } ...