清水理史の「イニシャルB」

NASのデータを「Microsoft Teams」(SharePoint)に移行してみた

小規模企業でユーザー設定や共有ファイルをNASからクラウドへ

 導入から5~6年が経過し、古くなってきたNASをどうするか? HDDの交換で寿命を延ばしたり、より高性能な機種に買い換えるのも手だが、最近増えてきているのが、クラウドへの移行だ。

 特にテレワークが一般化してからは、筆者もこの手の相談を受ける機会が増えてきた。その一例として、NASから「Microsoft Teams」(移行先の実態はSharePoint)への移行を試してみた。

移行先としてMicrosoft Teamsを想定してみた

 NASのクラウド移行というと、さまざまな移行先のクラウドサービスが想定できるが、今回はそのターゲットとしてMicrosoft Teamsを選んでみた。

 テレワークの一般化で、筆者のまわりにもTeamsをチャットやビデオ会議に利用するケースが増えてきた。その延長線上として、ファイル共有のクラウド移行(特に古くなったNASのクラウド移行)を相談される例も、ちらほらと出てきたからだ。

Teamsの利用者が増え、その延長としてファイル共有のクラウド移行を検討するケースも増えてきた

 “NAS→Teams”と聞くと、飛躍し過ぎている印象を持つ人もいるかもしれない。ただ、そもそもTeamsのファイル共有機能の実態はSharePointなので、実質的には「NAS→(SharePoint)→Teams」となる上、広く知られているNAS→SharePointの移行ノウハウをそのまま活用できるメリットもある。

 しかも、「NASの共有フォルダーの移行先がSharePointの『サイト』に相当する」ということを説明するだけでも、相手によっては相当苦労する一方、Teamsをすでに使っている人には、「[ファイル]タブに共有フォルダーを移行する」と説明するだけで済むこともあるとの側面もある。

Microsoft Teamsの[ファイル]タブの実態はSharePoint

 Teamsは、非常に多機能なツールで、タブの追加で、タスク管理やシフト管理などもできる上、本稿執筆中に新たなアプリとしてSharePointのリストをタブとして追加可能な「Microsoft Lists」が追加されるなど、もはや「Microsoft 365クライアント」としての性格を強めつつある。

 このため、チャットやビデオ会議を利用するだけでなく、これまでNASで共有していた部門ごとの共有フォルダーのデータを[ファイル]タブから参照できるようにすれば、業務フロントエンドをTeamsに統合できるし、テレワークなどの環境でも従来のNASのデータを活用できるようになる。このメリットは大きいと言えるだろう。

NAS→SharePointの移行を実現すれば、Teams上でNASのファイルを利用できる

NASグループ=NAS共有フォルダー=「チーム」で設計

 実際の移行方法は、NASの利用方法や組織の規模などによって異なるが、今回は、数人~十数人の小規模な例を想定してみた。

 具体的には、NASのローカルユーザー管理機能を使ってユーザーと部署ごとのグループを管理しており、共有フォルダーもシンプルに「営業部」や「経理部」などの部門単位で存在するケースだ。

 最近では、組織横断的なプロジェクトも一般的なため、グループや共有フォルダーが必ずしも組織と一致しないケースもあるが、むしろこうしたケースはTeamsが得意な形態であり、移行後にユーザーもしくはプロジェクトリーダーが個別にチームを作成すれば済む話だろう。

 このため、とりあえず移行の初期段階としては「組織=NASグループ=NAS共有フォルダー」という、比較的シンプルなケースを想定しておく。

NASに組織のグループごとの共有フォルダーがあるシンプルなケースを想定

 また、NASにはユーザーごとのホームフォルダーが存在し、そこにユーザーが自分だけのファイルを保存していることも念頭にして移行を実施してみよう。

ユーザーごとのホームフォルダーも存在する

 このような状況をNASのデータやユーザーをTeamsへ移行する場合、以下のような設計例が考えられる。

  • NASのユーザー→Microsoft 365のユーザー
  • NASのグループ→Microsoft 365のグループ
    (グループの種類:Microsoft 365)
  • NASの共有フォルダー→Teamsのチーム
    (=SharePointのサイト)
  • NAS共有フォルダー内の業務別サブフォルダー→Teamsのチャネル
