我正在运行以下代码
$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;所以这也行不通。对于Powershell v2,还有Invoke-WebRequest
的替代方案吗?如果没有,有没有办法在System.Net.WebClient对象中使用“默认凭证”?
答案 0 :(得分:19)
只需将WebClient的UseDefaultCredentials
属性设置为$true
,即可使用当前用户的凭据进行身份验证。
$uri = "http://myserver/service"
$wc = New-Object System.Net.WebClient
$wc.UseDefaultCredentials = $true
$json = $wc.DownloadString($uri)