SharePoint Onlineのサイトを丸ごと復元するには
はじめに
今回、次の SharePoint Onlineサイトを完全に削除して、CCBのバックアップからサイト丸ごと復元するさいの手順を記載します。
CCBが利用している Microsoft側の API制限により 100%完全一致のサイト復元はできません。
このAPIが扱える対象は、リスト、ライブラリ、アイテム、ページ構成などの一部に限られます。MicrosoftのSaaS設計全体や SharePoint Online 全体の構造・外観・権限を含む、完全なイメージバックアップには対応しておりません。
CCBでは、具体的にはリストデータの一部やナビゲーション構成、テーマ、ブランド要素、WEBパーツの動的構成情報、モダンサイトのホーム設定などが復元されない情報に該当します。こちらリンクで詳細をご確認ください。
https://bnj-gotanda.atlassian.net/wiki/spaces/BE/pages/707330182
サイト名:テストサイト02
サイトアドレス:https://barracuda.sharepoint.com/sites/team_test02
SPOの該当サイトを削除します。(ゴミ箱に残っていると復元できないので、ごみ箱からも完全に削除します。 PowerShellより実施)
リストア
CCBから削除したSharePoint Onlineのサイトを元の場所に復元します。
Teamsテンプレートを利用した SPOサイトの場合は、CCB上で Teamsに分類されるため、SharePoint Onlineのサイトですが、CCBのリストア画面では Teamsからの復元となります。
1: 復元するサイト(今回の例では「テストサイト02」)を選択し、「リストア」をクリックします。
2:「元の場所」を選択して「復元開始」をクリックします。
3: 復元が完了するとレポートに結果が表示されますが、SharePoint Onlineのサイト復元の場合、必ず「警告」のステータスとなります。
これは、サイトの復元に SharePoint Online側の制限でカスタムスクリプトが有効になっている必要があるためです。デフォルトでは無効であるためこのような警告が表示されます。
警告として表示されたアイテムの一覧
アカウント | アイテム | 説明 |
テストサイト02 | Home.aspx | カスタムスクリプトが有効になっていません。サイトのカスタムスクリプトを有効にしてください。 |
テストサイト02 | Frequently-asked-questions.aspx | カスタムスクリプトが有効になっていません。サイトのカスタムスクリプトを有効にしてください。 |
テストサイト02 | ITHelpdeskHome.aspx | カスタムスクリプトが有効になっていません。サイトのカスタムスクリプトを有効にしてください。 |
4: レポートにカスタムスクリプトがサイト上で有効化されていない旨が記載されますので、SharePoint Onlineの該当サイト上でカスタムスクリプトを有効化します。
カスタムスクリプトが「許可済み」となっていることを確認します。
5: CCBから再度該当のサイトを元の場所に復元します。
6: 次のリストアも必ず「警告」のステータスとなります。CCBではすでに同じ名前のファイル名が存在する場合、上書きリストアを行わず、スキップするためです。詳細を確認して、スキップ以外の警告がないか確認します。
「警告」となったアイテム一覧
アカウント | アイテム | 説明 |
テストサイト02 | homepage--network.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--network.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--meeting-laptop.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--woman-in-tech.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--all-connected.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--meeting-laptop.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | 280230490bank.png | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--all-connected.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--it-help.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--virtual-meeting.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--woman-on-phone.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | 3161294353.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--collaboration.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | __siteIcon__.png | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--building.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | 39809707941060b-front.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | homepage--keys.jpg | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | Wireshark-4.4.8-x64.exe | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | WinSCP-6.5.3-Setup.exe | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | ChromeSetup.exe | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | teraterm-5.4.1.exe | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | テストリスト | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | チケット | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | イベント | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | Web テンプレートの拡張機能 | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | デバイス | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
テストサイト02 | Home.aspx | アイテムは既に存在しているためスキップされました。その代わりの場所に戻そうとしています。 |
7: 復元後のサイトを確認します。
CCBのAPIでは復元時にトップページのサイトのページが Home.aspxとなるため、サイトにアクセスするとサイトが正常に復元されていないように思われますが、APIの可能な範囲でサイトの構成ファイルはすべて復元されています。(トップページは、後述する手順 9.で表示させます。)
https://barracuda.sharepoint.com/sites/team_test02
メンバーシップ情報なども復元されています。
サイトコンテンツを見ると元のサイトにはなかった「Site Assets(2)」というフォルダができています。
リソースファイル(Site Assets)は、復元操作においてサイトを作成するのですが、その作成時に生成される特殊ライブラリが Site Assets (2)として内部的に固定されて作成されます。
8: 特殊ライブラリの Site Assets (2)は、内部的に固定されて作成されます。これは後から変更することができません。そのため、元のサイトページのリソースが Site Assets (2) を参照してしまい。ページ画像などの欠落が生じます。そのため、「サイトのリソースファイル」のデータを「Site Assets (2)」に移動する必要があります。直接「移動」や「コピー」ができないので、一度「サイトのリソースファイル」を管理端末にダウンロードしてから、Site Assets (2)にすべてコピーします。
9: その後、サイトのトップページが「サイトコンテンツ」内の「サイトのページ」にある「home.aspx」に置き換わっているため、「サイトページ」から適切な aspxファイルを「このページをホームに指定」を選択します。今回の検証では ITHelpdeskHome.aspxをホームにしてします。
10: 復元後
ほぼ、元のサイトに復元されました。
ただし、テンプレートで採用していた色味やトップのリンクは正常に復元されません。これは、バックアップで取得しているAPIではバックアップ情報に含まれないためです。
モダンサイトの場合はUIの「サイトコンテンツ」からホームの変更が可能ですが、それ以外のサイトでは対応していない場合があり、その場合は PowerShellから変更いただく必要があります。
# SharePoint Online サービスに接続
Connect-SPOService -Url https://<tenant>-admin.sharepoint.com -Credential# ホームページを変更する
et-SPOStartPage -Identity "https://<tenant>.sharepoint.com/sites/team_test02" -StartPage "SitePages/ITHelpdeskHome.aspx"これで、SharePoint Onlineのサイト復元は完了です。