NASのグループと共有フォルダーはチームへ、共有フォルダー内のサブフォルダーはチャネルに移行する

 最後の部分を補足しておくと、この例では、NASの「営業部」フォルダーに「在庫管理」というフォルダーがあった場合、これをTeamsの「営業部」チームの「在庫管理」チャネルとして管理する、というイメージとなる。

 こうすることで、サブフォルダーで管理していた業務別の処理に対し、Teams上のチャネルでファイルを管理できるだけでなく、チャットなどで担当メンバー同士で相談しやすくなる。

 とは言え、このあたりは実際の業務形態に合わせて設計すべきなので、あくまでも一例と考えて欲しい。

NASユーザーとグループをMicrosoftアカウントへ移行

 Microsoft 365では、ほとんどの設定をPowerShellを使って実行できる。このため、CSV形式のユーザーリストやグループリストを用意できるのであれば、PowerShellを使って移行するのが簡単だ。なおユーザーは管理センターからインポートすることもできる。

 ただし、NAS側で既存のユーザーやグループをエクスポートできるかというと、必ずしもそうではない。エクスポートできたとしてもバックアップ用の独自形式だったりして、そのままではMicrosoft 365へインポートできない場合もある。

NASに登録済みのユーザーやグループは独自形式で保存されることがあり、CSVとして用意するのが難しい場合がある

 このため、環境によってはこの部分に結構な手間が掛かる(大規模な環境なActive Directoryを使っている可能性が高くむしろ話は早い)が、今回は小規模なケースを想定しているので、全てMicrosoft 365の管理センターから手動で移行することにする。

 まずは、NASのユーザーをMicrosoft 365のユーザーとして登録してライセンスを割り当て、「営業部」や「経理部」などの組織ごとのグループを作成し、ユーザーをメンバーとして割り当てておく。

 グループにはパブリックとプライベートの2種類があるが、ここではチーム=共有フォルダーと組織ごとに情報を分けて管理することにしたいのでプライベートを選択し、管理者が追加したメンバーのみがグループに参加できるようにしておく。

 また、グループの所有者として、部門ごとの管理者を指定しておこう。最終的にこの所有者がTeamsのチームを管理(メンバー追加の承認など簡単な作業)する役割を担うので、あらかじめ各部門ごとにIT担当を決め、管理者としての業務も同時に依頼しておく必要がある。

 加えて前述したように、今回は最終的にTeamsに移行するので、グループ作成時の画面では、「グループへのMicrosoft Teamsの追加」の項目で「このグループのチームを作成する」をオンのまま作成することを忘れないようにしたい。

 ちなみに、グル-プに関してはMicrosoft 365管理センターから登録しているが、今回の目的であれば、Teamsから直接チームを作成しても構わない。この場合、自動的に作成されるSharePointのURLが「sites/msteams_xxxxxx」という名称になるのと、チームの所有者を後から変更する手間が掛かるが、Teamsからの作業でも、同様にMicrosoft 365のグループとSharePointのサイトが自動的に作成される。

NASのグループに相当するグループをMicrosoft 365に作成する。プライベートに設定し、Teamsのサイトもいっしょに割り当てておく

 NASのユーザーとグループをMicrosoft 365へ移行できれば、とりあえずTeamsを利用することができる。

 Teamsを開いて任意のユーザーでサインインし、そのユーザーが所属するチームが表示され、「表示されるチーム」=「NASで参照可能な共有フォルダー」となっていることを確認しておくといい。間違っている場合は、グループのメンバー設定をやり直してみよう。Microsoft 365のグループから設定してもいいし、Teams管理センターからチームごとのメンバーを変更してもいい。

Teamsにサインインしたときに、自分が所属していたグループと同じものがチームとして表示されることを確認

 同様に、SharePointのサイトも確認しておくといいだろう。「利用可能なSharePointのサイト」=「NASで参照可能な共有フォルダー」となっているかを確認し、必要ならばSharePoint管理センターから、サイトの権限でメンバーを設定できる。

 つまり、入口は「Microsoft 365管理センター」「Teams管理センター」「SharePoint管理センター」の3つあるが、今回の例では、このどこからでもユーザーとグループ(=チーム=サイト)を管理できることになる。

