0

そのため、z/OS ftp サーバーに接続しています。以下のコードを使用して、Powershell 2.0 を使用してファイルをダウンロードしようとしています。このコードは Windows 7 では機能しますが、Windows Server 2003 または Windows Server 2008 R2 では次のエラーが発生します。

System.Net.WebException: リモート サーバーがエラーを返しました: (501) パラメータまたは引数の構文エラー。

パラメータは変更されておらず、OS の違い以外にファイアウォールやその他の要因が影響しているようには見えません (私が知る限り)。

私が使用しているコードは次のとおりです。

function Get-FTPFile ($Source,$Target,$UserName,$Password) 
 { 
      $ftprequest = [System.Net.FtpWebRequest]::create($Source) 
      $ftprequest.Credentials = New-Object      System.Net.NetworkCredential($username,$password) 
      $ftprequest.Method = [System.Net.WebRequestMethods+Ftp]::DownloadFile 
      $ftprequest.UseBinary = $false 
      $ftprequest.KeepAlive = $false 

      $ftpresponse = $ftprequest.GetResponse() 
      $responsestream = $ftpresponse.GetResponseStream() 

      $targetfile = New-Object IO.FileStream ($Target,[IO.FileMode]::Create) 
      [byte[]]$readbuffer = New-Object byte[] 1024 

      do{ 
          $readlength = $responsestream.Read($readbuffer,0,1024) 
          $targetfile.Write($readbuffer,0,$readlength) 
      } 
      while ($readlength -ne 0) 

      $targetfile.close() 
  }

はい、UseBinary は false でなければなりません。テキスト ファイルをダウンロードしていますが、useBinary が true に設定されているとすべて文字化けします。

誰もこれを見たことがありますか?

4

0 に答える 0