最近はクラウドサービスなども多くなり、必要最小限のTCPポートしか開いていないWindows Server同士でファイルのやり取りをする必要が発生することが増えました。単純にエクスプローラーで「\\ServerName」などと入力すればアクセスできる同一LAN内とは違って色々と工夫が必要です。
リモートデスクトップ接続でドライブをマウントする
個人的に一番お手軽だと思うのはリモートデスクトップ接続時にローカルディスクを接続する方法です。
たったこれだけで、マイコンピューターから簡単にコピー出来ます。必要なポートもRDPのポートのみなのでお手軽ですね。
ただし、この方法だとリモートデスクトップ接続をしている時にしかアクセスできませんし、手動でコピーするのはいいとしても自動化するのは厳しいです。
WebDavを使う方法
何かいい方法はないかなぁと考えたのですがあまりいい物が思い浮かびませんでした。ftpでもsshでも自動化可能ですが、少々構成が手間です。そこで比較的構成しやすい方法としてWebDavなんてどうでしょうか?
サーバー側でIISを動作させないといけないのですが、OSの標準機能で完結するので比較的構成しやすいのではとおもいます。WebDavサーバーとして構成する手順としては以下が簡単にまとまっています。
- [Deploy a File Server in the Cloud ( WebDav on Windows Azure ) - My Thoughts On IT…](http://mythoughtsonit.com/2013/05/deploy-a-file-server-in-the-cloud-webdav-on-windows-azure/)
例としてサイトのルートからWebDavを有効にしています。私の環境ではサブディレクトリからWebDavを有効にしてもそれだけではアクセス出来ず、やはりルートからWebDavを有効にしてあげる必要がありました。それにもならず、サブディレクトリで有効化した後、ルートでも有効化すると、サブディレクトリの設定がエラーで正常に開けなくもなってしまったので、現状サブディレクトリからの有効化はやってはいけない操作であるようにも見えます。
さて、これでサーバー側はOKです。クライアントからはnet useでドライブマップすることができます。昔はエクスプローラーのアドレスの部分にhttp://~とアドレスを入力すればアクセスできたOSもあったのですが、どうやらWindows8, Windows Server 2012ではnet useあるいはドライブマップをGUIから行うことでのみアクセスできるようです。
ここで規定の状態ではWindows 8からはアクセスできるのにWindows Server 2012からはアクセスできなくて困りました。結局調べたところ、WebDavクライアントとして動作するためには「WebClient」というサービスが動作している必要がある、ということがわかりました。このサービスがWindows 8は規定の状態で動作しているが、Windows Server 2012では動作していないので動かなかった、というわけです。
WebClientサービスのWindows Server 2012への導入方法
Windows Server 2012にWebClientサービスを導入するには「デスクトップエクスペリエンス」機能を導入してあげる必要があります。
機能を追加して再起動するとWebClientサービスが導入されます。
これでドライブマップを正常に行えるようになります。具体的には以下のようにコマンドを入力すれば良いです。
net use x: http://hogehoge/hoge password /USER:domain\username これでWebDav経由でファイルコピーを行う処理を全自動化できますね。