グループ=Teamsチーム=SharePointサイトとなるので、SharePointも確認しておく

データを移行する

 さて、これで器は整ったので、実際のデータを移行することになる。

 データの移行には、「SharePoint移行マネージャー」を使うのが簡単だ。SharePoint管理センターの[移行]にアクセスすることで利用できるツールで、エージェントとなるPC(仮想マシンでも可)が1台あれば、ネットワーク内のファイル共有を簡単にSharePointサイトのドキュメント(=Teamsのチームごとのファイルタブ)へと移行できる。

オンプレミスの共有ファイルの移行はクラウド上の「移行マネージャー」で実行できる

 従来は、PC上で動作する「移行ツール」が提供されていたが、最新版ではクラウドで移行タスクを管理できる「移行マネージャー」に変更された。

 エージェントとなるPC(筆者は仮想マシンを利用した)を用意し、ダウンロードした移行マネージャのエージェントをインストールする。

 エージェントインストール時の注意点は2つある。1つは、インストール時に、PCのアカウント(コマンドプロンプトから「whoami」で確認可能)を指定し、ログアウト時でもクラウドからタスクを実行できるようにしておくことだ。

ネットワーク内のPC、または仮想マシンを用意し、エージェントをインストールする。このPCが、実際の移行作業を担当する

 もう1つは、PCから、移行対象となるNASの全共有フォルダーにアクセス可能にしておくこと。具体的には、NASの任意の共有フォルダーにアクセスし、表示される認証画面で管理者アカウント(NASのユーザー別ホームフォルダーにもアクセスできるようにしておく)を、Windows 10の資格情報マネージャーに保存しておけばいい。

インストール時にクラウドからエージェントに接続するためのアカウントが必要

 これで準備は完了だ。

 後は、SharePoint移行マネージャーからタスクを登録する。共有フォルダーごとに個別のタスクが必要なので、共有フォルダーが多数ある場合はCSVを使った一括登録が便利だが、ここでは手動で次のようにタスクを登録する。

  • ソース:\192.168.101.171Accout
    NASの共有フォルダーを指定する
  • 移行先:https://tnkeng.sharepoint.com/sites/msteams_10e12f
    SharePointサイトのURLを指定し、ドロップダウンでフォルダーを選ぶ
    サイトURLはSharePoint管理センターから確認可能
  • タスク名:任意
SharePoint管理センターからエージェントを確認できる
移行タスクを登録する。共有フォルダーごとに移行元と移行先を設定
設定時はウィザード形式となるが、画面のようにソースと移行先を指定する

 このほか、アクセス許可の状態を保持したままで移行したり、ファイルの更新者などの情報を保持することも可能だが、NASの場合、ユーザーとMicrosoft 365のユーザーをマッピングするための定義ファイルを用意しても、うまく引き継がれない場合がある。

 また、ファイルを容量や日付でフィルターして移行することもできる。大量にファイルがある場合、古いデータはNASにそのまま保管し、新しいデータのみ移行するという選択も可能だ。

 タスクを登録すると、これらの情報が自動的にエージェントへと渡され、実際の移行作業がエージェントPCで自動的に実行される。しばらく待っていると、移行マネージャー上のタスクの表示が「実行中x%」などに切り替わるはずだ。これが最終的に「完了」と表示されれば移行は終了だ。

 なお、ユーザーのホームフォルダーに関しては、SharePointの共有サイトではなく、「OneDrive for Business」に移行する。

 OneDrive for Businessも仕組みとしてはSharePointなので、同様に移行マネージャーを使ってデータを移行可能だ。前述した設定と異なるのは移行先の指定で、URLをOneDrive Businessから確認すればいい。

 URLは環境によって異なるが、基本には以下のようにユーザー名+ドメイン名のディレクトリが割り当てられるはずだ。


    https://tnkeng-my.sharepoint.com/personal/tnksaburo_tnkeng_work/(要サインイン)

 ユーザーの数だけ登録しなければならないので手間は掛かるが、ここまで設定すれば、後は待っているだけでデータの移行が完了する。夜間や土日などの休日にタスクを実行し、時間をかけて移行するというかたちになるだろう。

