カスタム スクリプトを許可または禁止する

Microsoft 365 の SharePoint 管理者 は、ユーザーが組織の目的や個々のニーズを満たすためにサイトやページの外観、感じ、動作を変更できるようにする方法として、カスタム スクリプトを許可できます。 カスタム スクリプトを許可する場合、サイトまたはページに 対する [ページの追加とカスタマイズ] アクセス許可を持つすべてのユーザーは、必要なスクリプトを追加できます。 (既定では、サイトを作成するユーザーはサイト所有者であるため、このアクセス許可を持っています)。

注:

サイトの外観を変更する簡単な方法については、「SharePoint サイトの外観を変更する」をご覧ください。

既定では、管理者が SharePoint 管理センターを使用して作成するほとんどのサイトと、New-SPOSite PowerShell コマンドを使用して作成されたすべてのサイトではスクリプトは許可されません。 OneDrive にも同じことが当てはまります。ユーザーが作成するサイト、最新のチームとコミュニケーション サイト、組織のルート サイトです。 カスタム スクリプトのセキュリティへの影響の詳細については、「カスタム スクリプトを許可する場合のセキュリティに関する考慮事項」をご覧ください。

重要

SharePoint が 2015 より前に組織に対して設定されていた場合、SharePoint 管理センターでユーザーがカスタム スクリプトを実行できないように設定されているように見えても、カスタム スクリプト設定は未 構成 に設定されている可能性があります。 この場合、ユーザーは、SharePoint サイト間、および OneDrive と SharePoint 間でアイテムをコピーできません。 SharePoint 管理センターの [設定] ページで、表示されるカスタム スクリプト設定をそのまま使用するには、[OK] を選択し、クロスサイト コピーを有効にします。 OneDrive と SharePoint の間でアイテムをコピーする方法の詳細については、「OneDrive サイトと SharePoint サイト間でファイルとフォルダーをコピーする」を参照してください。

OneDrive 上またはユーザーが作成したサイト上でカスタム スクリプトを許可するには

注:

この機能は、H1 暦 2024 年中に削除されます。 削除すると、OneDrive サイトでカスタム スクリプトを許可できなくなります。

SharePoint 管理センターでは、ユーザーが OneDrive (個人用サイトと呼ばれる) または作成したすべてのクラシック チーム サイトでカスタム スクリプトを実行することを許可することができます。 ユーザーによるサイト作成の許可については、「SharePoint のサイト作成を管理する」をご覧ください。

注意

組織内のサイトでカスタム スクリプトを許可する前に、セキュリティへの影響について十分にご確認ください。

  1. SharePoint 管理センターの [設定] に移動し、組織の管理者権限を持つアカウントでサインインします。

    注:

    21Vianet (中国) によって運用されている Office 365 を使用している場合は、Microsoft 365 管理センターにサインインし、次に SharePoint 管理センターに移動して [設定] ページを開きます。

  2. ページの下部で、[従来の設定ページ] を選択します。

  3. [カスタムスクリプト]で、次を選択します:

    • [個人用サイトでユーザーがカスタム スクリプトを実行できるようにする]

    • [セルフサービスで作成されたサイトでユーザーがカスタム スクリプトを実行できるようにする]

    SharePoint 管理センターの [設定] ページの [カスタム スクリプト] セクションのスクリーンショット。

    注:

    セルフ サービスのサイト作成では、既定で組織のルート サイトが指定されるので、カスタム スクリプト設定を変更すると、組織のルート サイトでカスタム スクリプトが許可されます。 サイトの作成場所の変更については、「SharePoint のサイト作成を管理する」をご覧ください。

  4. [OK] を選択します。 通常、変更が有効になるまでに最大 24 時間かかります。

他の SharePoint サイトでカスタム スクリプトを許可するには

注意

組織内のサイトでカスタム スクリプトを許可する前に、セキュリティへの影響について十分にご確認ください。

特定のサイト (以前はサイト コレクションと呼ばれる) でカスタム スクリプトをすぐに許可するには、次の手順に従います。

  1. 最新の SharePoint Online 管理シェルをダウンロードします

    注:

    以前のバージョンの SharePoint Online 管理シェルをインストールした場合は、[プログラムの追加と削除] に移動し、 SharePoint Online 管理シェルをアンインストールします

  2. Microsoft 365 で SharePoint 管理者として SharePoint に接続します。 方法の詳細については、「SharePoint Online 管理シェルの使用を開始する」を参照してください。

  3. 次のコマンドを実行します。

    Set-SPOSite <SiteURL> -DenyAddAndCustomizePages 0
    

    または PnP.PowerShell コマンドレット Set-PnPSite を使用して

    Set-PnPSite -Identity <SiteURL> -NoScriptSite $false
    

