12

我正在运行以下代码

$client = new-object System.Net.WebClient
$client.DownloadFile( $UriValue, "C:\Temp\BHRout.json" )
$json = Get-Content "C:\Temp\BHRout.json"

这不起作用,因为它需要将我的提示凭据传递到下载字符串函数中。我已经使用上面的代码来替换它:

$NagiosResults = Invoke-WebRequest -Uri $Uri -UseDefaultCredentials | ConvertFrom-Json

唯一的问题是我运行脚本的服务器没有 Powershell v3;所以这也行不通。Invoke-WebRequestPowershell v2有替代品吗?如果没有,有没有办法通过 System.Net.WebClient 对象“使用默认凭据”?

4

1 回答 1

22

只需将UseDefaultCredentialsWebClient 的属性设置为$true,它将使用当前用户的凭据进行身份验证。

$uri = "http://myserver/service"
$wc = New-Object System.Net.WebClient
$wc.UseDefaultCredentials = $true
$json = $wc.DownloadString($uri)
于 2013-09-18T21:54:22.410 回答