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 に答える