社内SEの徒然なる日記

FTPのコマンド実行でファイルをアップロード出来ない(Windows2012)

■ FTP

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

FTPで接続自体は出来るけど、データ転送でエラーになる。そしてエラーコードが425ってことは、どっかで通信が止まっているかな?

■ Windowsファイアウォール

Windowsサーバで通信が通らないときに最初に疑うのはWindowsファイアウォールです。っていうか、間違いなくこいつが原因。

最初は、FTPで使うポート(20、21)辺りを開放すれば良いのかと思ったのですが、その設定を追加しても結果が変わらないので、FTPのプログラム自体を許可することにしました。

「コントロール パネル」 - 「システムとセキュリティ」 - 「Windows ファイアウォール」を表示します。

Windows ファイアウォールを介したアプリまたは機能を許可」をクリック。
FTPが動かない - 2

「別のアプリの許可」をクリック。
FTPが動かない - 3

「参照」をクリック。
FTPが動かない - 4

「C:¥Windows¥System32¥ftp.exe」を選択して「開く」をクリック。
FTPが動かない - 5

「追加」をクリック。
FTPが動かない - 6

「OK」をクリック。
FTPが動かない - 7

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

■ 後書き

万全を期すなら、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 --- スポンサードリンク

PageTop

コメント


管理者にだけ表示を許可する