Задать вопрос
slavapride
@slavapride
DevOops engineer

Как добавить свой обьекта в массив PowerShell?

Добрый день. Я только начинаю в powershell и есть такая задача.

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

Я понимаю, что чтобы создать объект, нужно написать-то-то такое:
#создаем параметры, которые принимает объек
$testProps = @{
    Name = (Get-AzureRmSubscription)[0].Name
    State = (Get-AzureRmSubscription)[0].State
    Id = (Get-AzureRmSubscription)[0].Id
}

$testObj = New-Object -TypeName PSObject -Property $testProps #создаем объект с нужными параметрами


Как мне создать объект в котором будет много значений Name, State и Id, грубо говоря таблицу?
Что мне нужно добавить в скрипт ниже, чтобы собирать эту информацию.

$allSubscriptions  = Get-AzureRmSubscription
    for ($i = 0; $i -lt $allSubscriptions.Length; $i++) {
        Select-AzureRmSubscription -SubscriptionName $allSubscriptions[$i].Name
        Write-Output "--->>> Subscr - " $allSubscriptions[$i].Name
        $allResourseGroup = Get-AzureRmResourceGroup
        for ($y = 0; $y -lt $allResourseGroup.Length; $y++) {
            Write-Output "-->> RG - " $allResourseGroup[$y].ResourceGroupName
            $arrRecServVault = Get-AzureRmRecoveryServicesVault -ResourceGroupName $allResourseGroup[$y].ResourceGroupName
            Out-File  -FilePath D:\555\test.txt -InputObject $arrRecServVault
        }
    }
  • Вопрос задан
  • 252 просмотра
Подписаться 1 Средний Комментировать
Решения вопроса 1
ApeCoder
@ApeCoder
Вот неплохая статья на эту тему

Надо просто создать объект и никуда не девать , он автоматически попадет в пайплайн

Дальше его можно выводить в грид

1..10 | %{ [PSCustomObject]@{ Name="Name_$_"; Value = $_} } | ogv


Или сохранить в массив

$a = 1..10 | %{ [PSCustomObject]@{ Name="Name_$_"; Value = $_} } 

$a
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы