Добавление переменной в Invoke-RestMethod - PullRequest
0 голосов
/ 11 декабря 2018

Я пытаюсь написать скрипт, который возвращает переменную с веб-сайта "$ _. Id -eq" s215 ".

Хотелось бы добавить к нему переменную и вернуть оба значения

Я попробовал ниже функцию, но я получил ошибку, что переменная $ form не может быть найдена ....

Я нашел это решение на сайте Microsoft -> https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-6 пример 5

Не могли бы вы помочь

Function MyFunctionTemp{
    clear-host
        $Uri = "http://....../index.asp" 
        $Form = @{
        Name  = 'John'
                 }
        $Result = Invoke-RestMethod -Uri $Uri -Method Post -FOrm $Form
        $Result.AllElements | Where {$_.id -eq "s215"} | Select Name, innerText | ConvertTo-HTML -Head $headPath
}
     $html_url = MyFunctionTemp
    Add-Type -AssemblyName System.Web

[System.Web.HttpUtility]::HtmlDecode($html_url) | Out-File  "\\plwawprn01\xpbuild$\IT\Level0\scresult\test.htm" 

Кстати, HTML-фрагмент выглядит следующим образом

enter image description here

Ошибка ниже

enter image description here

1 Ответ

0 голосов
/ 11 декабря 2018

Ваша ошибка не в том, что $Form не может быть найден.Ошибка говорит о том, что Invoke-RestMethod понятия не имеет, что такое параметр -Form.

Убедитесь, что запустили $PSVersionTable и посмотрите на свойство PSVersion на его выходе, а затем выберите правильную версию через выпадающий список в документации.веб-сайт:

Choosing PS version on the documentation

Также, как указано в комментариях (кредиты @ Matt и @ gms0ulman за это) вы можете попробовать использовать Invoke-WebRequest.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...