注: PowerShell 統合には、ShareGate Migrate の Pro または Enterprise サブスクリプションが必要です。Essentials プランでは利用できません。
PowerShell のマッピング コマンドは、ShareGate Migrate で使用できるマッピング オプションを再現するもので、移行をより細かく制御できるようにします。
マッピングの動作
ShareGate Migrate で独自のマッピングを設定すると、同じソースとコピー先で今後実行する移行のために、そのマッピングが自動的に保持されます。
ユーザーとグループ、アクセス許可レベル、サイト テンプレートのマッピングは、マッピングを保存する際にサブサイトまたはリスト レベルで接続していても、サイト コレクション レベルで保存されます。
プロパティとコンテンツ タイプのマッピングは、リスト レベルで保存されます。
マッピングの種類
ShareGate Migrate では、さまざまな要素をマッピングできます。マッピングの種類は次のとおりです。
プロパティ (Copy-Content でのみ使用)
コンテンツ タイプ (Copy-Content でのみ使用)
サイト テンプレート (Copy-Site でのみ使用)
マッピング コマンド
各マッピングの種類に対して使用できる PowerShell コマンドは 6 つあります。これらのコマンドは次のとおりです。
マッピングの設定: スクリプト内で新しいマッピングを作成します。
マッピングのエクスポート: マッピングを ShareGate Migrate のマッピング ファイルとしてエクスポートします。
マッピングのインポート: ShareGate Migrate のマッピング ファイルからマッピングをインポートします。
マッピングの取得: 別のソースとコピー先で保存されているマッピングを取得します。
マッピングの保存: ソースとコピー先のマッピングを保存します。
マッピングの削除: 既存のマッピングから特定のマッピング項目を削除します。
注: PowerShell スクリプトでマッピングを設定しても、ソースとコピー先に対して自動的に保存されるわけではありません。今後の移行のためにこれらのマッピングを保持するには、マッピングの保存コマンドを使用してください。
例
マッピング ファイルを生成し、さまざまなマッピング コマンドを使用してスクリプトを作成する方法を紹介します。この例では、よくあるシナリオであるユーザーとグループのマッピングを示していますが、同じ原則はすべてのマッピングの種類に適用できます。
UI からマッピング ファイルをエクスポートする
ShareGate Migrate を開きます。
メニュー バーで Copy を選択します。
Copy structure を選択します。
ソース サイトとコピー先サイトに接続します。
Mappings をクリックします。
Export user and group mappings アイコンをクリックします。
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によって翻訳されています。ご不明な点がある場合は、英語の原文をご確認ください。
