允许或阻止自定义脚本

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

注意

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

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

重要

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

暂时允许 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 租户管理中提供了一组工具来管理其组织中的自定义脚本。 具体而言,租户管理员可以:

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

验证自定义脚本状态

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

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

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

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

更改自定义脚本设置

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

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

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

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

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

重要

如果网站处于 ReadOnly 或 NoAccess 状态而处于锁定状态,则对自定义脚本设置的更改不会反映在 SharePoint 租户管理中。 但是,一旦站点的状态返回到 “解锁”,自定义脚本设置将立即变为“不允许”,然后任何用户才能访问网站

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

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

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

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

在阻止用户运行自定义脚本时,默认情况下不允许更新站点属性包。 租户管理员可以通过运行以下命令来更改该行为

    Set-SPOTenant -AllowWebPropertyBagUpdateWhenDenyAddAndCustomizePagesIsEnabled $True

有关详细信息,请参阅 AllowWebPropertyBagUpdateWhenDenyAddAndCustomizePagesIsEnabeld 选项

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

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

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

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

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

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

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

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