Invoke-WebRequest导致IE内容被阻止对话框

时间:2014-09-16 07:27:50

标签: internet-explorer powershell

在启用了Internet Explorer Enhanced Security Configuration的Windows服务器上,像这样调用Invoke-WebRequest:

Invoke-WebRequest "http://localhost" -UseBasicParsing -UseDefaultCredentials

此错误对话框中的结果:

Internet Explorer dialog - Content within this application coming from the website listed below is being blocked by Internet Explorer Enhanced Security Configuration

考虑到此脚本旨在远程运行,我希望避免出现对话框。

4 个答案:

答案 0 :(得分:8)

似乎 Invoke-WebRequest 需要IE,除非您指定-UseBasicParsing参数。 见:https://msdn.microsoft.com/powershell/reference/5.1/microsoft.powershell.utility/Invoke-WebRequest

  

-UseBasicParsing 表示cmdlet使用HTML内容的响应对象   没有文档对象模型(DOM)解析。

     

未安装Internet Explorer时需要此参数   计算机,例如Windows的Server Core安装   服务器操作系统。

答案 1 :(得分:4)

点击添加,然后将about:security_powershell.exe添加到Trusted Sites

答案 2 :(得分:1)

自从Raf的上述答案发布以来,也许系统发生了变化。我发现它对我没用。

工作是什么: -

  1. 打开Internet Explorer
  2. 转到工具 - >网络选项
  3. 选择安全选项卡
  4. 单击“本地Intranet”
  5. 点击网站
  6. 输入* .security_powershell.exe
  7. 点击添加

答案 3 :(得分:0)

只返回调用返回的对象的单个属性,即:

(invoke-webrequest -Uri https://www.google.com).RawContent

(invoke-webrequest -Uri https://www.google.com).StatusDescription

我真的不知道 invoke-webrequest 的默认调用在做什么,但它必须做的不仅仅是获取原始 HTTP 响应。