Получите ценность плана обслуживания приложений с помощью Powershell

Я пытаюсь получить единственное значение имени для планов службы приложений с помощью Powershell.

Запрос :

Get-AzResource -ResourceGroupName "entaddinqagrouptwm" -ResourceType Microsoft.Web/serverfarms | ft

Результат:

Name                       ResourceGroupName  ResourceType              Location
----                       -----------------  ------------              --------
ntaddinqaapptwmeastusplan1 entaddinqagrouptwm Microsoft.Web/serverFarms eastus
ntaddinqaapptwmeastusplan2 entaddinqagrouptwm Microsoft.Web/serverFarms eastus

Мой код:

$resourceHash = Get-AzResource -ResourceGroupName "entaddinqagrouptwm" -ResourceType Microsoft.Web/serverfarms | ft
Write-Host "Apps : " $resourceHash.GetValue(0)

В результате я получаю:

Apps :  Microsoft.PowerShell.Commands.Internal.Format.FormatStartData

Результат хочу:

ntaddinqaapptwmeastusplan1
ntaddinqaapptwmeastusplan2

Так что я могу использовать для каждого цикла результат и выполнять операции одну за другой для каждого плана приложения.


person rAJ    schedule 23.04.2020    source источник
comment
Не выполняйте команды format-* по конвейеру, такие как ft (также известный как format-table), если вы хотите выполнить дальнейшую обработку, включая получение объекта и его свойств. Это должно быть только для демонстрации. Вы должны назначить $resourceHash без | ft. Если вы хотите отобразить таблицу позже в консоли, просто используйте $resourceHash | ft.   -  person AdminOfThings    schedule 23.04.2020


Ответы (1)


Я считаю, что приведенный ниже код - это то, что вам нужно. Не нужно «форматировать список». Вам просто нужно правильно выбрать свойство в объекте $ resourceHash.

    $resourceHash = Get-AzResource -ResourceGroupName "entaddinqagrouptwm" -ResourceType Microsoft.Web/serverfarms
    Write-Host "Apps : " $resourceHash.Name
person Jared Balfour    schedule 23.04.2020