2010年02月08日(日)00時11分
Windows Live SkyDriveWindows Live Sync を使うために Windows Live ID を取得したわけですが、Windows Live ID があればもれなく 25GB もの Web ストレージである Windows Live SkyDrive が使用できる、ということで、貧乏性な自分としては、せっかく使える以上使わないと何かもったいないような気はするものの、ブラウザ経由でチマチマとアップ(ダウン)ロードする方式では、今のところ特に使いようがないなと。
SkyDrive Explorerしかしながら「SkyDrive Explorer」という便利ソフトがあり、これを使うと Windows Live SkyDrive をエクスプローラ上で仮想フォルダとして扱えるのですが、この「SkyDrive Explorer」が「近々バージョンアップによって劇的な進化を遂げる」というようなことが公式サイトでアナウンスされているため、それを待って試してみようかと思っていました。
SkyDrive Simple Viewer for WebDAVところが窓の杜さんを見ていると、Windows Live SkyDrive の各フォルダの WebDAV 用アドレスを取得できるツールが公開されたという記事がありました。
で、WebDAV とは何か、を調べてみると、これはネットワークドライブや Web フォルダとして利用するためのプロトコルで、つまりこのアドレスがわかれば、何か特殊なソフトをインストールせずとも、Windows 標準の機能で Windows Live SkyDrive を仮想フォルダ的に利用できるということのようです。
「それは便利、早速使ってみよう!」というわけですが、ただこういうのは「ブラウザに表示されてるアドレスや HTML ソースから得られた情報をちょっと組み替えれば手動でもできますよ。ただ面倒なんで誰でも簡単にできるようにツールも作っときました」的な場合も結構あったりしますので、公式サイトからリンクされている「発見の経緯」的なページやソースコードをパラパラと見たところ、どうも Microsoft Office 2010 に「SkyDrive に保存する」というような機能があり、これが WebDAV を用いていることに気付いたため、それを取得することにした、ということのようです。
で、ソースコードの方にも「<ClientAppId>Microsoft Office/14.0 (Windows NT 6.1; Microsoft Word 14.0.4536; Pro)</ClientAppId>」というような記述があり、これはどうも Microsoft Office 2010 が Windows Live SkyDrive に対して行う問い合わせをエミュレートして取得しているのかな?という感じです(違うかもしれませんが)。
どちらにしても、(少なくとも自分にとっては)ブラウザをチョコチョコいじった程度でどうにかできるようなものではなさそうな気がしましたので、ここは素直にツールをダウンロードさせていただくことにしました。
この取得ツールには、前述の GUI で使える「SkyDrive Simple Viewer for WebDAV」と、コマンドラインで使用する「DumpUrls Console Application」があるわけですが、「せっかくだから、俺はこのコマンドライン版を選ぶぜ!」というわけで、「DumpUrls Console Application」をダウンロードしました。
解凍すると中には「DumpUrls.exe」と「SkyDriveSimpleLibrary.dll」の二つのファイルが入っています。
使用法はコマンド プロンプトで「DumpUrls.exe ユーザーID パスワード」とするだけですが、結果をコンソール画面に表示されても使いづらいので、メモ帳で「DumpUrls.exe ユーザーID パスワード > DumpUrls.txt」と書いて、「DumpUrls.exe」のあるフォルダに「DumpUrls.bat」とでも名付けて保存、それを実行すれば同じフォルダに結果を記録した「DumpUrls.txt」ができてます。
(多分)ポータブル「DumpUrls.exe」自体は、ソースコードを見ても、また使用前・後で比較しても、特にファイルを作ったりレジストリに何かを書き込んだりするわけでもないようなので、おそらくポータブルです。
そういう方面に神経質?な方にも(多分)安心な仕様だと思います(GUI版の方は知りませんが)。
「それでは早速使ってみましょう!」ということで、メイン PC は Windows XP ですので、「マイ ネットワーク」の「ネットワーク プレースを追加する」で進めていくと、「Windows XP ユーザー アカウントに .NET Passport を追加」というダイアログが…。
「いや、変なもの追加しないでくださいよ」とキャンセルすると先に進めません。
何とか回避できないものかといろいろやっていたら、なぜだか突然先へ進めるように!
でも後で確認するとキッチリ「.NET Passport」が追加されてました。
それで、この機能はいったい何なんだということなんですが、自分は出てきたダイアログの文面から、「.NET Passport という特殊なユーザー アカウントが新たに一つ PC に追加される」のかと思ったんですが、実際には「現在の(自分自身の)ユーザー アカウントに .NET Passport 情報を紐付けする」というもので、Windows Live サービスの一部(Hotmail やWindows Messenger)では、この紐付けされた「.NET Passport」情報からユーザー ID やパスワードを読み込むそうです。
そしてなぜか Windows Live SkyDrive を Web フォルダとしてマウントする際に必要なユーザー ID やパスワードも、この紐付けされた「.NET Passport」から取得するらしく、これを設定しないと使えないようです。
そしてこの「.NET Passport」の紐付けですが、1つのアカウントにつき1個という扱いのようです(変更はできますが)。
これはつまり、いくつも Windows Live ID を取ってたくさんの Web フォルダをマウントして使い分ける、というようなことは XP の標準機能ではできない、ということになります。
というか試してみてうまくいきませんでした(何か方法があるのかもしれませんが)。
もちろん各フォルダにアクセスするたびに「.NET Passport」を書き換えていけば別できるはずですが、あまり実用的とはいえません。
Windows 7(と、多分 Vista も)では、ネットワークドライブとしてマウントしますが、これはドライブごとに ID とパスワードを設定しますので、複数 ID の同時使用が可能です(試しにやってみました)。
これはこれで、ドライブレターの数で上限はありますが。
とはいえ1ファイル 50MB 制限や転送速度なんかを考えれば、あまり無理して大容量を用意しても仕方がない、というより 25GB でも使い道に困るくらいではないかと思います。
1ファイルあたり 50MB の制限も、「ひょっとしたら Web フォルダとしてマウントした場合には無視されるんじゃなかろうか?」とやってみましたが、コピーこそ開始されるものの、わりに早い段階でエラーがでて中断されるので、やはり回避はされないようです。
というより 40MB 後半ぐらいのサイズになると、何回やっても転送終盤でエラーがでて失敗ました(40MB ぐらいのファイルは一発 OK でした)。
ただ、転送先フォルダにはちゃんとコピーされてて、プロパティでサイズを見てもなにやら成功しているようには見えるんですが。
「レジューム機能付きファイル転送ツール」みたいたものがないと、大容量のファイルをやり取りするのは厳しいんでしょうか。
最後におまけで。
自分のアカウントに紐付けされてる「.NET Passport」を変更したいとか、削除したいとか、そもそも紐付けされているものがあるのかどうかを確認したい、という場合には、「ファイル名を指定して実行」で「control userpasswords2」して「詳細設定 → パスワードの管理」したり、あるいは「コントロール パネル」の「ユーザー アカウント」で自分のアカウントを選択し、左側の「関連した作業」の項目にある「ネットワーク パスワードを管理する」からできます。