ОК. Мне удалось собрать 2 XML-запроса, которые возвращают информацию, которую я хотел бы в конечном итоге поместить в CSV.Мне нужна помощь, чтобы зациклить один над другим, я пробовал разные циклы For Each и т. Д., Но я просто не могу заставить его работать.Я не уверен, есть ли лучший / более эффективный способ сделать запрос, любые предложения приветствуются.
$username = "abc"
$password = "mypassword"
$encoded = [System.Convert]::ToBase64String([System.Text.Encoding]::UTF8.GetBytes($username+":"+$password ))
$headers = @{Authorization = "Basic " + $encoded}
$ConnectionURI = "https://api.myisp.net/xml/stable/ListConnections.php?liveorceased=live&fields=Customer Ref"
$GetConnections = Invoke-RestMethod -Uri $ConnectionURI -Headers $headers
$ConnectionList = $GetConnections.ResponseBlock.Response.OperationResponse.ADSLAccount
$ConDetailsURI = "https://api.myisp.net/xml/stable/AdslAccount.php?ref=" + $Connections
$details = Invoke-RestMethod -Uri $ConDetailsURI -Headers $headers
$details.ResponseBlock.Response.OperationResponse.ADSLAccount |
Select OurRef, Telephone, NAT, IPAddress, FullUsername, Status, CBUK,
Downstream, Upstream
$ConnectionList
возвращает следующее:
CustomerRef
-----------
ADSL123456
ADSL789101
ADSL000001
ADSL007111
ADSL111111
ADSL222222
ADSL333333
ADSL444444
ADSL555555
ADSL666666
ADSL777777
ADSL888888
ADSL999999
Какой яхотел бы запросить подробности от https://api.myisp.net/xml/stable/AdslAccount.php?ref=" + $ConnectionList
.
Пример возвращенного $details
:
OurRef : ADSL123456
Telephone : 0123456789
NAT : Y
IPAddress : 70.1.2.3
FullUsername : 0123456789@vmyisp.net
Status : Installed
CBUK : BBEU21234561
Downstream : 80Mbit/s
Upstream : 20Mbit/s