SharePointとOneDrive は、移行の準備と実行の両面で多くの類似点がありますが、特殊な事例と制限がいくつかあります。以下の記事では、該当する点について解決策を提供しています。
SharePoint OnlineとOneDrive for Businessの移行での制限
OneDrive およびSharePointには、いくつかの制限があり、移行の際に問題が起こる可能性があります。移行を開始する前に以下の注意点を確認し、必要な「詳細オプション(Advanced Options)」に追加して移行を実施してください。
ファイルパスの制限
SharePoint OnlineおよびOneDrive for Businessでは、ファイルパスとファイル名に適用できる文字数の制限は400文字です。Google DriveやDropboxなどの他のドキュメントストレージサービスでは、文字制限が適用されない場合があります。これらのプラットフォームからSharePoint OnlineまたはOneDrive for Businessに移行する場合は、ファイルパスとファイル名を短縮する必要があります。詳細オプション「ShrinkFoldersMaxLength=200」を使用して文字数を短縮します。
文字数制限を増やすには、詳細オプションIncreasePathLengthLimit=1
を使用します。
アップデートされていないOffice 365テナントでは、ファイルパス名の文字数増加がサポートされていない場合があります。ただし、プロジェクトにIIncreasePathLengthLimit=1
を使用すると、エラーの発生を防ぐことができます。サポートされているテナントでは、MigrationWizは400文字の制限を使用します。
ファイルおよびフォルダー名の拡張子の制限
SharePoint OnlineおよびOneDrive for Business内で作成できないファイル拡張子のリストがあります。
詳細については、以下の記事を参照してください。
- リストやライブラリに追加できないファイルの種類
- SharePointでサイト名、フォルダー名、ファイル名に使用できない文字に関する情報
- 寄稿者はSharePoint 2010にSWF ファイルをアップロードできません。
リストには現時点で次の拡張子が含まれており、SharePointサーバーで作業する際にデフォルトでブロックされています。.ashx、asmx、json、.soap、.svc、.xamlx 現在、SharePoint Onlineにはファイルの種類についての制限はありません。また、フォルダー名の最後に次の文字列を使用することはできません。.files、_files、-Dateien、_fichiers、_bestanden、_file、_archivos、-filer、_tiedostot、pliki、_soubory、_elemei、_ficheiros、_arquivos、_dosyalar、_datoteke、_fitxers、_failid、 _fails、 _bylos、_fajlovi、_fitxategiak
これは、Microsoftによって変更される場合があります。
さらに、管理者は他の拡張子をリストに追加することができます。
共有フォルダー内でファイルを作成する際の制限
Google Driveから移行を計画する際に、ユーザーがフォルダーを作成して別のユーザーと共有するというシナリオが考えられます。別のユーザーは、その共有フォルダー内にファイルを作成します。このようなファイルの移行には、「Moderate移行モード」を使用します。詳細については、GoogleドライブからOneDrive for Businessへの移行ガイドを参照してください。
複数の同じ名前のファイルの制限
Google Driveなどの一部の環境では、同じフォルダー内に複数の同じ名前のファイルを作成できます。OneDrive for Businessではサポートされていません。RenameConflictingFiles=1 詳細オプションを使用します。
移行前にフォルダーパスを自動短縮する
- 各要素(ファイルまたはフォルダー)の文字数の制限は128以内です。
- ファイルパスの合計はフルパスとファイル名を含めて260文字以内にする必要があります。
- すべての文字はURLエンコードされている必要があるため、実際には多くの文字が3文字としてカウントされます。そのため多くの場合、予想以上に早く文字数制限に達します。
「詳細オプション(Advanced Options)」の機能
このオプションは、最長パス要素を ShrinkFoldersMaxLength の要件に一致するまで繰り返し切り詰めることでフォルダー名を圧縮します。10文字に達すると切り詰めて、フォルダー名が意味を保持するようにします。
このオプションは、フォルダーパス要素が100文字(OneDrive for BusinessまたはSharePoint Onlineの場合) を超える場合にも切り詰めます。制限は128ですが、特殊文字とファイル名の競合の管理のために、空きを何文字か確保する必要があります。
フォルダーについての上記の説明と同じ理由により、このオプションはファイル名を100文字に切り詰めます。
このオプションは、詳細オプション「RenameConflictingFiles」と組み合わせて使用することにより、切り詰め後に競合するファイルを管理します。
フォルダーとファイル名の変更後も、権限は引き続き適切に解決されます。
圧縮後もフォルダーが制限と適合しない場合(フォルダー階層が多すぎる場合など)、移行の開始時にMigrationWizはエラーを報告します。
ShrinkFoldersMaxLength=200
に設定することをお勧めします。- このオプションは、状況に応じて高い値または低い値に設定することができます。 値は、ファイルシステムデータ、フォルダーパス(コレクションのルート)の一部であるメールアドレス、権限を有するドメイン名などの条件によって異なります。値を200に設定することで、あらゆるエッジケースの管理が可能な適切なセキュリティ範囲を維持し、合理的な制限を提供します。
- このオプションを有効にするかどうかは、ケースバイケースです。オプションが必要な際は、専用のプロジェクトを作成することをお勧めします。専用プロジェクト内で「詳細オプション(Advanced Options)」を追加します。
ShrinkFoldersMaxLength=200
を設定し、「パスが長すぎる(path too long)」エラーが発生したファイルを、この専用プロジェクトに移動します。すべてのメールボックスでこのオプションをデフォルトで使用することはお勧めしません。メールボックスの数は制限を下回る必要があります。制限を上回ると、実際には通常の移行で成功しても、切り詰めが発生する可能性があります。 - このオプションを使用せずに移行が既に行われている場合は、移行先でストレージをリセットする必要があります。リセットしない場合は、2つのファイルシステム構造が移行先に表示されます。
- 2つのサイクル間で、この詳細オプションを使用して移行元ファイルシステムのフォルダー構造を変更した場合(例えば、フォルダーの名前の変更、削除、新規作成など)、まったく異なる動的マッピングが行われ、移行先に異なる2つのファイルシステムが表示される場合があります。
- 同じ親フォルダー内の複数のフォルダーの名前が10文字で切り捨てられている場合、最初の10文字が同じ場合は、1つのフォルダーに統合される可能性があります。
Microsoft Officeドキュメントのプロパティの制限
コンテンツコントロールのMicrosoft Wordドキュメントプロパティは、移行後に移行先には保持されません。ドキュメント内のカスタムメタデータ値の参照情報は、移行先のドキュメントライブラリでは破損した状態で表示されます。これはMicrosoftによる制限で、基本のドキュメントを同じテナント内の新しいドキュメントライブラリにMigrationWizを使用せずにコピーすることで複製することできます。
詳細と回避策:
次の仮想シナリオでは、この制限がどのように機能するかについて記述しています。制限を回避する手順については、次のセクションを参照してください。
-
例:“MyWork.docx”は、移行元の "SourceDL" というドキュメントライブラリ内のドキュメントで、“Location” という名前のカスタムドキュメントプロパティが含まれています。このプロパティは、SharePointドキュメントライブラリに新しい列を追加することで作成できます。(リストまたはライブラリで列を作成する参照)“MyWork.docx” のlocationの値を “Paris” に設定します。
-
このドキュメントをMicrosoft Word 「開く(Open)-> アプリで開く(open in app) 」で開き、コンテンツコントロール「挿入(Insert )> クイックパーツ(Quick Parts)> 文書のプロパティ(Document Properties)」で "Location" を追加します。このプロパティの値を ”Paris” に設定します。コンテンツコントロールをドキュメントに挿入すると、ドキュメントに「Paris」という値が表示されます。
-
MigrationWizを使用して、このドキュメントを “SourceDL” から “DestinationDL” に移行します。
-
MS Wordで移行先ドキュメントライブラリ "DestinationDL" からドキュメントを開きます。コンテンツコントロールの値は "Paris" とは表示されません。
-
「ファイル(File)」>「情報(Info)」>「プロパティ(Properties)」>「場所(Location) 」を使用してプロパティの値を "London" に変更します。
-
ドキュメントのテキストには、変更された “London” は表示されません。ドキュメントのコンテンツは "Paris" を示したままになります。
-
プロパティ "Location" の新しいコンテンツコントロールを同じドキュメントに挿入します。値が “London” と正確に反映されていることを確認してください。
-
開発者モードでこれを確認するには、Microsoft Wordで「開発(Development)」 >「デザインモード(Design Mode)」(「開発」リボン)で開発タブを表示します。移行済みの破損したコンテンツコントロールは青色で表示され、新しく挿入されたコンテンツコントロールが黄色で表示されます。
-
これはMigrationWizを使用せずにテストすることができます。 “MyWord.docx” を、移行元と同じテナント内の同じ列 “Location” を持つ新しいドキュメントライブラリにコピーします。同様の動作が確認できます。
-
MigrationWizは送信元から送信先への送信時にコンテンツを変更しないため、これは、コンテンツコントロールとSharePointを使用する際のMS Officeドキュメントでのデフォルトの動作です。
-
これは、カスタムSharePointプロパティまたはカスタムメタデータに固有の動作です。作成された日付、タイトル、作成者などのデフォルトのプロパティは保持されます。
回避策(この回避策では、MigrationWizではなく組み込みのOffice 365ツールを使用しているため動作を保証するものではありません。)
この種類のドキュメントを移行した後、カスタムドキュメントプロパティの破損した参照情報を手動で修正することができます。各ドキュメント内のリンクを、Microsoft Wordユーザーインターフェイス「選択したコンテンツコントロールをマッピングする。(Map the Selected Content Control) 」を介して更新 します。(再挿入は機能しません) 。
-
Microsoft Wordで「開発(Development)」 リボンをオンにします。「ファイル(File)」> 「オプション(Options)」 > 「リボンをカスタマイズする(Customize Ribbon)」をオンにします。「開発者(Developer)」チェックボックスを選択します。
-
さらにわかりやすくするために「デザインモード(Design Mode)」 をオンにします。破損したコンテンツコントロールは青色で表示されます。
-
破損したコンテンツコントロールを選択します。
-
「XMLマッピングウィンドウ(XML Mapping Pane)」 で、「開発者(Developer)」 >「XML の対応付け(XML Mapping)」 を開き、ドロップダウンリストで“http://schemas.microsoft.com/office/2006/metadata/properties“を選択します。
-
ドキュメントプロパティは「プロパティ(Properties)」 > 「documentManagement」ツリーの下にあります。
-
該当するプロパティを右クリックし、「選択したコンテンツコントロールにマップ(Map to Selected Content Control)」を選択します。
選択したコンテンツコントロールが修正され、黄色になります。
7.問題が発生した移行済みのドキュメントごとに、この手順を実行する必要があります。
OneDrive for Businessでバージョンとメタデータを移行する場合の共有アイテム(Shared with Me)移行の問題
Google DriveからOneDriveに「共有アイテム(Shared with Me)」コンテンツを移行できるようにするには、完全移行を開始する前に「ファイル(Files)」と「権限(Permissions)」を選択する必要があります。
英語以外のテナントでの権限マッピング
SharePoint/OneDriveの移行で英語以外のテナント権限のレベルとメンバーシップ/グループ名をマッピングするには、 「PermissionLevelMapping」オプションと「MembershipMapping」オプションを使用します。
これらのオプションは、移行元とテナントが同じ英語以外の言語(例:日本語から日本語)または移行元が英語以外の言語(例:ドイツ語から英語)である場合に使用できます。異なる英語以外の言語(例:日本語からドイツ語)の場合は使用できません。
PermissionLevelMapping:
通常、すべての権限レベル、例えばフルコントロール、デザイン、編集、投稿、閲覧を個別に追加する必要があります(または、少なくとも移行元サイトで使用する権限レベル)。
マッピングの最初の部分のみを、移行元テナントの言語に従って変更する必要があります。言い換えると、2番目の部分は必ず、次のいずれかである必要があります。Full Control/Design/Edit/Contribute/Read
使用例:
PermissionLevelMapping="フルコントロール->Full Control"
PermissionLevelMapping="デザイン->Design"
PermissionLevelMapping="編集->Edit"
PermissionLevelMapping="投稿->Contribute"
PermissionLevelMapping="閲覧->Read"
MembershipMapping:
所有者、メンバー、閲覧者の3種類すべてを個別に追加する必要があります。
マッピングの最初の部分のみを移行元テナントの言語に従って変更する必要があります。
使用例:
MembershipMapping="所有者->Owners"
MembershipMapping="メンバー->Members"
MembershipMapping="閲覧者->Visitors"
SharePointの移行でよくある質問
次のセクションでは、SharePointの移行中によくある質問について説明します。
管理者アクセスの確認
SharePoint OnlineまたはOneDrive for Businessの移行を実行するために使用するOffice 365アカウントには、次のOffice 365ロールのいずれかが割り当てられている必要があります。
- グローバル管理者(推奨)
- SharePoint管理者
MicrosoftのMicrosoft 365管理センターで管理者ロールを割り当てるの手順に従い、移行に使用するアカウントにグローバル管理者またはSharePoint管理者ロールを検証して割り当てます。
Office 365で使用可能な管理者ロールの詳細については、 Microsoft 365管理センターの管理者ロールについて を参照してください。
SharePoint URLを検索する
移行元または移行先にSharePointを使用してドキュメント移行プロジェクトを作成する場合は、エンドポイント設定でSharePoint URLを正しく指定する必要があります。
通常はカスタムサイトコレクションが作成され、データを移行したいSharePointサイトに移動すると、URLは次のような形式で表示されます。
https://tenant.sharepoint.com/sites/site-name
このURLはプロジェクトのエンドポイントで指定します。次のURLが表示された場合:
https://tenant.sharepoint.com/sites/site-name/SitePages/page-name.aspx
`SitePages/page-name.aspx` を除外します
サブサイトから移行する場合も同じ書式を使用するので、エンドポイントで https://tenant.sharepoint.com/sites/site-name/sub-site-name を使用します。
ドキュメントライブラリ名の検索
SharePointサイトのほとんどのデータはデフォルトライブラリ内にあり、 共有ドキュメント(Shared Documents) となります。
プロジェクトでドキュメントライブラリとして入力する内容を確認または検索するには、SharePointサイトに移動し、メインページの左側にあるライブラリのいずれかを開きます。URLは次のような形式になります。
https://tenant.sharepoint.com/sites/site-name/Library%20Name/Forms/AllItems.axpx
ドキュメントライブラリ名は Library%20Name の部分なので、「%20」を削除し、プロジェクトでは Library Name を使用します。
サブライブラリの移行
親ライブラリを移行せずにSharePointサブライブラリを指定するには、プロジェクトでアイテムを設定する際にサブライブラリのパスを入力します。
例えば、「Documents」という名前のライブラリと「MigrationWiz」という名前のサブライブラリがある場合、 「MigrationWiz」サブライブラリのみを移行するには、「Documents/MigrationWiz」と入力します。これにより、 「MigrationWiz」のコンテンツのみが移行されます。
親ライブラリ「Documents」は、「MigrationWiz」ライブラリを格納する目的でのみ移行されます。ただし、「Documents」に格納されている他のファイルやフォルダーは移行されません。
移行するすべてのサブライブラリごとに、プロジェクトに新しいラインアイテムを追加する必要があります。
例えば、「Documents/MigrationWiz」および「Documents/Special」の2つは別々に移行する必要があります。ライセンスは別個に2つ必要です。
また、親ライブラリを指定すると、ライブラリ内のすべてのサブライブラリが自動的に移行されます。
SharePointサブサイトの移行
MigrationWizを使用してSharePointのサブサイトを移行するには、移行するサブサイトごとにプロジェクトを作成する必要があります。 プロジェクトの設定時に、サブサイトのパスをSharePointのサイトURLとして使用します。
例えば、サブサイトURLが https://tenant.sharepoint.com/MainSite/Subsite の場合、サイトURLとしてプロジェクトの設定時に入力します。
SharePointドキュメントが「チェックアウト(checked out)」と表示される。
SharePointの一部のバージョンで、編集時にドキュメントを自動的に「チェックアウト(checked out)」として表示するデフォルト設定があります。移行プロセスは、ライブラリのコンテンツを「編集」しているかのように動作するので、これは重要です。ドキュメントを手動で編集できるようにするために、ドキュメントの「チェックアウト」を必要とするライブラリを設定することもできます。どちらのシナリオでも、移行対象の一部であるドキュメントが移行先ライブラリに 「チェックアウト」状態として表示されます。
この設定は、ドキュメントの移行前にチェックイン/チェックアウトオプションを強制的にオフにすることで変更できます。
強制的にドキュメントをチェックアウトすると、ドキュメントの最終更新日が移行によって上書きされます。 ドキュメントの適切な情報を維持するには、以前に移行したファイルを移行先から削除し、ライブラリの設定を変更するか新しく作成して再移行することをお勧めします。
- SharePointの移行先に新しいドキュメントライブラリを作成します。
- 「ライブラリの設定(Library Settings)」をクリックします。
- 「ライブラリの設定(Library Settings)」ページの 「全般設定(General Settings)」で、「バージョン設定(Versioning)」をクリックします。
- 「チェックアウトを必須にする(Require Check Out)」セクションの「ドキュメントを編集する前に必ずチェックアウトする(Require documents to checked before edited?)」で、「いいえ(No)」 を選択します。
- 「OK」をクリックするとダイアログボックスが閉じて、「ライブラリの設定(Library Settings)」ページに戻ります。
- SharePointの移行先の設定を変更して、作成した新しいライブラリを指定します。
- 移行統計情報をリセットします。
- ファイルを移行します。
- 移行が完了したら、チェックアウト要求を有効にすることができます。
または、ドキュメントの最終更新日を考慮しない場合は、次の手順を使用してファイルの一括チェックインを実行することもできます。 ドキュメント ライブラリのファイルのチェックアウトまたはチェックイン。
移行後のデータの不一致
アクセス権限を移行する際に、MigrationWizは移行先SharePointの環境に表示される内容のほぼ2倍を報告します。これは、移行されたアクセス権限の適用時に、SharePointがデータを報告する方法によるものです。
SharePointを移行先として使用する場合、アクセス権限はファイルから独立して移行され、元のファイルが完全に移行された後に適用されます。権限の移行後、対応するファイルに適用されると、SharePointはその権限を同じファイルの新しいバージョンとして検出します。その際、SharePointは適用されたアクセス権限の実際のサイズを報告するかわりに、ファイル全体のサイズを2回目に返します。次に、MigrationWizは元のファイルのサイズを、2回移行されたかのように再度報告します。
プロジェクト内のアイテムの統計には、実際に正しいドキュメントサイズが表示されます。報告された合計サイズが不一致になるのは権限が原因です。権限のサイズよりドキュメントのサイズを正確に報告する必要があります。権限のサイズは非常に小さいため、最終的に報告された2つのサイズは同一に見えます。
これは、SharePointによるデータの報告方法で、現時点では対処法がありません。移行されるのは1回のみですが、データは2回報告されます。
OneDriveおよびSharePointの権限の移行
OneDrive for BusinessまたはSharePointが移行元として設定されているドキュメント移行では、リンク経由で共有されたものではなく直接アクセス(Direct Access)を使用して共有しているファイルとフォルダーの権限のみを移行することができます。
OneDrive for BusinessおよびSharePointのファイルまたはフォルダーの共有方法は、次の4つの方法のいずれかです。
- 特定のユーザー
- すべてのユーザー
- 組織
- 直接アクセス
ファイルまたはフォルダーがアイテムに対して生成されたリンクと共有される場合、これらのリンクはMigrationWizでは認識されず、他のOneDrive for BusinessアカウントおよびSharePointを含めていずれの移行先にも移行されません。
OneDrive for Business移行を実行するには、使用するOffice 365アカウントに次のOffice 365ロールのいずれかが割り当てられている必要があります。
- グローバル管理者(委任権限)
- SharePoint管理者(委任権限)
- SharePointおよびOneDriveのアプリケーションベースの認証(移行元テナントで使用されているフルコントロールアプリケーションのみが権限の移行に使用できます。読み取り専用アプリケーションはアクセス権限を移行しません)。
MicrosoftのMicrosoft 365管理センターで管理者ロールを割り当てるの手順に従い、移行に使用するアカウントにグローバル管理者またはSharePoint管理者ロールを検証して割り当てます。
Office 365で使用可能な管理者ロールの詳細については、 Microsoft 365管理センターの管理者ロールについて を参照してください。
付与される権限
OneDrive for BusinessおよびSharePointのデフォルトの動作として、すべてのフォルダーとアイテムが、階層内ですぐ上にあるフォルダーから権限設定を継承します。フォルダーはルートから権限を継承し、サブフォルダーは親フォルダーから権限を継承します。
特に設定しなければ、MigrationWizは移行中に権限を削除しません。移行後にフォルダーまたは項目が不適切に共有されていることが判明した場合は、権限の継承を解除し、既存の権限を削除します。最後に移行プロジェクトに次のオプションを追加して、明示的な権限のみを移行することができます。
RemoveExistingPermissionsWhenUnspecified=1
このオプションは、「詳細オプション(Advanced Options)」の「サポート(Support)」セクションで「サポートオプション(Support Options)」テキストフィールドに追加します。