1

"start-bitstransfer"コマンドレットを使用していくつかのファイルのダウンロードを自動化しようとしていますが、プロキシを使用する必要があります。デフォルトのセッション資格情報を使用する方法powershellのbitstransfer proxy

Wen "get-credentials"を使用しても問題はありませんが、ファイルをダウンロードするのに問題はありませんが、現在のユーザーセッションの入力を避けるためです。 $ mycred = GET-資格起動し-BitsTransferは wsusscn2.cab

\。-proxylist @( "myproxy.com:8080")$ mycred -Proxyauthentication NTLM http://go.microsoft.com/fwlink/?LinkId=76054 -proxycredentialを上書き-proxyusageしかし、私はしようとしているとき開始-BitsTransferを : $ mycred = [System.Net.CredentialCache] :: defaultCredentials

私は取得していますし、このような「ユーザー名」に関連するエラーがそれを促す避けるためにdefaultcredentialsを使用することができないプロセスの引数の変換パラメータ 'ProxyCredential'に設定します。 userName

どのようにデフォルトのユーザーセッション資格情報を使用できますか?プロキシに資格情報を渡すことがわかっている他のサンプルを試してみましたが、うまくいきませんでした。 提案がありますか?

よろしく

答えて

0

Start-BitsTransferがあるため、非同期ファイル転送を処理する基礎となる.NETメソッドの既定の資格情報を使用することができないことが表示されます。

Start-BitsTransferが厳しい要件でない場合は、WebClientをお勧めします。

$global:webClientオブジェクトを作成する関数。

function Set-WebClient { 
    if(!($global:webClient)){ 
     try { $global:webClient = New-Object System.Net.WebClient  } 
     catch { $M="WebC: Unable to setup WebClient" ; write-output $M } 
     if($global:webClient){ 
     try { $global:webClient.Proxy = [System.Net.WebRequest]::DefaultWebProxy } 
     catch { $M="WebC: Unable to set WebClient Proxy" ; write-output $M  } 
     if($global:webClient.Proxy){ 
      try { $global:webClient.Proxy.Credentials = [System.Net.CredentialCache]::DefaultNetworkCredentials } 
      catch { $M="WebC: Unable to set WebClient Proxy Credentials for Authorization " ; write-output$M  } 
     } 
     } 
    } 
} ## end function Set-WebClient 

ここで関数を呼び出して、.Netオブジェクトにファイルをダウンロードさせます。

Set-WebClient 

$url = "http://go.microsoft.com/fwlink/?LinkId=76054" 
$output = "$((Get-Location).Path)\wsusscn2-$($DT).cab" 

$webClient.DownloadFile($url,$output) ## downloads the file 
関連する問題