允许或阻止自定义脚本

作为 Microsoft 365 中的 SharePoint 管理员 ,您可以允许自定义脚本,让用户更改网站和页面的外观和行为,以满足组织目标或个人需求。 如果允许自定义脚本,则对网站或页面具有 “添加”和“自定义页面” 权限的所有用户都可以添加所需的任何脚本。 (默认情况下,创建网站的用户是网站所有者,因此具有此权限。)

注意

有关更改网站外观的简单方法,请参阅 更改 SharePoint 网站的外观

默认情况下,在管理员使用 SharePoint 管理中心创建的大多数站点以及使用 New-SPOSite PowerShell 命令创建的所有网站上,都不允许使用脚本。 同样适用于 OneDrive、用户自行创建的网站、新式团队和通信网站以及组织的根网站。 有关自定义脚本的安全影响的详细信息,请参阅 允许自定义脚本的安全注意事项

重要

如果在 2015 年之前为组织设置了 SharePoint,则自定义脚本设置可能仍设置为 “未配置” ,即使在 SharePoint 管理中心中,这些设置似乎已设置为阻止用户运行自定义脚本。 在这种情况下,用户将无法在 SharePoint 网站之间以及 OneDrive 和 SharePoint 之间复制项目。 在 SharePoint 管理中心的“设置”页上,若要在自定义脚本设置出现时接受这些设置,请选择“ 确定”,然后启用跨网站复制。 有关在 OneDrive 和 SharePoint 之间复制项目的详细信息,请参阅 在 OneDrive 和 SharePoint 网站之间复制文件和文件夹

在 OneDrive 或用户创建的网站上允许自定义脚本

注意

此功能将在 2024 年 H1 日历年中删除。 删除后,将无法再允许 OneDrive 网站上的自定义脚本。

SharePoint 管理中心,可以选择允许用户在 OneDrive (称为 个人网站) 或他们创建的所有经典团队网站上运行自定义脚本。 有关让用户创建自己的网站的信息,请参阅 在 SharePoint 中管理网站创建

警告

在允许在组织中的网站上使用自定义脚本之前,请确保了解 安全隐患

  1. 转到 SharePoint 管理中心中的设置,并使用对组织管理员权限的帐户登录。

    注意

    如果使用的是由世纪互联(中国)运营的 Office 365,请登录 Microsoft 365 管理中心,然后浏览到 SharePoint 管理中心并打开“设置”页面。

  2. 在页面底部,选择“经典设置页面”。

  3. 在“自定义脚本”下,选择:

    • 允许用户在个人网站上运行自定义脚本

    • 允许用户在自助式创建的网站上运行自定义脚本

    SharePoint 管理中心中设置页的自定义脚本部分的屏幕截图。

    注意

    由于自助网站创建默认指向组织的根站点,因此更改自定义脚本设置允许在组织的根网站上使用自定义脚本。 有关更改网站创建位置的信息,请参阅 在 SharePoint 中管理网站创建

  4. 选择“确定”。 更改最长可能需要 24 小时才能生效。

允许其他 SharePoint 网站上的自定义脚本

警告

在允许在组织中的网站上使用自定义脚本之前,请确保了解 安全隐患

若要立即允许特定网站上 (以前称为 网站集) 自定义脚本,请执行以下步骤:

  1. 下载最新的SharePoint在线管理壳

    注意

    如果安装了早期版本的 SharePoint Online 命令行管理程序,请转到添加或删除程序并卸载 SharePoint Online 命令行管理程序

  2. 以 Microsoft 365 中的 SharePoint 管理员身份连接到 SharePoint 。 若要了解具体操作步骤,请参阅 SharePoint 在线管理壳入门

  3. 运行以下命令:

    Set-SPOSite <SiteURL> -DenyAddAndCustomizePages 0
    

    或通过 PnP.PowerShell cmdlet Set-PnPSite

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

如果为经典团队网站更改此设置,则会在 24 小时内由管理中心的自定义脚本设置覆盖该设置。

注意

不能允许或阻止单个用户的 OneDrive 使用自定义脚本。

从 SharePoint 管理中心管理自定义脚本

注意

如果在 SharePoint 租户管理中心中看不到新选项,则租户中尚未启用该功能。 每个客户将在 2024 年 6 月底之前启用这一组新功能

租户管理员在 SharePoint 租户管理中提供了一组工具来管理其组织中的自定义脚本。 具体而言,租户管理员可以执行以下操作:

  • 验证自定义脚本状态
  • 更改自定义脚本设置
  • 持久化自定义脚本设置

验证自定义脚本状态

现在,“活动网站”页的“网站”下提供了新的“自定义脚本”列。

活动网站视图的屏幕截图,其中自定义脚本列可见。

可以将列添加到任何视图中。 还可以使用新的 自定义脚本允许站点 轻松访问启用了自定义脚本的所有站点:

默认视图列表的屏幕截图,其中包括“自定义脚本允许的网站”视图。

更改自定义脚本设置

“活动网站 ”页中,选择站点后,在 “设置”下,“ 自定义脚本 ”设置可供管理员使用:

“自定义脚本”设置的屏幕截图。

管理员可以控制特定网站的自定义脚本设置;决定他们是否要允许或阻止特定网站上的自定义脚本:

“自定义脚本”值的屏幕截图。

