
■ FTP
PowerShellからFTPでサーバーに接続して、ファイルをアップロードしようとするとエラーになりました。

FTPで接続自体は出来るけど、データ転送でエラーになる。そしてエラーコードが425ってことは、どっかで通信が止まっているかな?
■ Windowsファイアウォール
Windowsサーバで通信が通らないときに最初に疑うのはWindowsファイアウォールです。っていうか、間違いなくこいつが原因。
最初は、FTPで使うポート(20、21)辺りを開放すれば良いのかと思ったのですが、その設定を追加しても結果が変わらないので、FTPのプログラム自体を許可することにしました。
「コントロール パネル」 - 「システムとセキュリティ」 - 「Windows ファイアウォール」を表示します。
「Windows ファイアウォールを介したアプリまたは機能を許可」をクリック。

「別のアプリの許可」をクリック。

「参照」をクリック。

「C:¥Windows¥System32¥ftp.exe」を選択して「開く」をクリック。

「追加」をクリック。

「OK」をクリック。

この設定後、FTPを実行するとアップロードが出来るようになりました。

■ 後書き
万全を期すなら、32bitアプリで使用するFTP.exeの方も許可した方が良いかと思います。場所は「C:¥Windows¥SysWOW64¥ftp.exe」です。
なお、全力でスルーしたのですが見ての通り文字化けが酷いです。文字コードが違うのかとも思ったのですが、どちらもshift-jisのようだし、対応方法が分かりませんでした。
本当は、折角のPowerShellなんだし「Invoke-WebRequest」辺りに書き換えた方がスッキリする気もするんですけどね。
最新の記事:http://harikofu.blog.fc2.com/
投稿記事の一覧:http://harikofu.web.fc2.com/
--- blog end ---
スポンサードリンク