クラシック チーム サイトのこの設定を変更すると、24 時間以内に管理センターの [カスタム スクリプト] 設定によってオーバーライドされます。

注:

個々のユーザーの OneDrive に対してカスタム スクリプトを許可または禁止することはできません。

SharePoint 管理センターからカスタム スクリプトを管理する

注:

SharePoint テナント管理センターに新しいオプションが表示されない場合、この機能はまだテナントで有効になっていません。 すべての顧客は、2024 年 6 月末までにこの新しい機能セットを有効にします

テナント管理者は、SharePoint テナント管理で組織内のカスタム スクリプトを管理するための一連のツールを使用できます。 具体的には、テナント管理者は次の操作を実行できます。

  • カスタム スクリプトの状態を確認する
  • カスタム スクリプト設定を変更する
  • カスタム スクリプト設定を保持する

カスタム スクリプトの状態を確認する

[サイト] の [アクティブなサイト] ページで、新しい [カスタム スクリプト] 列を使用できるようになりました。

カスタム スクリプト列が表示されているアクティブなサイト ビューのスクリーンショット。

列は任意のビューに追加できます。 カスタム スクリプトが 有効になっているすべてのサイトに簡単にアクセスできるように、新しいカスタム スクリプト許可サイトも使用できます。

カスタム スクリプト設定を変更する

[ アクティブなサイト ] ページで、サイトを選択すると、[ 設定] の [ カスタム スクリプト ] 設定を管理者が使用できます。

[カスタム スクリプト] 設定のスクリーンショット。

管理者は、特定のサイトのカスタム スクリプト設定を制御できます。特定のサイトでカスタム スクリプトを許可またはブロックするかどうかを決定する:

[カスタム スクリプト] の値のスクリーンショット。

既定では、特定のサイトのカスタム スクリプト設定に対する変更は、最大 24 時間だけ続きます。 その後、設定はその特定のサイトの元の値にリセットされます。

カスタム スクリプト設定を保持する

SharePoint がカスタム スクリプト設定を元の値にテナント全体にリセットできないようにするには、次の手順に従います。

  1. 最新の SharePoint Online 管理シェルをダウンロードします

    注:

    SharePoint Online 管理シェルの以前のバージョンがインストールされている場合は、[プログラムの追加と削除] に移動して、"SharePoint Online 管理シェル" をアンインストールします。

  2. Microsoft 365 で SharePoint 管理者として SharePoint に接続します。 方法の詳細については、「SharePoint Online 管理シェルの使用を開始する」を参照してください。

  3. 次のコマンドを実行します。

    Set-SPOTenant -DelayDenyAddAndCustomizePagesEnforcement $True
    

注:

この設定は、すべてのサイトに影響します。 カスタム スクリプト設定の変更を一部の特定のサイトでのみ保持するオプションはありません。 このパラメーターは、2024 年 11 月まで使用できます。 その日付以降、SharePoint がカスタム スクリプト設定をすべてのサイトの元の値にリセットできないようにすることはできなくなります。 OneDrive と SharePoint で Multi-Geo 機能が構成されているコマンドを実行すると、コマンドを実行した現在の geo にのみ影響します。 テナント全体でカスタム スクリプト設定を保持するには、各 geo でコマンドを実行する必要があります。

カスタム スクリプトがブロックされている場合に影響を受ける機能

OneDrive 上またはユーザーが作成した従来のチーム サイト上で、ユーザーによるカスタム スクリプトの実行が禁止されると、サイトの管理者と所有者は、テンプレート、ソリューション、テーマ、ヘルプ ファイル コレクションなどの新しいアイテムを作成できなくなります。 過去にカスタム スクリプトを許可していた場合、作成済みのアイテムは引き続き動作します。

カスタム スクリプトの実行が禁止されると、次のサイト設定が使用できなくなります。

