WinSCPでログインしているMicrosoftアカウント以外のアカウントのOneDriveに接続してみた
WinSCPでログインしているMicrosoftアカウント以外のアカウントのOneDriveに接続しようと思ったらはまったのでここに書いておく。
まずは基本的なWinSCPからOneDriveへのアクセス方法
WinSCPでは以下の設定を行うことでOneDriveにアクセスすることができる。
- 転送プロトコル:WebDAV
- 暗号化:暗黙の TLS/SSL暗号化
- ホスト名:d.docs.live.net
- ユーザー名:MicrosoftアカウントID
- パスワード:Microsoftアカウントのパスワード
後は「設定」の「ディレクトリ」に/の後ろにブラウザでOnedriveにアクセスしたときのURLのCID=の後ろの文字列を足した物を書いてやる。
CID=HOGEHOGEとあった場合は/HOGEHOGE
となる。
後は、設定を保存して接続してやればWinSCPからOneDriveにアクセスできる。
どうせ、アクセス設定などはブラウザからしかできないのでWinSCPからOneDriveにアクセスすることで、OneDriveアプリを使わなくて済むのでメモリにも優しいし、設定によってはドキュメントフォルダを移されて一部アプリで訳わからない状態になることを防ぐことができる。素晴らしい。
どうせなら複数のOneDriveをWinSCPで管理したい
結論から言うと、コントロールパネルの資格情報マネージャーの汎用資格情報に次の情報を追加することで自分がログインしているMicrosoftアカウント以外のアカウントのOneDriveにアクセスすることができた。
汎用資格情報をクリックして、次の設定を入力する。
- インターネットまたはネットワークのアドレス:https://d.docs.live.net
- ユーザー名:マイクロソフトアカウントID
- パスワード:マイクロソフトアカウントのパスワード
あとはWinSCPの設定を行うことで自分がログインしているMicrosoftアカウント以外のアカウントのOneDriveにアクセスすることができるようになる。複数のOneDriveを一度に扱う。実に便利だ。
なんでこんなことするのか
自分は歴史的経緯で複数のMicrosoftアカウントを持っていてOneDriveも複数使えるのだが、これらを使い分けていくのは実に面倒だった。
いちいちブラウザ落としてログインし直し?別ブラウザでアクセス?別のMicrosoftアカウントユーザーでログインしてそっちで扱う?どれも面倒くさい!
結局Windowsが持ってる資格情報だった
WinSCPでOneDriveアクセスできるようになったのでもう一つ登録してとやろうと思ったがうまくいかない。
なんか資格情報かなんかの問題でもあるのかとコントロールパネルの資格情報マネージャーを見てみるとうまくいったログイン中のMicrosoftアカウントのものなのか OneDrive Cached Credentialという物があった。
もしかするとこれにOneDrive WebDAVインタフェースサイトの資格情報でも入れてやればWinSCPがなんとかするだろうとと思ってやってみたらうまくいったというわけである。
これでOneDriveを素直に複数管理できて快適になりそうだ。