在启用了Internet Explorer Enhanced Security Configuration的Windows服务器上,像这样调用Invoke-WebRequest:
Invoke-WebRequest "http://localhost" -UseBasicParsing -UseDefaultCredentials
此错误对话框中的结果:
考虑到此脚本旨在远程运行,我希望避免出现对话框。
答案 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的上述答案发布以来,也许系统发生了变化。我发现它对我没用。
工作是什么: -
答案 3 :(得分:0)
只返回调用返回的对象的单个属性,即:
(invoke-webrequest -Uri https://www.google.com).RawContent
(invoke-webrequest -Uri https://www.google.com).StatusDescription
我真的不知道 invoke-webrequest 的默认调用在做什么,但它必须做的不仅仅是获取原始 HTTP 响应。