我正在运行以下代码
$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对象使用默认凭证?
解决方法
只需将WebClient的
UseDefaultCredentials
属性设置为$true,并将使用当前用户的凭据进行身份验证.
$uri = "http://myserver/service" $wc = New-Object System.Net.WebClient $wc.UseDefaultCredentials = $true $json = $wc.DownloadString($uri)