【发布时间】:2018-10-25 13:44:12
【问题描述】:
我创建了一个脚本,用于返回每个 AzureVM 的 Azure 保管库复制状态
$items = Get-AzureRmRecoveryServicesAsrReplicationProtectedItem -ProtectionContainer $Containers
foreach ($item in $items)
{
$a=$item.ReplicationHealth,$item.RecoveryAzureVMName
write-host $a
}
得到想要的输出:
Normal VM1
Normal VM2
Critical VM3
Normal VM4
Critical VM5
我需要将上面的输出传递给 zabbix。不幸的是,zabbix 在单个循环中只能接受一行,所以我需要以某种方式修改 for 循环,以在输出中返回第一行,然后在第二次运行时返回第二行等等开
为了得到第一行 (Normal VM1) 我试过了
foreach ($item in $items)
{
write-host $item.ReplicationHealth,$item.RecoveryAzureVMName | select -First 1
}
但是我在输出中得到了所有五行,是否可以将输出放入数组,然后从中返回特定的行?
【问题讨论】:
-
监控每个 VM 并使用单个项目按名称/ID 检查它们比获取所有输出并解析它更有意义(恕我直言,这更复杂且浪费时间)跨度>
-
刚刚发布了新答案(将结果导出到文件并一次性推送)
标签: powershell foreach