在Powershell中拆分后如何选择每个第3个实例

问题描述

我将数据存储在azure命令$ bandwidth = Get-AzConsumptionUsageDetail中的变量中。

现在,当我致电$bandwidth.InstanceID时,我有888个对象,例如:

/subscriptions/0858ffa5-d2dd-420f-a958-85f6911c121fe/resourceGroups/AZR-AEX-SCCUSTMETRICSPROD-Development/providers/Microsoft.Storage/storageAccounts/ wmstoragemBoxlandingdev /subscriptions/0858ffa5-d2dd-420f-a958-85f6911c121fe/resourceGroups/AZR-AEX-SCCUSTMETRICSPROD-Development/providers/Microsoft.Storage/storageAccounts/ wmstoragemBoxlandingdev

我试图从尝试以下方法的每一行中提取资源组名称

bandwidth.InstanceID -split ('/')

现在,我如何在一行代码中仅为每个对象选择资源组名称

任何帮助将不胜感激。

解决方法

您可以尝试以下方法:

$bandwidth.InstanceID | %{$_.split('/')[4]}

说明:

  • $ bandwidth.InstanceID -这是您的InstanceID输出数组。
  • -Foreach运算符
  • $ _ -从上一个管道传递的迭代元素-这里$ bandwidth.InstanceID
  • split('/')-此方法返回所有拆分字符串的数组
  • [4] -这是资源组名称所在的拆分字符串的数组索引。