开始我的命令
Get-Clustergroup | ? { $_.groupType -eq "VirtualMachine" }
返回
Name OwnerNode State
---- --------- -----
TESTBED NODE1 Online
MACHINE01 NODE1 Online
所以我运行以下命令只返回值并删除空格和空行。
Get-Clustergroup | ? { $_.groupType -eq "VirtualMachine" } | foreach { $_Name }
按预期返回机器名称
TESTBED
MACHINE01
我遇到了问题,因为我还要提取该机器的状态(状态)。我试过了。
Get-Clustergroup | ? { $_.groupType -eq "VirtualMachine" } | foreach { $_Name,$_State }
但这不会返回状态,也只是名称。我希望能够找到类似的东西。
TESTBED,Online
MACHINE01,Online
答案 0 :(得分:1)
您可以使用
Get-ClusterGroup |
Where-Object { $_.groupType -eq "VirtualMachine" } |
Select-Object Name, State
查询所需的属性并将它们作为对象返回到命令行,然后显示为:
Name State
---- -----
TESTBED Online
MACHINE01 Online
或者,您可以使用
Get-ClusterGroup |
Where-Object { $_.groupType -eq 'VirtualMachine' } |
ForEach-Object { '{0},{1}' -f $_.Name, $_.State }
要完全按照您的要求返回字符串值:
TESTBED,Online
MACHINE01,Online
答案 1 :(得分:1)
您可以使用格式字符串:
$timeframe = (get-date).AddMinutes(-80)
$log | ? { $_.failures -like '*Denied*' -or $_.failures -like '*error*' -and [datetime]$_.'date-time' -ge $timeframe }
Get-Clustergroup | ? { $_.groupType -eq "VirtualMachine" } | foreach { '{0},{1}' -f $_.Name,$_.State }