通过


允许或阻止自定义脚本

作为 Microsoft 365 中的 SharePoint 管理员 ,您可以暂时允许在 SharePoint 网站中使用自定义脚本。 通过使用自定义脚本,用户可以使用某些经典功能(例如使用脚本编辑器 Web 部件)进行作。 用户还可以更改网站和页面的外观和行为,以满足组织目标或个人需求。

如果允许自定义脚本,则对网站或页面具有 “添加”和“自定义页面” 权限的所有用户都可以添加所需的任何脚本。 默认情况下,创建网站的用户是网站所有者,因此具有此权限。

注意

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

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

重要

如果组织的 SharePoint 部署是在 2015 年之前完成的,则自定义脚本设置可能仍可能设置为 “未配置”,即使在 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
    

    或者,按如下所示使用 Set-PnPSite PowerShell cmdlet

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

允许自定义脚本的更改在 24 小时内被重写为 “不允许 ”。

注意

不能在单个用户的 OneDrive 上允许自定义脚本。

如何实现永久阻止 OneDrive 和 SharePoint 网站中的新自定义脚本?

打开 基线安全模式设置

如何实现 SharePoint 管理中心管理自定义脚本?

作为 SharePoint 管理员,请使用 SharePoint 管理中心管理组织中的自定义脚本。

  1. 标识配置为使用自定义脚本的网站。

  2. 根据组织情况更改每个网站的自定义脚本设置。

或者,可以打开 基线安全模式设置 ,并同时阻止跨 OneDrive 和 SharePoint 网站的新自定义脚本。

标识允许自定义脚本的网站

使用 SharePoint 管理中心标识配置为允许自定义脚本的 SharePoint 网站。

  1. 在 SharePoint 管理中心的"网站"下,选择活动网站

  2. 查找 “自定义脚本 ”列。

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

    如果在网站列表中看不到 “自定义脚本 ”列,请将其添加到任何视图。

    还可以使用 “自定义脚本允许的网站 ”视图轻松访问启用了自定义脚本的所有站点:

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

    这些视图显示哪些网站配置为允许自定义脚本,即使它们实际上不使用自定义脚本。

更改 SharePoint 网站的自定义脚本设置

  1. 在 SharePoint 管理中心的"网站"下,选择活动网站

  2. “活动网站 ”页上,选择一个站点。

  3. “设置自定义脚本”>下,指定是允许还是阻止自定义脚本。

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

可以通过决定是允许还是阻止自定义脚本来控制特定网站的自定义脚本设置:

显示自定义脚本设置的屏幕截图。

默认情况下,对特定网站的自定义脚本设置所做的任何更改最多持续 24 小时。 之后,该设置将重置为该特定站点 的“已阻止 ”。

重要

如果网站由于处于 ReadOnlyNoAccess 状态而处于锁定状态,则对自定义脚本设置的更改不会显示在 SharePoint 管理中心中。 但是,一旦站点的状态返回到 “解锁”,自定义脚本设置就会立即变为 “不允许 ”,然后用户才能访问该网站。

阻止自定义脚本时,哪些功能会受到影响?

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

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

网站功能 行为 注释
将网站另存为模板 网站设置中不再可用 用户仍然可以从自定义脚本被阻止之前创建的模板生成网站。
将文档库另存为模板 库设置中不再可用 用户仍可以根据在阻止自定义脚本之前创建的模板生成文档库。
将列表另存为模板 列表设置中不再可用 用户仍可以根据在阻止自定义脚本之前创建的模板生成列表。
主题库 网站设置中不再可用 用户仍然可以使用在阻止自定义脚本之前创建的主题。
帮助设置 网站设置中不再可用 在阻止自定义脚本之前,用户仍然可以访问可用的帮助文件集合。
沙盒解决方案 解决方案库在“网站设置”中不再可用 用户无法添加、管理或升级沙盒解决方案。 它们仍然可以运行在阻止自定义脚本之前部署的沙盒解决方案。
SharePoint Designer 不能再更新不是 HTML 的页面。

处理列表: 创建表单自定义作 不再有效。

子网站: 新建子网站删除网站 重定向到浏览器中的 “网站设置” 页。

数据源: “属性” 按钮不再可用。
用户仍然可以打开某些数据源。 若要在 SharePoint Designer中打开不允许自定义脚本的网站,必须先打开允许自定义脚本的网站。
作可能包含脚本的文件 无法在库中上传、复制、移动或打开以下文件类型:
.asmx
.ascx
.aspx
.htc
.jar
.master
.swf
.xap
.xsf
库中的现有文件不受影响。
将文档上传到内容类型 尝试将文档模板附加到内容类型时访问被拒绝的消息。 建议使用文档库文档模板。
SharePoint 2010 工作流的发布 尝试发布 SharePoint 2010 工作流时访问被拒绝的消息。
自定义操作 尝试创建新的自定义作时访问被拒绝的消息。 现有自定义作不受影响。
设计管理器 尝试创建新布局、母版页或设计包时访问被拒绝的消息。 用户仍可以使用在阻止自定义脚本之前创建的页面设计。

默认情况下,阻止用户运行自定义脚本时,无法更新 Site 属性包 。 可以通过运行以下命令来更改该行为:

    Set-SPOTenant -AllowWebPropertyBagUpdateWhenDenyAddAndCustomizePagesIsEnabled $True

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

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

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

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

  • Web 部件选取器中不提供 Web 部件。
  • 以前允许自定义脚本时添加到页面的 Web 部件的每个实例不再出现在这些页面中。

SharePoint 网站作者可以删除在编辑页面时不再工作的 Web 部件。

传达脚本设置更改的最佳做法

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

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

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