向Invoke-RestMethod

时间:2018-12-11 11:10:47

标签: powershell

我正在尝试编写一个脚本,该脚本从网站“ $ _。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 :(得分:1)

您的错误不是不是找不到$Form。该错误表明Invoke-RestMethod不知道参数-Form是什么。

确保运行$PSVersionTable并在其输出上查看PSVersion属性,然后通过文档网站上的下拉列表选择正确的版本:

Choosing PS version on the documentation

此外,正如评论中提到的(请注意@Matt@gms0ulman的信用),您可能想尝试使用Invoke-WebRequest