我是第一次使用 PowerShell 的程序员。在 Windows Server 2012 上运行。
我正在尝试获取故障转移群集上所有 VM 的列表,并且正在处理此问题:
$clusterNodes = Get-ClusterNode | select Name
ForEach($item in $clusterNodes)
{Get-VM -ComputerName $item}
这会返回一堆错误
然而,这工作得很好
$hosts = "server1", "server2", "server3", "server4"
ForEach($item in $hosts)
{Get-VM -ComputerName $item}
是不是因为Get-ClusterNode 失败了?选择名称返回以下内容?
Name
----
server1
server2
server3
server4
有标题和下划线?
最佳答案
试一试:
$clusterNodes = Get-ClusterNode;
ForEach($item in $clusterNodes)
{Get-VM -ComputerName $item.Name; }
您必须引用
Name
Get-ClusterNode
返回的对象的属性.
关于PowerShell:如何返回 Hyper-V 群集中的所有 VM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21409249/