チョコ煮

読者です 読者をやめる 読者になる 読者になる

チョコ煮

いろんな素材をチョコで煮ます

OneDrive for Businessの仕様がよく分からないのでまとめてみた

OneDriveには同期クライアントが3種類ある

すでにここからややこしいのですが、OneDriveのサービスには個人向けのOneDriveと法人向けのOneDrive for Businessがあります。

 

クライアントについては名前だとややこしいので実行ファイル名で区別して書きます。

2つのサービスについて、以前は個人向けクライアントはSkyDrive.exe、法人向けクライアントはGroove.exeでした。

しかし現在は個人向け・法人向けのどちらに対しても使える「新しい OneDrive の同期クライアント」がリリースされています。これの実行ファイル名はOneDrive.exeです。

 

Windows10 ProではOneDrive.exeがプリインストールされており、契約があって使おうと思えばOneDrive for BusinessとOneDriveの両方を同時に使うことができます。

 

しかし、Office365 ProPlusをインストールしてみると、Windows 7 Professionalの環境でもWindows 10 ProでもOneDrive.exeと一緒にGroove.exe(以前の法人向け同期クライアント)もなぜか(なぜか、というかxmlファイルで除外してないだけですが)インストールされます。

 

会社のポリシーとして、社用PCの中身を個人用ストレージにアップロードできてしまうのは問題なので、できれば法人向け機能のみのGroove.exeを使用したいところです。

しかし、Web上でOneDrive for Businessの同期をかけると、次のようなメッセージが出てGroove.exeが使えなくなります。

f:id:bitter_sweet_chocolate:20170520053218p:plain

これが出てしまうとGroove.exeからOneDrive.exeに乗り換えなければなりません。

なんでやねん……。

 

Office365のOneDrive for Businessの同期形式

一般に、ファイルをクラウドとローカルの両方に置いた場合で同期してるとどうなるか、という問題ですが、次のようなパターンがあり得ます。

  1. ローカルとクラウドの中身はいつも一緒(ローカルで削除するとクラウドからも消える。逆にクラウドから削除するとローカルからも消える)
  2. ローカルからクラウドへ一方向にコピーされる(ローカルで削除してもクラウドからは消えない。当然逆もしかり)

OneDrive.exeのデフォルトの動作は1.ですが、設定によっては2.の形式で運用することができるようです。手順は下記リンクの「応用編」に書いてあります。

 

万が一に備え OneDrive へ PC のデータをバックアップ - Office 365 サービス - 楽しもう Office

 

ただ、この手順で同期を外したフォルダーはクラウドに残ってもローカルからは削除されるので、設定するときはちょっとドキドキしますね。

もっとも、設定で同期のチェックを戻してやればクラウドからローカルに復元されますけどね(たぶん。消えても私は責任取りません)。

 

また、利用場面として、PCが壊れてクラウド上にだけファイルが存在する状況で、まっさらな新PCと同期をとった場合、まっさらなPCに引きずられてクラウドの内容が「同期」されて消えてしまうのではないか、という懸念があったのですが、これも大丈夫なようです。さすがにそこまでアホな仕様ではないようですね。

Office365上のOneDrive for Businessの制限

Webで調べれば調べるほど、古い情報と新しめの情報がごっちゃになっていて訳が分からないので、実験環境をこさえて調べてみました。

まず、ファイル名についてこちらのリンク先によれば、

Office 365、SharePoint Online、SharePoint Server 2016 上の OneDrive for Business の無効なファイル名またはフォルダー名の文字

" * : < > ? / \ | 

 とあり、

SharePoint Server 2013 上の OneDrive for Business の無効なファイル名またはフォルダー名の文字

~ " # % & * : < > ? / \ { | }. 

 とあったのですが、上記のほとんどはWindows上でもファイル名に使えない文字なのでそれはスルーします。

上の方には書いてないのですが、Office365でも #、%、&は無効なファイル名の文字として引っかかるようです

 

さらに拡張子について片っ端からテストファイルを同期フォルダーに突っ込んでみました。調査対象は下記リンクに挙がっているものです。

support.office.com

結果としては、Office365ではダメな拡張子はありませんでした。ただし、テキストファイルに適当に文字を詰め、拡張子だけ変えて実験したため、中身を見て判断しているとするとこの結果は信頼できないものとなります。

また、URLパスの文字数制限はあるようです

 

こちらについても調べてみました。

https://support.microsoft.com/ja-jp/help/2933738/restrictions-and-limitations-when-you-sync-sharepoint-libraries-to-your-computer-through-onedrive-for-business

この中でフォルダー名として ”forms”、"_vti_" はOneDrive for Business上で作成することができませんでした。こっちは古い情報だったので、それ以外は検証してません。あしからず。

アップロードできないファイルがあった場合、どうなるか

例えば "#" を名前に含むファイルがエラーで引っかかった場合、ひょっとしてその後のアップロードが止まるのではないか、という懸念がありましたが、さすがにそこはスキップして他のファイルを全部アップロードしてくれました。

 

また、アップロードする順番についても一応検証してみましたが、ファイル名はおそらくアルファベット順でアップロードされるようです(フォルダーについてはそういえば検証してなかった……)。

OneDrive.exeをアンインストール・再インストールする方法

そんなことする必要があるかと言えば検証用くらいしかないかもしれませんが、一応ご紹介しておきます。

下記リンク先に詳細手順が書いてあります。

usedoor.jp

あとがき

だいたいこんなところでしょうか。何かあったら加筆するかもしれません。お約束の免責事項ですが、上記操作を行って損害が出た場合、私は責任を取りませんので、参考程度にとどめておいてください。