ForEach с несколькими переменными - Powershell - PullRequest
1 голос
/ 13 марта 2019

$ Res - это результат

Invoke-RestMethod

В настоящее время у меня есть следующий код.

$ObjectGUIDS = $Res.ObjectGUID

$AccountID = $Res.ID

$I = 0

ForEach ($ObjectGUID in $ObjectGUIDS) {

    Write-Host $ObjectGUID ($AccountID[$I])


    $I = $I +1
}

Выход

81d651d5-aeab-4a6f-a102-3e420b5bb630 5
b0f0283a-187f-4fab-9b3d-de98491c8283 6
b84c830a-9c01-49d2-adbd-d70d80199de1 7

Я хочу просмотреть результаты, что хорошо, если бы я хотел получить результат только из одной переменной, то есть - ObjectGUID или AccountID. Приведенный выше код не совсем понятен, и я не чувствую его правильную удаленность, хотя, похоже, он работает.

Я пробовал ForEach в ForEach, но он будет возвращать каждый $ ObjectGUID 3 раза для каждого $ AccountID

$ObjectGUIDS = $Res.ObjectGUID

$AccountIDS = $Res.ID

ForEach ($ObjectGUID in $ObjectGUIDS) {
    ForEach ($AccountID in $AccountIDS) {

    Write-Host $ObjectGUID ($AccountID)

    }
}

Выход

81d651d5-aeab-4a6f-a102-3e420b5bb630 5
81d651d5-aeab-4a6f-a102-3e420b5bb630 6
81d651d5-aeab-4a6f-a102-3e420b5bb630 7
b0f0283a-187f-4fab-9b3d-de98491c8283 5
b0f0283a-187f-4fab-9b3d-de98491c8283 6
b0f0283a-187f-4fab-9b3d-de98491c8283 7
b84c830a-9c01-49d2-adbd-d70d80199de1 5
b84c830a-9c01-49d2-adbd-d70d80199de1 6
b84c830a-9c01-49d2-adbd-d70d80199de1 7

1 Ответ

2 голосов
/ 13 марта 2019

Я думаю, что вы могли бы усложнить ситуацию, перенеся два свойства $Res в отдельные переменные.

Я думаю, что это сработает вместо:

ForEach ($Result in $Res) {
    Write-Host $Result.ObjectGUID $Result.ID
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...