powershell Get-VM,名称不像

时间:2015-02-04 18:02:58

标签: powershell vmware

我正在尝试运行Get-VM并按名称过滤掉一些VM。

例如Get-VM | -name不像“Web1”和“Web2”

我该怎么做?

或类似的东西?但这不起作用

Get-VM -Name -notlike WEBIMAGE1,WEBIMAGE2

2 个答案:

答案 0 :(得分:5)

将您的输出从Get-VM传输到Where-Object

Get-VM | Where-Object { $_.Name -notlike '*Web1*' -and $_.Name -notlike '*Web2*'}

答案 1 :(得分:0)

实际上有一个比较运算符-like和-not like,所以我们可以用它来完成这个任务。请注意,-like使用通配符搜索' *',因此您需要使用-like "VM1*"之类的查询来获取VM11,VM100等。

Get-VM | Where {($_.Name -notlike "Web1*") -and ($_.Name -notlike "Web2*")}

假设我们有虚拟机Web1,Web2,Web3和Web4,此命令将返回Web3和Web4。

如果您想了解更多关于比较运算符的信息和示例,例如-and -notlike和-like,请查看PowerShell帮助并运行Help About_comparison_operators