Как передать учетные данные по умолчанию объекту веб-клиента PowerShell? Альтернатива Invoke-WebRequest для PS v2?

я запускаю следующий код

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

Это не работает, потому что ему нужны мои учетные данные приглашений, переданные в функцию строки загрузки. Я использовал приведенный выше код для замены этого:

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

единственная проблема заключается в том, что сервер, на котором я запускаю скрипт, не имеет Powershell v3; так что это тоже не сработает. Есть ли альтернатива Invoke-WebRequest для Powershell v2? Если нет, есть ли способ, чтобы использовать учетные данные по умолчанию с Система.Сеть.Объект WebClient?

1 ответов


просто установить UseDefaultCredentials свойство WebClient к $true и это будет использовать учетные данные текущего пользователя для аутентификации.

$uri = "http://myserver/service"
$wc = New-Object System.Net.WebClient
$wc.UseDefaultCredentials = $true
$json = $wc.DownloadString($uri)