サイトの機能 動作 メモ
テンプレートとしてサイトを保存 サイトの設定では利用できません。 カスタム スクリプトがブロックされる前に作成したテンプレートからは引き続きサイトを構築できます。
ドキュメント ライブラリをテンプレートとして保存 ライブラリの設定では利用できません。 カスタム スクリプトがブロックされる前に作成したテンプレートからは引き続きドキュメント ライブラリを構築できます。
リストをテンプレートとして保存する リスト設定で使用できなくなりました ユーザーは、カスタム スクリプトがブロックされる前に作成されたテンプレートからリストを作成できます。
ソリューション ギャラリー サイトの設定では利用できません。 カスタム スクリプトがブロックされる前に作成したソリューションは引き続き使用できます。
テーマ ギャラリー サイトの設定では利用できません。 カスタム スクリプトがブロックされる前に作成したテーマは引き続き使用できます。
ヘルプの設定 サイトの設定では利用できません。 カスタム スクリプトがブロックされる前に利用できていたヘルプ ファイル コレクションには引き続きアクセスできます。
サンドボックス ソリューション ソリューション ギャラリーはサイトの設定では利用できません。 サンドボックス ソリューションの追加、管理、アップグレードができなくなります。 カスタム スクリプトがブロックされる前に展開されていたサンドボックス ソリューションは引き続き実行できます。
SharePoint Designer HTML 以外のページの更新ができなくなります。
リストの処理: [フォームの作成]、[カスタム アクション] は機能しなくなります。
サブサイト: [新しいサブサイト] と [サイトの削除] を実行すると、ブラウザーの [サイトの設定] ページにリダイレクトされます。
データ ソース: [プロパティ] ボタンは利用できなくなります。
一部のデータ ソースのみ開くことができます。 SharePoint Designer でカスタム スクリプトが許可されていないサイトを開くには、まずカスタム スクリプトが許可されているサイトを開く必要があります。
スクリプトが含まれている可能性のあるファイルのアップロード 次の種類のファイルをライブラリから開くことができません
.asmx
.ascx
.aspx
.htc
.jar
.master
.swf
.xap
.xsf
ライブラリ内の既存のファイルに影響はありません。
コンテンツ タイプへのドキュメントのアップロード コンテンツ タイプにドキュメント テンプレートを使おうとすると、アクセス拒否メッセージが表示されます。 ドキュメント ライブラリのドキュメント テンプレートを使用するようお勧めします。
SharePoint 2010 ワークフローの発行 SharePoint 2010 ワークフローを発行しようとすると、アクセス拒否メッセージが表示されます。

カスタム スクリプトの実行が禁止されたサイトの管理者と所有者は、次の Web パーツと機能を利用できなくなります。

Web パーツのカテゴリ Web パーツ
ビジネス データ ビジネス データ アクション
ビジネス データ アイテム
ビジネス データ アイテム ビルダー
ビジネス データ リスト
ビジネス データ関連リスト
Excel Web Access
インジケーターの詳細
ステータス リスト
Visio Web Access
コミュニティ このコミュニティについて
参加
個人用メンバーシップ
ツール
最新情報
コンテンツ ロールアップ 分類項目
プロジェクト サマリー
関連ドキュメント
RSS ビューアー
サイトの集合表示
カテゴリに属するサイト
用語のプロパティ
タイムライン
WSRP ビューアー
XML ビューアー
ドキュメント セット ドキュメント セットのコンテンツ
ドキュメント セットのプロパティ
詳細設定 埋め込み
フォーム HTML フォームの Web パーツ
メディアおよびコンテンツ コンテンツ エディター
スクリプト エディター
Silverlight の Web パーツ
検索 絞り込み
検索ボックス
検索ナビゲーション
検索結果
検索型コンテンツ カタログ アイテムの再使用
イベントのグループ作業 連絡先の詳細
メモ掲示板
組織のブラウザー
サイト フィード
タグ クラウド
ユーザー タスク
マスター ページ ギャラリー マスター ページを作成または編集できません
発行サイト マスター ページおよびページ レイアウトを作成または編集できません

さらに、 requiresCustomScript 値が true に設定されている SharePoint Framework Web パーツは、次のように動作します。

  • Web パーツピッカーで Web パーツを使用できない
  • ページに追加された Web パーツのすべてのインスタンスで、実行が許可されたカスタム スクリプトは、それらのページに表示されなくなります。 作成者は、ページの編集中に削除できます

スクリプト設定の変更をユーザーに伝えるためのベスト プラクティス

カスタム スクリプトの実行を許可していたサイトでカスタム スクリプトの実行を禁止する前に、変更の内容をあらかじめ通知して、その影響をユーザーが理解できるようにしてください。 そうしない場合、サイトでテーマの変更や Web パーツの追加を行っていたユーザーは、そのような機能を使用できなくなり、次のエラー メッセージが表示されます。

サイトでスクリプトが無効になっているときに表示されるエラー メッセージのスクリーンショット。

変更を事前に知らせておくことで、ユーザーの混乱とサポートへの問い合わせを減らすことができます。