メインコンテンツにスキップ

PowerShell を使用して移行用の新しい Teams フォルダーを作成する

注: PowerShellとの連携には、ShareGate MigrateのProまたはEnterpriseサブスクリプションが必要です。Essentialsプランでは利用できません。

このガイドを使用すると、移行スクリプトを実行する前に、Teams の General チャネルの [ファイル] タブに新しいフォルダーをプロビジョニングできます。

前提条件

  • グローバル管理者または SharePoint 管理者の権限を持っていること。

  • Explorer で Microsoft 365 管理センターに接続していること。

  • Teams がプロビジョニングされていること。

注: より上位の管理者権限を持っている場合でも、各 Team サイトでサイト コレクション管理者である必要があります。スクリプトには、各フォルダーの作成に必要なサイト コレクション管理者権限を適用するための Add-SiteCollectionAdministrator コマンドが含まれています。追加された権限は、その後 Remove-SiteCollectionAdministrator コマンドを使用して削除されます。

スクリプトの準備

次の手順で、ローカルドライブにフォルダーを作成し、すべての Teams サイトの CSV リストを作成します。

  1. ローカルドライブに新しいフォルダーを作成します。

  2. Teams の General フォルダーに合わせて、任意の名前をフォルダーに付けます(例: C:\Migrated data)。
    フォルダーのパスをメモしておきます。

  3. ShareGate Migrate で、サイドバーから All reports に移動します。

  4. 右上にある Create custom report をクリックします。

  5. オブジェクトタイプとして Microsoft 365 group を選択します。

  6. Filters で Is team connected Is Yes を選択します。

  7. Columns で、Associated site address を Selected Columns のリストに追加します。

  8. Continue without saving をクリックします。

  9. テナントを選択し、Next をクリックします。

  10. Run now をクリックします。

  11. リストの上部にあるチェックボックスを選択して、レポートに含まれるすべての Teams を選択します。

  12. 右上にある Export をクリックします。

  13. ファイルを保存して Excel で開き、次の操作を行います。

    • Display name、Email address、Is team connected の列を削除します。

    • Associated site address 列の名前を SITEURL に変更します。

  14. このファイルを CSV としてローカルドライブに保存します(例: C:\foldermigration.csv)。
    CSV ファイルのパスをメモしておきます。

スクリプトを作成する

# Define the CSV file path
$csvFile = "C:\foldermigration.csv"

# Import the CSV file
$table = Import-Csv $csvFile -Delimiter ","

# Define credentials
$MyPassword = ConvertTo-SecureString 'My password' -AsPlainText -Force
$MyUsername = "My username"

# Set variables for site and list operations
Set-Variable dstSite, dstList

# Loop through each row in the CSV
foreach ($row in $table) {
# Clear previous values of variables
Clear-Variable dstSite
Clear-Variable dstList

# Connect to the site
$dstSite = Connect-Site -Url $row.SITEURL -UserName $MyUsername -Password $MyPassword

# Add site collection administrator
Add-SiteCollectionAdministrator -Site $dstSite

# Get the "Documents" list from the site
$dstList = Get-List -Name Documents -Site $dstSite

# Import documents to the "General" folder in the destination list
Import-Document -SourceFilePath "C:\Migrated data" -DestinationList $dstList -DestinationFolder "General"

# Remove site collection administrator permissions
Remove-SiteCollectionAdministrator -Site $dstSite
}

お使いの環境で動作するようにスクリプトを調整してください。以下にいくつかのガイドラインを示します。

  • $csvFile: 以前に保存した CSV ファイルを指すようにパスを調整します。

  • $table: 区切り文字は、CSV の行内の項目を区切る記号です。スクリプトがファイルと同じ区切り文字を使用していることを確認してください(メモ帳で CSV を開くと簡単に確認できます)。

  • $MyPassword と $MyUsername: 'My password' と "My username" を、お使いの Microsoft 365 の資格情報に置き換えます。

  • Connect-site: SharePoint サイトに接続するためのコマンドです。認証方法を変更する必要がある場合は、サイトの接続を参照してください。ブラウザー認証を使用する場合は、以前のブラウザー接続の資格情報を使用するを参照してください。

  • Set-Variable と Clear-Variable: これらのコマンドは、接続エラーによってフォルダーがコピーされなくなる問題を防ぐのに役立ちます。

  • foreach: foreach を使用して、CSV ファイル内の値をループ処理します。詳細についてはこちらを参照してください。

  • -SourceFilePath: 手順(2)で作成したフォルダーパスで "C:\Migrated data" を置き換えます。

  • Add-SiteCollectionAdministrator: 移行の前に、ユーザーアカウントをサイト コレクション管理者として追加します。詳細については、サイト コレクション管理者の追加を参照してください。

  • Remove-SiteCollectionAdministrator: 移行後に、ユーザーアカウントをサイト コレクション管理者から削除します。詳細については、サイト コレクション管理者の削除を参照してください。

スクリプトを適切に調整してテストした後、実行してください。

この記事はAIによって翻訳されています。ご不明な点がある場合は、英語の原文をご確認ください。

こちらの回答で解決しましたか?