如何使用power shell进行多条件过滤

host上使用power shell命令获取机器执行一些操作的时候。

$vms = get-vm -name xx* | Where-Object {$_.Name -ne "*DC"}

我想要获取XX域中的机器,但我不想要DC结尾的机器。可是上面这个命令最后还是把DC给loop到了,想请问一下是哪里写的不对吗?

您好,这个命令只需要修改一下即可。使用-notlike操作符,会根据模式进行比较,并排除以DC结尾的机器。这样修改后,应该可以正确地获取名字以xx开头且不以DC结尾的了。

$vms = Get-VM -Name xx* | Where-Object {$_.Name -notlike "*DC"}