Powershell Invoke-WebRequest ForEach l oop возвращает одно значение - PullRequest
0 голосов
/ 12 марта 2020

В продолжение моего предыдущего поста, сейчас я пытаюсь запустить Invoke-WebRequest в ForEach цикле. Сценарий, кажется, работает нормально, но возвращает только один вывод. Есть принтеры IP-адреса

Вот полный скрипт:

$printers = get-content "c:\TMP\printers.txt"

ForEach ($IP In $printers)

{

$R=Invoke-WebRequest $IP -SessionVariable session1

#B553 - name in Html
$R.Forms[0].Fields["B553"]="user"
$R.Forms[0].Fields["password"]="pass"

$Invoke1=Invoke-WebRequest -Uri ($IP + $R.Forms[0].Action) -WebSession $session1 -Method POST -Body $R.Forms[0].Fields

Start-Sleep -s 5

$Invoke2=Invoke-WebRequest $IP -WebSession $session1

$amount=@($Invoke2.AllElements | where tagname -EQ "dd" | Select -ExpandProperty innerText)[23]

#$amount
#Remove-Variable $amount


$amount| out-file -filepath C:\TMP\dump_txt.txt -append -width 200     
#$amount| export-csv -Path  C:\TMP\dump_csv.csv

}

Может быть мне нужно завершить -WebSession в конце скрипта? Также пытался с Remove-Variable $amount, но он хранит значения массива, сообщая мне, что Не удается найти переменную с именем

...