SharePoint / OneDrive への大規模移行で、Migration Manager のタスクを1件ずつ手入力していると、入力ミスや作業漏れが起きやすくなります。結論から言うと、複数の移行元と移行先をまとめて登録するなら、CSVまたはJSONファイルによる一括アップロードを使うのが現実的です。
今回確認すべきポイントは、単に「CSVかJSONをアップロードできる」という話ではありません。CSVは6列すべてを維持すること、文字コードはUTF-8にすること、OneDrive移行では事前プロビジョニングや移行先URLの書き方に注意すること、さらにMigration Managerの検証は最初の20行が中心であるため、残りの行も管理者側で確認する必要があります。Microsoft Learnでは、Migration Managerにタスクを一括アップロードする方法としてCSVとJSONの2方式が案内されています。(Microsoft Learn)
SharePoint / OneDriveのMigration Manager一括アップロードで何が変わるのか
Migration ManagerのCSV / JSON一括アップロードは、SharePointやOneDriveへの移行タスクを大量に作成する管理者にとって、作業方法を大きく変えるポイントです。
従来のように画面上で移行元と移行先を1件ずつ入力する運用では、部署別フォルダー、ユーザー別ホームドライブ、拠点別ファイル共有などを扱うとすぐに限界が来ます。CSVまたはJSONを使えば、あらかじめ整理した移行マッピング表をもとに、複数タスクをまとめてMigration Managerへ登録できます。
Migration ManagerはSharePoint管理センター内で利用し、エージェントの設定、タスク作成、進捗確認、レポート確認までを管理できる移行機能です。ファイル共有からMicrosoft 365へ移行する場合、複数サーバーをエージェントとして構成し、移行規模に応じて拡張できます。(Microsoft Learn)
今回の公式情報で管理者が特に意識すべき点は、次の3つです。
| 確認ポイント | 実務上の意味 |
|---|---|
| CSVとJSONの2方式を選べる | 単純な移行マッピングはCSV、タスク別設定まで含めたい場合はJSONが向いている |
| CSVは6列構成を維持する | 使わない列を削除すると、移行元・移行先の解釈がずれる可能性がある |
| 最初の20行が検証対象になる | 20行目以降の移行先URLも、管理者側で事前チェックが必要 |
対象になる管理者・開発者・移行担当者
この情報の主な対象者は、オンプレミスのファイル共有や部門フォルダーをSharePoint / OneDriveへ移行する管理者です。特に、数十件から数千件規模の移行タスクを扱う場合は、CSVまたはJSONを使った一括登録を前提に計画したほうが安全です。
| 対象者 | 確認すべきこと |
|---|---|
| Microsoft 365管理者 | SharePoint管理センターでMigration Managerを利用できる権限があるか |
| SharePoint管理者 | 移行先サイトURL、ドキュメントライブラリ、サブフォルダー設計が確定しているか |
| OneDrive移行担当者 | OneDriveアカウントの事前プロビジョニング、移行先URL、ライブラリ名が正しいか |
| 情シス・インフラ担当 | ファイル共有への読み取り権限、SMB、ネットワーク、エージェント配置を確認したか |
| 開発者・自動化担当 | CSV / JSONを台帳やスクリプトから安全に生成・検証できるか |
Migration Managerでファイル共有を移行する場合、移行元サーバーはSMB 2.0以上をサポートしている必要があります。また、移行先へアクセスするにはMicrosoft 365テナントのグローバル管理者、またはOneDrive / SharePoint管理者権限が必要です。移行元には、対象ファイル共有を読み取れるWindows資格情報が必要です。(Microsoft Learn)
CSVとJSONはどちらを選ぶべきか
迷った場合は、まずCSVから検討するとよいでしょう。Excelで編集しやすく、移行元と移行先の対応表としてレビューしやすいためです。一方で、移行タスクごとに隠しファイルの扱い、日付フィルター、除外拡張子、OneNoteノートブックの移行設定などを指定したい場合は、JSONのほうが管理しやすくなります。
| 形式 | 向いているケース | 注意点 |
|---|---|---|
| CSV | ファイル共有ごとに移行先を指定する単純な一括登録 | 6列すべてが必要。空列も削除しない |
| JSON | タスク単位で詳細設定を持たせたい移行 | JSON構文エラー、バックスラッシュのエスケープ、末尾カンマに注意 |
| CSV | 管理者や部門担当者がExcelでレビューする場合 | UTF-8で保存する。列ずれを必ず確認する |
| JSON | スクリプトや台帳から自動生成する場合 | アップロード前にJSONバリデーションを行う |
CSVでは、最初の3列が移行元、残りの3列が移行先を表します。公式情報では、CSVに6つの列が必要で、値が不要な列でも列自体は維持する必要があると説明されています。列見出しは任意ですが、レビューしやすさを考えると付けておくほうが安全です。(Microsoft Learn)
CSVファイルの基本フォーマット
CSVでMigration Managerへタスクを一括アップロードする場合は、次の6列を使います。
| 列 | 内容 | 必須・任意 | 実務上の注意 |
|---|---|---|---|
| A列 | ファイル共有パス | 必須 | \\server\share のようなUNCパスで指定 |
| B列 | 空欄 | 空欄 | ファイル共有移行では使用しないが列は残す |
| C列 | 空欄 | 空欄 | ファイル共有移行では使用しないが列は残す |
| D列 | SharePointサイトURL、またはOneDriveのメール / URL | 必須 | URLの末尾や個人用サイトの指定ミスに注意 |
| E列 | ドキュメントライブラリ名 | 必須 | OneDriveの場合は公式案内に従い Documents を使う |
| F列 | サブフォルダー名 | 任意 | 空欄ならライブラリ直下へ移行される |
CSVファイルの文字コードはUTF-8である必要があります。また、OneDriveを移行先にする場合、移行先URLの末尾に _layouts/15/onedrive.aspx を含めないこと、ドキュメントライブラリは MyFiles ではなく Documents とすることが案内されています。(Microsoft Learn)
FileSharePath,,,SharePointSite,DocLibrary,DocSubFolder
\\fileserver\finance,,,https://contoso.sharepoint.com/sites/finance,Documents,2026
\\fileserver\sales,,,https://contoso.sharepoint.com/sites/sales,Documents,
\\fileserver\users\yamada,,,https://contoso-my.sharepoint.com/personal/yamada_contoso_com,Documents,
CSVをExcelで作成する場合は、保存時の形式に注意してください。環境によっては、通常の「CSV」保存で想定外の文字コードになることがあります。日本語のフォルダー名やサブフォルダー名を含む場合は、アップロード前にテキストエディターで開き、文字化けしていないか確認しましょう。
CSVで失敗しやすいポイント
CSV一括アップロードで多い失敗は、機能そのものよりもファイル作成ミスです。
| よくあるミス | 起きる問題 | 対策 |
|---|---|---|
| B列・C列を削除する | 移行先URLやライブラリ名が別列として解釈される | 空欄の列も残す |
| Shift_JISなどで保存する | 日本語パスやサブフォルダー名が文字化けする | UTF-8で保存する |
| OneDrive URLの末尾に画面用パスを含める | 移行先として正しく認識されない | _layouts/15/onedrive.aspx を削除する |
| 20行だけ確認して全件OKと判断する | 21行目以降に無効な移行先が残る | 全行をスクリプトやレビューで検証する |
| ライブラリ名を表示名だけで判断する | 実際の移行先ライブラリと一致しない | SharePoint側のライブラリ構成を確認する |
Migration Managerでは、選択した形式に値を入力すると、最初の20行が検証され、移行先リンクが有効か確認されます。ただし、無効な移行先エラーが出た場合は、残りのタスクにも無効な移行先がないか確認する必要があります。(Microsoft Learn)
JSONファイルの基本フォーマット
JSON形式では、Tasks 配列の中に移行タスクを定義します。公式情報では、最小限必要な値として SourcePath、TargetPath、TargetList が示されています。TargetListRelativePath を使うと、移行先ライブラリ配下のサブフォルダーも指定できます。(Microsoft Learn)
{
"Tasks": [
{
"SourcePath": "\\\\fileserver\\finance",
"TargetPath": "https://contoso.sharepoint.com/sites/finance",
"TargetList": "Documents",
"TargetListRelativePath": "2026",
"Settings": {
"MigrateHiddenItems": true,
"MigrateItemsCreatedAfter": "2024-01-01",
"MigrateItemsModifiedAfter": "2024-01-01",
"SkipFilesWithExtensions": "tmp:bak:mp3",
"MigrateOneNoteNotebook": true
}
}
]
}
JSONでは、WindowsのUNCパスに含まれるバックスラッシュをエスケープする必要があります。たとえば \\fileserver\finance をJSON内で表現する場合は、上記のように \\\\fileserver\\finance と書きます。
JSONを使うメリットは、タスクごとの設定を構造化できることです。たとえば、古いファイルを除外したい部門、特定拡張子を移行対象外にしたい部門、OneNoteノートブックを移行したい部門が混在する場合、CSVよりJSONのほうが意図を明確に管理できます。
JSONで指定できる代表的な設定
| 設定項目 | 用途 | 使いどころ |
|---|---|---|
MigrateHiddenItems | 隠しアイテムを移行するか指定 | ファイルサーバー上の隠しファイルも保持したい場合 |
MigrateItemsCreatedAfter | 作成日による移行対象の絞り込み | 古いアーカイブを除外したい場合 |
MigrateItemsModifiedAfter | 更新日による移行対象の絞り込み | 一定期間更新されていないファイルを除外したい場合 |
SkipFilesWithExtensions | 指定拡張子を除外 | 一時ファイル、音声、バックアップファイルなどを除外したい場合 |
MigrateOneNoteNotebook | OneNoteノートブックを移行するか指定 | 部門共有のOneNoteを移行対象に含める場合 |
JSONは機械処理に向いていますが、構文ミスに弱い形式です。末尾カンマ、引用符の不足、バックスラッシュのエスケープ漏れがあるとアップロード前後でエラーになります。開発者が自動生成する場合は、生成後にJSONパーサーで検証し、さらに少数タスクでパイロット移行を行ってから本番展開しましょう。
OneDrive移行で必ず確認すべき事前プロビジョニング
OneDriveを移行先にする場合は、移行前に対象ユーザーのOneDriveが利用可能な状態か確認します。Microsoftの事前プロビジョニングに関する公式情報では、既定ではユーザーが初めてOneDriveを参照したときに作成されますが、移行などのケースでは事前に準備できると説明されています。(Microsoft Learn)
特に注意したいのは、対象ユーザーにサインインが許可され、SharePointライセンスが割り当てられている必要がある点です。また、PowerShellでOneDriveをプロビジョニングする管理者にも、SharePoint管理者権限とSharePointライセンスが必要です。大量ユーザーを事前プロビジョニングする場合、OneDriveの場所が作成されるまで数日かかる場合があります。(Microsoft Learn)
一方で、Migration Managerの新機能情報では、2026年5月に「Migration Manager Lite」テナント向けとして、M365ユーザーが移行先に指定された場合にOneDriveを自動プロビジョニングする機能が案内されています。ただし、現時点ではMigration Manager Liteテナント向けとされているため、すべてのテナントで事前プロビジョニングが不要になったと考えるのは危険です。(Microsoft Learn)
移行先をOneDriveにするかSharePointにするかの判断基準
CSV / JSONを作る前に、移行先設計を決める必要があります。ここを曖昧にしたまま一括アップロードすると、移行後に「個人のOneDriveに置くべきだった」「チーム用SharePointに置くべきだった」という手戻りが発生します。
判断基準はシンプルです。個人が主に利用するファイルはOneDrive、チームや部門で共同利用するファイルはSharePointの共有ライブラリに置きます。Microsoftの移行ガイドでも、単一ユーザーに属するファイルはOneDrive、チームで共同利用するファイルやフォルダーは共有ライブラリへ移動する考え方が示されています。(Microsoft Learn)
| 移行元の状態 | 推奨される移行先 | 理由 |
|---|---|---|
| 個人用ホームドライブ | OneDrive | 個人領域として管理し、必要に応じて共有できる |
| 部門共有フォルダー | SharePointドキュメントライブラリ | チームメンバーに既定アクセスを付与しやすい |
| プロジェクト単位の共有資料 | SharePointサイトまたはTeams連携サイト | メンバー管理、共同編集、履歴管理に向いている |
| 退職者・休眠ユーザーのデータ | SharePointのアーカイブ用ライブラリなど | 所有者不在のOneDriveへ移すと管理しにくい |
管理者が展開前に確認すべきチェックリスト
本番アップロード前には、CSV / JSONの書式だけでなく、移行インフラ、権限、性能、ユーザー影響まで確認します。
| 分類 | チェック項目 |
|---|---|
| ファイル形式 | CSVは6列構成、UTF-8、空列維持。JSONは構文検証済み |
| 移行元 | UNCパスが正しい。エージェント実行環境から読み取り可能 |
| 移行先 | サイトURL、OneDrive URL、ドキュメントライブラリ名、サブフォルダー名が正しい |
| OneDrive | 対象ユーザーのライセンス、サインイン許可、プロビジョニング状態を確認 |
| 権限 | 移行先に対する管理権限、移行元に対する読み取り権限を確認 |
| パイロット | 少数ユーザーまたは一部フォルダーで事前検証 |
| 性能 | 業務時間帯を避け、エージェント数・ネットワーク・ディスク性能を確認 |
| レポート | 移行後にSummary Reportや詳細レポートを確認する運用を決める |
Migration Managerの概要では、ファイル共有からMicrosoft 365への移行で最大250GBのファイルがサポートされると案内されています。ただし、実際の移行時間はファイル数、ファイルサイズ、ネットワーク、エージェント環境、SharePoint側のスロットリングなどに左右されます。(Microsoft Learn)
大量タスク登録時の性能とスロットリングの注意点
CSVやJSONでタスクを大量登録できるからといって、一度に過剰な移行を投入するのは避けるべきです。SharePoint / OneDriveでは、移行、DLP、バックアップなどのバックグラウンドアプリに対して、サービスの信頼性を守るためのスロットリングが行われます。Microsoftのパフォーマンスガイドでは、平日日中はスループットが制限される可能性があり、夜間や週末はより多くの処理を受け付けやすいと説明されています。(Microsoft Learn)
また、移行ジョブやリクエストを5,000件以上キューに入れないことが推奨されています。過剰なキュー投入はネットワークやデータベースに負荷をかけ、結果として移行を遅くする可能性があります。(Microsoft Learn)
大量移行では、次のように段階的に展開すると失敗を減らせます。
| フェーズ | 実施内容 | 判断基準 |
|---|---|---|
| 台帳作成 | 移行元、移行先、所有部門、容量、ファイル数を整理 | 不明な所有者や不要データを洗い出せているか |
| パイロット | 代表的な部署・ユーザーで少量移行 | 権限、速度、文字化け、リンク切れを確認 |
| 分割投入 | サイトコレクションや部署単位でタスク登録 | 一度に過剰なジョブを投入していないか |
| 差分確認 | 移行後に更新分や失敗分を確認 | レポートで失敗理由を分類できているか |
| カットオーバー | 旧ファイル共有を読み取り専用化または停止 | ユーザーへの案内とヘルプデスク対応が準備済みか |
開発者がCSV / JSONを自動生成する場合の実装ポイント
移行対象が多い場合、CSVやJSONを手作業で作るより、棚卸し台帳やファイルサーバーの一覧から自動生成したほうが安全です。ただし、出力結果をそのままMigration Managerに投入するのではなく、事前検証を組み込みましょう。
最低限、次の検証を入れることをおすすめします。
・SourcePath が空ではない
・TargetPath が SharePoint または OneDrive の想定URL形式になっている
・TargetList が空ではない
・CSVでは6列すべてが出力されている
・JSONとしてパース可能である
・OneDrive向けURLに _layouts/15/onedrive.aspx が含まれていない
・除外拡張子や日付フィルターが意図通りに設定されている
特にJSON生成では、Windowsパスのエスケープ処理を共通関数化してください。担当者が手入力した \\server\share をそのままJSONに埋め込むと、文字列として正しく解釈されないことがあります。CSV生成では、フォルダー名にカンマやダブルクォートが含まれる可能性を考慮し、CSVライブラリを使って適切にエスケープするのが安全です。
既存の移行計画への影響範囲
今回のCSV / JSON一括アップロード形式の確認は、既存のSharePoint / OneDrive移行計画に対して、次の領域に影響します。
| 領域 | 影響 |
|---|---|
| 移行台帳 | Migration Managerに投入できる形式へ列設計を合わせる必要がある |
| OneDrive準備 | 事前プロビジョニングまたは自動プロビジョニング対象かの確認が必要 |
| レビュー工程 | 最初の20行だけでなく、全タスクの移行先検証が必要 |
| 自動化 | CSV / JSON生成後の構文チェック、URLチェックを組み込む必要がある |
| 展開スケジュール | スロットリングを考慮し、夜間・週末・分割投入を検討する必要がある |
| ユーザー周知 | 移行先がOneDriveかSharePointかを利用者に明確に伝える必要がある |
重要なのは、CSV / JSONのアップロードを「作業短縮のための便利機能」とだけ見ないことです。大量タスクを一括登録できるということは、誤った移行先も大量に投入できてしまうということでもあります。移行元・移行先のマッピング表をレビューし、部署やユーザーに確認し、少量のパイロットで検証してから本番投入する流れを作りましょう。
まず管理者が取るべき次の行動
SharePoint / OneDrive移行でMigration ManagerのCSV / JSON一括アップロードを使うなら、最初にやるべきことはファイル作成ではありません。まず、移行対象を「個人データ」「部門共有データ」「プロジェクトデータ」に分類し、OneDriveへ入れるものとSharePointへ入れるものを決めます。
そのうえで、CSVで十分か、JSONで詳細設定まで管理する必要があるかを判断します。単純な移行マッピングならCSV、タスクごとに除外条件や移行設定を変えたいならJSONを選びましょう。
最後に、次の順番で進めると安全です。
1. 移行対象の棚卸しを行う
2. OneDrive / SharePointの移行先設計を決める
3. CSVまたはJSONのひな形を作成する
4. URL、ライブラリ名、文字コード、JSON構文を検証する
5. 少数タスクでパイロット移行する
6. レポートを確認し、問題を修正する
7. 部署・サイト単位で本番タスクを分割投入する
Migration Managerの一括アップロードは、正しく使えば移行作業を標準化し、入力ミスを減らし、SharePoint / OneDrive移行の進行管理をしやすくします。一方で、CSVの列ずれ、OneDrive URLの誤り、未プロビジョニング、過剰なタスク投入は失敗の原因になります。まずは小さく検証し、確認済みの形式をテンプレート化してから全体展開することが、最も確実な進め方です。

コメント