【问题标题】:Invoke-WebRequest with PScredentials使用 PScredentials 调用 WebRequest
【发布时间】:2014-05-01 18:20:34
【问题描述】:

我正在尝试从外部 HTTPS 站点检索文件。我下面的代码在 POSH 3.0 中很有效,但在 POSH 4.0 中却没有那么多。我收到的消息如下。任何人都遇到同样的问题,知道如何解决这个问题或解决方法吗?

调用-WebRequest :
需要身份验证。
您必须通过身份验证才能访问此 URL。
网址:https://www.mywebsite.com
用户名:
在 line:4 char:1
+ 调用 WebRequest -Uri https://www.mywebsite.com/report.pdf ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-WebRequest], WebException
+ FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeWebRequestCommand

$pw = ConvertTo-Securestring -AsPlainText -Force -String "myPWD"
$cred = New-Object -TypeName System.Management.Automation.PSCredential -ArgumentList ("myUser",$pw)

Invoke-WebRequest -Uri https://www.mywebsite.com/report.pdf -Credential $cred -OutFile C:\report.pdf 

【问题讨论】:

  • 是的,凭据是正确的。我可以从我的浏览器访问该网站。 :)
  • 如果你使用 -Debug 运行,你会得到任何额外的线索吗?
  • 不幸的是完全相同的结果。
  • 这篇文章表明 V3 或 V4 中的行为应该相同。有没有人得到类似的结果? stackoverflow.com/questions/21554993/…
  • 下载 Fiddler 并检查使用 v3 和 v4 之间的 RAW 请求,看看是否能发现任何差异。

标签: powershell


【解决方案1】:

因此,我发现即使我可以使用浏览器访问该网站并检索我的内容,McAfee Web Gateway 也会阻止 Powershell 执行相同的操作。一旦我们将 URL 列入白名单,BOOM 就没有问题了。感谢大家在帮助我解决此问题时提供的其他想法!

【讨论】:

    猜你喜欢
    • 2017-01-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多