powershell Get-VM 名称不一样

powershell Get-VM where name is not like

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

例如Get-VM | -名字不像 "Web1" 和 "Web2"

我该怎么做?

或类似的东西?但这行不通

Get-VM -Name -notlike WEBIMAGE1,WEBIMAGE2

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

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

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

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

所以假设我们有虚拟机 Web1、Web2、Web3 和 Web4,此命令将 returnWeb3 和 Web4。

如果您需要有关比较运算符(例如 -and -notlike 和 -like)的更多信息和示例,请查看 PowerShell 帮助和 运行 Help About_comparison_operators