默认情况下,对特定网站的自定义脚本设置所做的任何更改最多只能持续 24 小时。 之后,设置将重置为该特定站点的原始值。

保留自定义脚本设置

若要防止 SharePoint 将自定义脚本设置重置为整个租户的原始值,请执行以下步骤:

  1. 下载最新的SharePoint在线管理壳

    注意

    如果你已安装早期版本的SharePoint Online Management Shell,请进入添加或删除程序并卸载 "SharePoint Online Management Shell"。

  2. 以 Microsoft 365 中的 SharePoint 管理员身份连接到 SharePoint 。 若要了解具体操作步骤,请参阅 SharePoint 在线管理壳入门

  3. 运行以下命令:

    Set-SPOTenant -DelayDenyAddAndCustomizePagesEnforcement $True
    

注意

此设置会影响所有站点。 没有选项可以仅在某些特定网站上保留对自定义脚本设置的更改。 此参数将在 2024 年 11 月之前可用。 在该日期之后,将无法再阻止 SharePoint 将所有网站的自定义脚本设置重置为其原始值。 运行在 OneDrive 和 SharePoint 上配置了多地理位置功能的 命令只会影响运行命令的当前地理位置。 若要在整个租户中持久保存自定义脚本设置,必须在每个地理位置上运行 命令。

自定义脚本被阻止时受影响的功能

阻止用户在 OneDrive 或他们创建的经典团队网站上运行自定义脚本时,网站管理员和所有者将无法创建新项,例如模板、解决方案、主题和帮助文件集合。 如果过去允许自定义脚本,则已创建的项仍将有效。

阻止用户运行自定义脚本时,以下网站设置不可用:

网站功能 行为 注释
将网站另存为模板 网站设置中不再可用 用户仍然可以从自定义脚本被阻止之前创建的模板生成网站。
将文档库另存为模板 库设置中不再可用 用户仍可以根据在阻止自定义脚本之前创建的模板生成文档库。
将列表另存为模板 列表设置中不再可用 用户仍可以根据在阻止自定义脚本之前创建的模板生成列表。
解决方案库 网站设置中不再可用 用户仍可以使用在阻止自定义脚本之前创建的解决方案。
主题库 网站设置中不再可用 用户仍然可以使用在阻止自定义脚本之前创建的主题。
帮助设置 网站设置中不再可用 在阻止自定义脚本之前,用户仍然可以访问可用的帮助文件集合。
沙盒解决方案 解决方案库在“网站设置”中不再可用 用户无法添加、管理或升级沙盒解决方案。 它们仍然可以运行在阻止自定义脚本之前部署的沙盒解决方案。
SharePoint Designer 不能再更新不是 HTML 的页面。
处理列表: 创建表单自定义操作 将不再有效。
子网站: 新建子网站删除网站 重定向到浏览器中的 “网站设置” 页。
数据源: “属性” 按钮不再可用。
用户仍然可以打开某些数据源。 若要在 SharePoint Designer 中打开不允许自定义脚本的网站,必须首先打开允许自定义脚本的网站。
上传可能包含脚本的文件 无法从库打开以下文件类型
.asmx
.ascx
.aspx
.宏达
。罐
.master
.swf
.xap
.xsf
库中的现有文件不受影响。
将文档上传到内容类型 尝试将文档模板附加到内容类型时访问被拒绝的消息。 建议使用文档库文档模板。
SharePoint 2010 工作流的发布 尝试发布 SharePoint 2010 工作流时访问被拒绝的消息。

当阻止网站管理员和所有者运行自定义脚本时,以下 Web 部件和功能对网站管理员和所有者不可用。

Web 部件类别 Web 部件
业务数据 业务数据操作
业务数据项目
业务数据项生成器
业务数据列表
业务数据相关列表
Excel Web Access
指标详细信息
状态列表
Visio Web Access
社区 关于此社区
加入
我的成员资格
工具
发生了什么事情
内容汇总 类别
项目摘要
相关文档
RSS 查看器
网站聚合器
类别中的网站
术语属性
日程表
WSRP 查看器
XML 查看器
Document Sets 文档集内容
文档集属性
高级 嵌入
Forms HTML 表单 Web 部件
媒体和内容 内容编辑器
脚本编辑器
Silverlight Web 部件
搜索 优雅
搜索框
搜索导航
搜索结果
搜索驱动的内容 Catalog-Item 重用
社会协作 联系人详细信息
记事板
组织浏览器
网站源
标记云
用户任务
母版页样式库 无法创建或编辑母版页
发布网站 无法创建或编辑母版页和页面布局

此外, 将 requiresCustomScript 值设置为 true 的 SharePoint 框架 Web 部件的行为将如下所示:

  • Web 部件在 Web 部件选取器中不可用
  • 在允许运行的自定义脚本时添加到页面的每个 Web 部件实例将不再出现在这些页面中。 作者在编辑页面时仍可将其删除

将脚本设置更改传达给用户的最佳做法

在之前允许的网站上阻止自定义脚本之前,我们建议提前传达更改,以便用户可以了解其影响。 否则,习惯于更改主题或在其网站上添加 Web 部件的用户将突然无法看到并看到以下错误消息。

在网站上禁用脚本时显示的错误消息的屏幕截图。

提前传达更改可以减少用户挫折感和支持呼叫。