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

PowerShell でマッピングを使用する

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

PowerShell のマッピング コマンドは、ShareGate Migrate で使用できるマッピング オプションを再現するもので、移行をより細かく制御できるようにします。

マッピングの動作

ShareGate Migrate で独自のマッピングを設定すると、同じソースとコピー先で今後実行する移行のために、そのマッピングが自動的に保持されます。

ユーザーとグループアクセス許可レベルサイト テンプレートのマッピングは、マッピングを保存する際にサブサイトまたはリスト レベルで接続していても、サイト コレクション レベルで保存されます。

プロパティコンテンツ タイプのマッピングは、リスト レベルで保存されます。

マッピングの種類

ShareGate Migrate では、さまざまな要素をマッピングできます。マッピングの種類は次のとおりです。

マッピング コマンド

各マッピングの種類に対して使用できる PowerShell コマンドは 6 つあります。これらのコマンドは次のとおりです。

  • マッピングの設定: スクリプト内で新しいマッピングを作成します。

  • マッピングのエクスポート: マッピングを ShareGate Migrate のマッピング ファイルとしてエクスポートします。

  • マッピングのインポート: ShareGate Migrate のマッピング ファイルからマッピングをインポートします。

  • マッピングの取得: 別のソースとコピー先で保存されているマッピングを取得します。

  • マッピングの保存: ソースとコピー先のマッピングを保存します。

  • マッピングの削除: 既存のマッピングから特定のマッピング項目を削除します。

注: PowerShell スクリプトでマッピングを設定しても、ソースとコピー先に対して自動的に保存されるわけではありません。今後の移行のためにこれらのマッピングを保持するには、マッピングの保存コマンドを使用してください。

マッピング ファイルを生成し、さまざまなマッピング コマンドを使用してスクリプトを作成する方法を紹介します。この例では、よくあるシナリオであるユーザーとグループのマッピングを示していますが、同じ原則はすべてのマッピングの種類に適用できます。

UI からマッピング ファイルをエクスポートする

  1. ShareGate Migrate を開きます。

  2. メニュー バーで Copy を選択します。

  3. Copy structure を選択します。

  4. ソース サイトとコピー先サイトに接続します。

  5. Mappings をクリックします。

  6. Export user and group mappings アイコンをクリックします。

  7. SGUM ファイルをドライブに保存します。

ヒント: 複雑な、または全社的なユーザー マッピング ファイルを作成する方法については、CSV ファイルからユーザー マッピングを作成するの記事を参照してください。

PowerShell スクリプトでマッピングを使用する

Import-Module Sharegate

# Create a new mapping settings object
$mappings = New-MappingSettings

# Import user and group mappings from an external file
$mappings = Import-UserAndGroupMapping -MappingSettings $mappings -Path "C:\MyMappings\MyUserAndGroupMappingsFileName.sgum"

# Set mapping for unresolved users or groups to be assigned to the 'Inactive users group'
$mappings = Set-UserAndGroupMapping -MappingSettings $mappings -UnresolvedUserOrGroup -Destination "Inactive users group"

# Set mapping for a specific user from 'John Smith' to 'John Doe'
$mappings = Set-UserAndGroupMapping -MappingSettings $mappings -Source "John Smith" -Destination "John Doe"

# Remove a specific mapping for 'John Smith'
$mappings = Remove-UserAndGroupMapping -MappingSettings $mappings -Source "John Smith"

# Connect to the source site
$srcSite = Connect-Site -Url "http://myfarm1/sites/mysourcesite"

# Connect to the destination site
$dstSite = Connect-Site -Url "http://myfarm1/sites/mydestinationsite"

# Copy the source site to the destination site using mapping settings, enabling merge and subsites
Copy-Site -Site $srcSite -DestinationSite $dstSite -MappingSettings $mappings -Merge -Subsites

  • New-MappingSettings: このコマンドは、ソースとコピー先について以前に保存したマッピングをすべて上書きします。

  • $mappings: この変数を繰り返し使用し、各行に -MappingSettings $mappings を追加して、マッピングに要素を追加したり、マッピングから要素を削除したりします。

  • Import-UserAndGroupMapping: ユーザー マッピング ファイルをインポートします。このファイルには多数のユーザー マッピングを含めることができます。

  • Set-UserAndGroupMapping: 新しいユーザー マッピングを追加します。この場合、Import-UserAndGroupMapping で確立したマッピングにマッピングを追加します。

    • -Source と -Destination: -Source でマッピングしたい値を設定し、-Destination で新しい値を設定します。

  • -UnresolvedUserOrGroup: すべての孤立ユーザーを別のユーザー アカウントまたはセキュリティ (Active Directory) グループにマッピングする場合は、-Source-UnresolvedUserOrGroup に置き換えることができます。

  • Remove-UserAndGroupMapping: ユーザー マッピングを削除します。この場合、前の $mappings の行で確立したマッピングから、ユーザー マッピングを差し引きます。

  • Copy Site: サイトをコピーするためのコマンドです。$mappings 変数で確立したマッピングを適用するには、-MappingSettings $mappings を追加します。

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

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