ホームフォルダーも「OneDrive for Business」へ移行可能

 タスクの数が多い場合はエージェントを増やすこともできるが(タスクはエージェントに自動割り当て)、最終的な移行先はクラウドなので、WAN回線がボトルネックになるケースの方が多い。

 小規模なオフィスでは、コンシューマー向けのISPを利用するケースもあるが、その場合、転送量が多いとISPによる帯域制限の対象になる可能性も考えられる。場合によっては、フィルターを活用して古いデータから段階的に移行したり、タスクを複数回に分けて実行したりすることも検討すべきだろう。

サブフォルダーをチャネルに割り当てる

 移行が完了したら、Teams側での最後の仕上げとなる。

 前述したように、共有フォルダー=チームとして移行されているので、ここでは「サブフォルダー=チャネル」として割り当ててみることにした。

チームに標準で作成される「一般チャネル」は「General」フォルダーを保存先として指定しているため、移行したファイルは見えない

 この方法は簡単で、単にサブフォルダーと同じ名前のチームを作ればいい。前述したようにNAS上で、「営業部」-「在庫管理」というフォルダー構成でファイルを管理していた場合、移行後は「営業部」のドキュメントルートのサブフォルダーとして「在庫管理」のデータが移行される。

 一方、Teamsではチャネル(パブリックのみ)ごとのファイルはチームのドキュメントルートのサブフォルダーとして管理されるため、この部分の仕組みがちょうどよく一致しているわけだ。

 このため、営業部チームで「在庫管理」チャネルを作成すれば、そのチャネルの[ファイル]タブに移行した「在庫管理」サブフォルダーのデータが自動的に表示されるようになる。

 ただし、1つ注意が必要な点がある。この方法が使えるのはチームを「パブリック」で作成した場合のみなのだ。チームをプライベートとして作成するとプライベート用のSharePointサイトが作成されるため、NASから移行したデータが存在する親サイトのサブフォルダーを参照できない。

NASから移行した「在庫管理」フォルダーと同じ名前の「在庫管理」チームを作成すると、[ファイル]タブから移行した「在庫管理」フォルダーのデータを参照できる

 もちろん、Teamsに「SharePointドキュメント」タブを新たに追加し、サイトのドキュメントフォルダー(ルート)を追加すれば、移行マネージャーで移行した全てのサブフォルダーをTeamsから参照することができる。

 このため、全てのサブフォルダーをチャネルとして構成するのではなく、チャネルとしてメンバーを管理したり、チャットが必要だったりするサブフォルダーのみを、チャネルとして構成すればいいことになる。

「SharePointドキュメント」タブを追加すると、移行した全サブフォルダーにアクセス可能。通常はこの方法の方が使いやすいだろう

意外に簡単

 以上、NASからTeamsへのファイルの移行を実際にやってみた。シンプルな構成であれば、意外に手間なく移行できることが分かった。

 数百人規模の環境では、PowerShellを使わないと太刀打ちできそうにないが、Teamsにおけるチームとチャネルという考え方が、現状のNASのグループや共有フォルダー、サブフォルダーの運用方法と大きく変わらないなら(たいていの小規模な環境ならば一致するはず)、試してみる価値のある方法だ。

 Microsoft 365には試用版アカウントもあるので、このアカウント使って移行をテストし、うまく移行できれば契約するという手もある。

 ちなみに、環境の移行後は、ユーザーの権限でチームを作れるようになるので、部門横断のプロジェクトなどでファイル共有がしやすくなる一方、チームが乱立すると、Microsoft 365上のグループやSharePointサイトも乱立するので、管理が難しくなる欠点もある。運用時は、チーム作成に関するルールを決めておく必要もあるだろう。

 もちろん、Teamsでファイル共有といっても、OneDrive同期ツールを使うことで、従来通りエクスプローラーから共有フォルダーへアクセスすることもできるので、NASからの移行でも違和感なく使えるようにもできる。ユーザーの使い勝手をあまり変えることなく移行する工夫もしておくといいだろう。

清水 理史

製品レビューなど幅広く執筆しているが、実際に大手企業でネットワーク管理者をしていたこともあり、Windowsのネットワーク全般が得意ジャンル。最新刊「できる Windows 10 活用編」ほか多数の著書がある。