現象
Web パーツを移行しようとすると、ShareGate Migrate に次のメッセージが表示されます。
Unable to create or update WebPart. In Microsoft 365, this is mainly caused by the farm setting "Custom Script" being deactivated.
目次
エラー コード
WP-027-076
DA-165-076
詳細
Microsoft 365 には Custom Script という設定があり、管理者はサイトでカスタム スクリプトを有効にするか無効にするかを選択できます。
Web パーツはカスタム スクリプトとして機能するため、カスタム スクリプトが無効になっていると、ShareGate Migrate は Web パーツを移行できません。
注: カスタム スクリプト機能は、既定で次に対して無効になっています。
個人用サイト
セルフサービスで作成されたサイト
テナントのルート サイト コレクション
解決策
クラシック サイトへの移行
設定でカスタム スクリプトを有効にして、移行を再試行する必要があります。
カスタム スクリプトを有効にするには:
Microsoft 365 にサインインします
アプリ起動ツールのアイコンをクリックします
Admin をクリックします
Settings を選択します
Custom Script で、次を選択します:
個人用サイトでのカスタム スクリプトの実行をユーザーに許可する。
セルフサービスで作成されたサイトでのカスタム スクリプトの実行をユーザーに許可する。
OK をクリックします
この設定の変更が反映されるまで、24 時間かかります。
カスタム スクリプトの詳細については、こちらをクリックしてください。
モダン サイトへの移行
SharePoint admin または Global admin 権限がない場合、移行中にモダン サイトで Custom Script 機能を自動的に有効化することはできません。そのため、ShareGate Migrate はフォーム、Web パーツ、ASPX ページを移行できません。
カスタム スクリプトの詳細については、Microsoft の記事「Allow or prevent custom script」を参照してください。
注: モダン サイトを SharePoint で作成すると、テナント レベルで有効にしていても、そのサイトでは Custom Script が無効になります。
注: Microsoft は、2027 年 3 月 1 日から段階的に、SharePoint Online のクラシック ページとカスタム スクリプトを廃止します。一部のテナントでは、この設定をまったく有効にできなくなります。作業を進める前に、「Microsoft のクラシック ページとカスタム スクリプトの廃止: 移行への影響」を参照してください。
SharePoint admin または Global admin 権限を使用する
SharePoint admin または Global admin 権限を使用している場合、アプリは移行中に自動的にカスタム スクリプトを有効化できます。
サイト コレクション管理者権限がある場合は、以下の手順で SharePoint admin または global admin に、サイト コレクションでカスタム スクリプトを手動で有効化するよう依頼できます。
Microsoft 365 でカスタム スクリプトを手動で有効化する
PowerShell を使用して Microsoft 365 のサイト コレクションでカスタム スクリプトを有効化するには、次の手順に従います。
SharePoint Online Management Shell をダウンロードします。
SharePoint Online Management Shell プロンプトを開きます。
次の 2 つのコマンドを実行します:
Connect-SPOService -Url https://YourDomain-admin.sharepoint.com
Set-SPOSite -Identity https://YourDomain.sharepoint.com/sites/YourSite -DenyAddAndCustomizePages 0
移行を再度実行すると、正常に動作するはずです。
注: 移行が完了したら、Custom Script を denied に戻すことをお勧めします。そのためには、スクリプトを再度実行し、今回は -DenyAddAndCustomizePages の値を「1」に変更してください。
SharePoint 2019 でカスタム スクリプトを手動で有効化する
PowerShell を使用して SharePoint 2019 のサイト コレクションでカスタム スクリプトを有効化するには、次の手順に従います。
Windows PowerShell または Windows PowerShell ISE ウィンドウを開きます。
サイト コレクションで次のスクリプトを実行します:
$site = Get-SPSite -Identity "http://yourfarm/sites/yoursite"
$site.DenyPermissionsMask = [Microsoft.SharePoint.SPBasePermissions]::EmptyMask
移行を再度実行すると、正常に動作するはずです。
この記事は人工知能を使用して翻訳されました。疑問がある場合は、元の英語版をご確認ください。
