RSS

アーカイブ

画像

Office 365 インポート サービスを使ってファイルをライブラリに一括転送

この投稿は Office 365 Advent Calendar 2015 に参加しています。

SharePoint Online にデータをアップロードする際、Explorer View などの手作業も個人の場合はアリですが、大規模な既存のネットワーク共有システムからの移行であれば、Office 365 インポート サービスを使えば、スクリプトを組むなりすれば、手動でやるよりも楽に移行ができます。

TechNet のちょっとわかりにくい? Office 365 インポート サービスの使い方の基本をなるべくわかりやすく、手順をそのまま追うだけで実施できるようにしてみましたので、参考にしてください。
また、機会があれば、他のシナリオについても追加していく予定です。

今回のシナリオ

  • PC のドキュメントに [2015年のドキュメント] フォルダーがある。
  • このフォルダー内には、多数のファイルやサブフォルダーが存在する。
  • Office 365 インポート サービスを使って、サブフォルダー込みで、一括で チーム サイトのドキュメント ライブラリーに転送する。

事前に準備しておくこと

大まかな手順の概要

  1. SharePoint Online Management Shell で、SharePoint Online に接続
  2. Azure Blob Storage へ接続するための “アカウント キー” と “ネットワーク アップロード URL” の確認
  3. SharePoint Online Migratioin パッケージの作成
  4. SharePoint Online に Upload するコンテンツ パッケージに変換
  5. Azure Blob Storage にパッケージをアップロード
  6. マッピング ファイルをアップロード
  7. ファイル転送のステータスを確認

Step-by-Step での手順

SharePoint Online Management Shell で、SharePoint Online に接続

  • Office 365 インポート サービスを利用する時は、ブラウザーからの管理画面からのアクセスと共に、SharePoint Online Management Shell という PowerShell ベースの管理 Shell を使います。
  • まずは、起動からです。
    1. スタート メニューから “SharePoint Online Management Shell” を探し、右クリック メニューから [管理者として実行] をクリックします。
      管理者として実行しないと、必要なモジュールをインポートする時に、アクセス権がなく、モジュールが見つからない、といったエラーが出ます。
    2. 初めて PowerShell を実行する時は、スクリプトを実行できるように PowerShell が構成されているか、ポリシーを確認するために次のコマンドを入力します。

      > Get-ExecutionPolic

    3. “Unrestricted” とか “RemoteSigned” 以外が表示されたら、このポリシーを次のコマンドで変更します。

      >Set-ExecutionPolicy RemoteSigned

    4. すると、本当に変更してもいいの?みたいなことを聞いてくるので、”Y” を入力して Enter を押します。
  • 次に、管理者アカウントを使って、SharePoint Online に接続します。
    1. 次のように入力します。

      > Connect-SPOService -Url https://<テナント名>-admin.sharepoint.com -Credential <テナント管理者のアカウント>

    2. 実行すると、サインイン画面がでてくるので、パスワードを入力して [OK] ボタンをクリックします。
      O365Import_SPOMgmtShell002

Azure Blob Storage へ接続するための “アカウント キー” と “ネットワーク アップロード URL” の確認

  • Office 365 インポート サービスでは、Azure Blob Storage と呼ばれる、一時的にデータを格納しておけるステージング領域に、データを含むパッケージをアップロードしてから、テナントのパフォーマンスの状態をみながら、指定した場所にファイルをコピー (インポート) します。
    この Azure Blob Storage に接続するために必要な、”アカウント キー” と “ネットワーク アップロード URL” を次の手順で確認します。

    1. ブラウザーから、Office 365 管理センターを開きます。
    2. Office 365 管理センターの左メニューから、[インポート] をクリックすると、”Office 365 へのファイルのインポート” 画面が表示されます。
    3. 画面内の + ボタンをクリックし、プルダウン メニューから [ネットワーク経由でファイルをアップロードする] をクリックします。
    4. “ネットワーク経由でのファイルのアップロード” の新規ジョブ ウィンドウが新たに開くので、そこから次の情報を入手して、メモ帳などにコピーして控えておきます。
      1. “セキュリティ保護記憶域アカウント キーのコピー” から “キーの表示” をクリックします。
      2. “セキュリティで保護されたネットワーク アップロード URL をコピーします。” から “SharePoint/OneDrive for Business ドキュメントの URL を表示します” をクリックします。O365Import_SPOMgmtShell003

SharePoint Online Migratioin パッケージの作成

  • 続いて、SharePoint Online のチーム サイトのライブラリへ移行したい ファイルとフォルダーをまとめたパッケージを作成します。
  • 先に以下に必要な情報をまとめておきます。
    • 移行元のファイルの場所 : C:\Users\<ユーザー名>\Documents\2015年のドキュメント
    • パッケージ化したファイルを保存する場所 : C:\FirstPackage
  • 今回はローカルにあるファイルをパッケージにしますので、SharePoint Online Management Shell を使って次の手順を実施します。

> New-SPOMigrationPackage -SourceFilesPath C:\users\<ユーザー名>\Documents\2015年のドキュメント -OutputPackagePath C:\FirstPackage (-NoADLookup)

Tips!  – 利用している PC が AD ドメインに参加してない場合、本来このコマンドは AD ドメイン上の共有からの移行を前提としているためパッケージ化を実施する際に、権限の確認のため LDAP サーバーにアクセスします。LDAP サーバーにアクセスできない場合は、エラーが出力されます。ご利用の PC がドメインに参加していない場合でエラーが表示される方は、-NoADLookup オプションをつけてください。

