0
予期しない結果を示したのREST APIを使用してループを実行します。私は、フィルタリングして、後でスクリプト内のに対して行動する配列にいくつかの結果(デバイス)を追加している
$Devurl = "https://my-site.com/internal/api"
$restResults = Invoke-RestMethod -uri "$Devurl/$device" -UseDefaultCredentials -Method Get -ContentType "application/json"
$resultpages = $restResults.Pages
$incpages = ''
$testarray = @()
Do {
[int]$incpages += 1
$url = ($restResults.nexturl) -replace 'page=1',"page=$incpages"
$getresults = Invoke-RestMethod -uri $url -UseDefaultCredentials -Method Get -ContentType "application/json"
$testarray += $getresults.Models
$resultpages -= 1
} while ($resultpages -gt 0)
私はのような何かを行うことができます。
を$testarray.Count
11434
$restResults.Count
11534
:しかし、私はこれらのカウント(デバイスの合計数)が異なる理由として困惑してる作品
$testarray | where {$_.os -like '*windows*'} | select hostname,os
元の$restResults
には116ページあり、1ページから116ページまでループの増分を確認するためのコードを追加しました。
何が欠けていますか?
ありがとうございましたrufer7は、そのトリックをしました! – J1raya