Pau*_* S. 6 powershell hyper-v failovercluster windows-server-2012
我是PowerShell的第一次程序员.在Windows Server 2012上运行.
我正在尝试获取故障转移群集上所有VM的列表并正在使用此代码:
$clusterNodes = Get-ClusterNode | select Name
ForEach($item in $clusterNodes)
{Get-VM -ComputerName $item}
Run Code Online (Sandbox Code Playgroud)
这会返回一堆错误
但是,这完全没问题
$hosts = "server1", "server2", "server3", "server4"
ForEach($item in $hosts)
{Get-VM -ComputerName $item}
Run Code Online (Sandbox Code Playgroud)
它是否失败,因为Get-ClusterNode | select Name返回以下内容?
Name
----
server1
server2
server3
server4
Run Code Online (Sandbox Code Playgroud)
标题和下划线?
这些衬垫可能更容易一些。适用于 Windows Server 2012 R2,应该适用于 2012。
\n\nGet-VM \xe2\x80\x93ComputerName (Get-ClusterNode \xe2\x80\x93Cluster CLUSTER)\nRun Code Online (Sandbox Code Playgroud)\n\n基本上从名为“CLUSTER”的群集获取节点。\n将列表提供给您的 -ComputerName
\n\n或者
\n\nGet-ClusterGroup -Cluster CLUSTER | ? {$_.GroupType \xe2\x80\x93eq \'VirtualMachine\' } | Get-VM\nRun Code Online (Sandbox Code Playgroud)\n\n获取名为“VirtualMachine”的类型的集群组和筛选器。
\n\n无论使用哪一种,您都可以执行Get-ClusterGroup而不是Get-ClusterGroup -Cluster CLUSTER在其中一个节点上执行。
小智 4
试一试:
$clusterNodes = Get-ClusterNode;
ForEach($item in $clusterNodes)
{Get-VM -ComputerName $item.Name; }
Run Code Online (Sandbox Code Playgroud)
您必须引用Name返回的对象的属性Get-ClusterNode。
| 归档时间: |
|
| 查看次数: |
42441 次 |
| 最近记录: |