SharePoint Online に Upload するコンテンツ パッケージに変換

  • 次に、作成したパッケージを、移行させたいパッケージのファイルが元のファイルと一致しているかどうか、移行先のサイト コレクションとライブラリの確認を行って、最終パッケージに変換します。
  • コマンドを実行する前に、以下の情報をまとめておきます。
    • 移行先のサイト コレクション URL とライブラリ名の確認
      1. 移行したいチーム サイトにアクセスし、画面右上の歯車アイコンから [サイトの設定] をクリックします。
      2. サイトの設定画面から、サイトの管理項目内の “サイトのライブラリとリスト” をクリックします。
      3. “ドキュメントのカスタマイズ” をクリックし、ドキュメントの設定画面をみると、Web アドレスの情報が下記のように表示されています。
        O365Import_TeamSite001
      4. https://<テナント名&gt;.sharepoint.com の部分が、移行先のターゲット URL になり、<ライブラリ名> (画像では “Shared Documents” の部分) が、移行先のターゲット ライブラリになります。
    • 最終パッケージの保存先を作成しておきます。 (今回は仮に C:\FinalPackage )
  • 情報がそろったら、次のようにコマンドを入力します。

> ConvertTo-SPOMigrationTargetedPackage -SourceFilesPath C:\Users\<ユーザー名>\Documents\2015年のドキュメント -SourcePackagePath C:\FinalPackage -TargetWebUrl https://<テナント名&gt;.sharepoint.com -TargetDocumentLibraryPath “Shared Documents

  • コマンド実行後、再度サインイン画面が出てくることがあるので、その際は管理者アカウントとパスワードで再度サインインしてください。

Azure Blob Storage にパッケージをアップロード

  • いよいよ、最終パッケージをオンライン上の Azure Blob Storage にアップロードします。
  • コマンドを実行する前に、以下の情報をまとめておきます。
    • -SourceFilesPath -> 元のファイル・フォルダーへの Path。 C:\Users\<ユーザー名>\Documents\2015年のドキュメント
    • -SourcePackagePath -> 最終パッケージ変換後のファイルの Path。 C:\FinalPackage
    • -AccountName -> 手順 2. で控えておいた “セキュリティで保護されたネットワーク アップロード URL の赤字部分 ( 例: https://12ab34567c890de1f23gh4i.blob.core.windows.net/ )
    • -AccountKey -> 手順 2. で控えておいた “セキュリティ保護記憶域アカウント キー”
    • -FileContainerName  -> あとで使うマッピング ファイルの入力に必要なので、任意の値で OK。以下の例では “TeamFiles” と入力してあります。
    • -PackageContainerName -> package と入力 (あとで使うマッピング ファイルの入力に必要なので、任意の値で OK。以下の例では “TeamPackage” と入力してあります。
  • 情報がそろったら、次のようにコマンドを入力します。

> Set-SPOMigrationPackageAzureSource -SourceFilesPath C:\Users\<ユーザー名>\Documents\2015年のドキュメント -SourcePackagePath C:\FinalPackage -AccountName 12ab34567c890de1f23gh4i -AccountKey xxxxxxxxxxxxxx== -FileContainerName TeamFiles -PackageContainerName TeamPackage

マッピング ファイルをアップロード

  • 最後に、マッピング ファイルをアップロードして、データのインポートを開始します。
  • マッピング ファイルは、単純な CSV 形式のファイルで、TechNet のサイトにあるとおりですが、こちらにサンプル ファイルを置いておきます。
  • マッピング ファイルで入力が必要な項目と値は次の通りです。
    • Workload -> SharePoint
    • SPFileContainer -> TeamFiles
    • SPManifestContainer -> TeamPackage
    • SPSiteUrl -> https://<テナント名&gt;.sharepoint.com
  • Office 365 管理センターの [インポート] に戻り、Office 365 へのファイルのインポート画面から、[ネットワーク経由でのファイルのアップロード] をクリックして開き、次の手順でマッピング ファイルをアップロードします。
    1. “*ファイルのアップロードを完了しました” にチェックを入れます。
    2. “*マッピング ファイルにアクセスできます” にチェックを入れます。
    3. [次へ] ボタンをクリックします。
      O365Import_MapFile001
    4. 名前を入れて、[次へ] ボタンをクリックします。(今回はこんな感じの名前にしました。teamsitedoc-20151215)
    5. マッピング ファイルのアップロード画面で、+ をクリックして、作成した csv ファイルを選択し、”*このボックスをオンにすると、同意したことになります使用条件*このサービス” にチェックをいれ、[完了] ボタンをクリックします。
      O365Import_MapFile003
  • これで、Azure Blob Storage (ステージング領域) から、マッピング ファイルに従って、データがチーム サイトのドキュメント ライブラリにインポートされます。

ファイル転送のステータスを確認

  • Office 365 管理センターの [インポート] をクリックして、Office 365 へのファイルのインポート画面を開きます。
  • 先ほどアップロード したマッピング ファイルが表示され、ステータスに状態が表示されます。
  • “インポートしています” の状態から “完了” になりましたら、右ペインの ”詳細の表示” をクリックして、インポートが成功したか失敗したかを確認できます。

*インポートしたファイルは、更新者が “システム アカウント” として保存されています。

ファイル転送が失敗した場合は、マッピング ファイルの記述や、パッケージ化した時の URL の指定などが間違っていないかのチェックのほかに、Azure Explorer などを使って、エラーの詳細情報を見ることができます。
これについては、またいずれ。。。

参考 Link

 
コメントする

投稿者: : 2015-12-15 投稿先 Office 365