使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

警告: 本文包含的信息向你展示了如何控制 Office 的安全设置。你可以更改这些安全设置以提高或降低安全状态。在你进行这些更改之前,我们建议你评估为配置此设置所做的任何更改的相关风险。

简介

本文介绍了可供用户和 IT 管理员使用的设置,这些设置通过 Microsoft Office 删除位列表来控制是否以及如何加载 COM 对象。

有关此功能所基于的 Windows Internet Explorer 删除位行为的详细信息,包括如何设置允许加载更新的 ActiveX 控件的 AlternateCLSID,请参见如何停止 ActiveX 控件在 Internet Explorer 中运行

此指南适用于Microsoft Word、Microsoft Excel、Microsoft PowerPoint、Microsoft Publisher 和 Microsoft Visio。

Office COM 删除位

将 Office COM 删除位引入安全更新 MS10-036 中,用于阻止从 Office 文档嵌入或链接时运行特定的 COM 对象。

COM 删除位功能已在 KB3178703 中更新,以完全阻止 Office 在进程内激活 COM 对象。此更新是原始行为的超集,其中,除了阻止嵌入或链接在 Office 文档中的 COM 对象,这还将阻止通过诸如加载项之类的其他方式在 Office 进程中加载 COM 对象的任何实例。

这些特定的 COM 对象包括 ActiveX 控件和 OLE 对象。通过注册表,在使用 Office 时,你可以独立控制阻止哪些 COM 对象。

备注:我们不建议删除为 COM 对象设置的删除位。如果这样做,可能会产生安全漏洞。设置删除位的原因通常很充分。因此,在取消 ActiveX 控件时必须非常小心。

当你必须将新 ActiveX 控件的 CLSID(并且此 ActiveX 控件已修改以减少安全威胁)与应用了 Office COM 删除位的 ActiveX 控件的 CLSID 相关联时,可以添加一个 AlternateCLSID(也称为“Phoenix 位”)。Office 仅在使用 ActiveX 控件 COM 对象时才支持 AlternateCLSID 。

备注:Office 的删除位列表优先于 Internet Explorer 的删除位列表。例如,可以为同一 ActiveX 控件设置 Office COM 删除位和 Internet Explorer ActiveX 删除位。但是 AlternateCLSID 只设置在 Internet Explorer 的列表上。在这种场景下,两个设置之间存在冲突。在这种情况下,Office COM 删除位设置优先,并且不加载控件。

设置 Office COM 删除位

重要: 

  • 此节内容、方法或任务含有教你如何修改注册表的步骤。但是,如果不正确地修改注册表,可能会出现严重的问题。因此,请务必仔细遵循这些步骤。为了以防万一,请在修改注册表之前对其进行备份。到时候,如果出现问题,则可恢复注册表。有关如何备份和还原注册表的详细信息,请单击以下文章编号以查看 Microsoft 知识库中的文章:

  •             322756 如何在 Windows 中备份和还原注册表

在注册表中设置 Office COM 删除位的位置如下所示:

对于 Office 2013 和 Office 2010:

  • 对于 64 位 Windows 上的 64 位 Office(或 32 位 Windows 上的 32 位 Office)。

                HKEY_LOCAL_MACHINE\Software\Microsoft\Office\Common\COM Compatibility\{CLSID}

对于 64 位 Windows 上的 32 位 Office:

            HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Office\Common\COM Compatibility\{CLSID}

对于 Office 2016:

  • 对于 64 位 Windows 上的 64 位 Office(或 32 位 Windows 上的 32 位 Office):

                HKEY_LOCAL_MACHINE\Software\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID}

  • 对于 64 位 Windows 上的 32 位 Office:

                HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Office\16.0\Common\COM Compatibility\{CLSID}

在这种情况下,CLSID 是 COM 对象的类标识符。

若要启用 Office COM 删除位,请执行以下步骤:

  1. 将注册表子项以及要阻止加载的 ActiveX 控件或 OLE 对象的 CLSID 一起添加。

  2. 将 REG_DWORD 添加到此称为 Compatibility Flags 的子项,然后将其值设为 0x00000400

例如,在 Office 2016 上为具有 CLSID {77061A9C-2F18-4f38-B294-F6BCC8443D24} 的对象设置 Office COM 删除位,遵循以下步骤:

  1. 找到以下注册表子项:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility

  2. 添加值为 {77061A9C-2F18-4f38-B294-F6BCC8443D24} 的子项。在这种情况下,生成的路径如下所示:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility\{77061A9C-2F18-4f38-B294-F6BCC8443D24}

  3. 将 REG_DWORD 添加到此称为 Compatibility Flags 的子项,然后将其值设为 0x00000400

现在将 Office COM 删除位设置为阻止在 Office 内激活此对象。

如何在链接和嵌入方案中仅阻止 COM

如前所述,已更新 COM 删除位功能,以此阻止在 Office 中激活所有指定的 COM 对象。

为了仅阻止从 Office 文档中嵌入或链接的 COM 对象,请执行以下步骤:

  1. 根据“设置 Office 删除位”下的说明,将 CLSID 添加到 COM 删除位(如果它已经不在列表中)

  2. 在被阻止的 CLSID 的子项下,添加名为 ActivationFilterOverride 的 REG_DWORD 值,将其值设置为 0x00000001

例如,在 Office 2016 上为具有 CLSID {77061A9C-2F18-4f38-B294-F6BCC8443D24} 的对象配置 COM 删除位,以仅在链接和嵌入方案中阻止,请遵循以下步骤:

  1. 找到以下注册表子项:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility

  2. 添加一个子项,其值为 {77061A9C-2F18-4f38-B294-F6BCC8443D24}。在这种情况下,生成的路径如下所示:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\16.0\Common\COM Compatibility\{77061A9C-2F18-4f38-B294-F6BCC8443D24} 

  3. 将 REG_DWORD 添加到此称为 Compatibility Flags 的子项,然后将其值设为 0x00000400

  4. 将 REG_DWORD 添加到此称为 ActivationFilterOverride 的子项,然后将其值设为 0x00000001

现在,将 Office COM 删除位设置为仅在 Office 文档中链接或嵌入此 COM 对象时才阻止该对象。

默认阻止激活的控件

控件

CLSID

ScriptMoniker

06290BD3-48AA-11D2-8432-006008C3FBFC

SoapActivator

ECABAFD0-7F19-11D2-978E-0000F8757E2A

SoapMoniker

ECABB0C7-7F19-11D2-978E-0000F8757E2A

PartitionMoniker

ECABB0C5-7F19-11D2-978E-0000F8757E2A

QueueMoniker

ECABAFC7-7F19-11D2-978E-0000F8757E2A

HTMLApplication

3050F4D8-98B5-11CF-BB82-00AA00BDCE0B

ScripletContext

06290BD0-48AA-11D2-8432-006008C3FBFC

ScripletConstructor

06290BD1-48AA-11D2-8432-006008C3FBFC

ScripletFactory

06290BD2-48AA-11D2-8432-006008C3FBFC

ScripletHostEncode

06290BD4-48AA-11D2-8432-006008C3FBFC

ScripletTypeLib

06290BD5-48AA-11D2-8432-006008C3FBFC

ScripletHandler_Automation

06290BD8-48AA-11D2-8432-006008C3FBFC

ScripletHandler_Event

06290BD9-48AA-11D2-8432-006008C3FBFC

ScripletHandler_ASP

06290BDA-48AA-11D2-8432-006008C3FBFC

ScripletHandler_Behavior

06290BDB-48AA-11D2-8432-006008C3FBFC

XMLFeed

528D46B3-3A4B-4B13-BF74-D9CBD7306E07

Scriptlet

AE24FDAE-03C6-11D1-8B76-0080C744F389

HtmlFile_FullWindowEmbed

25336921-03F9-11CF-8FD0-00AA00686F13

Mhtmlfile

3050F3D9-98B5-11CF-BB82-00AA00BDCE0B

Microsoft HTA 文档 6.0

3050F5C8-98B5-11CF-BB82-00AA00BDCE0B

DHTMLEdit.DHTMLEdit.1

2D360200-FFF5-11D1-8D03-00A0C959BC0A

DHTMLSafe.DHTMLSafe.1

2D360201-FFF5-11D1-8D03-00A0C959BC0A

VB脚本语言

B54F3741-5B07-11cf-A4B0-00AA004A55E8

VB脚本语言创作

B54F3742-5B07-11cf-A4B0-00AA004A55E8

VBScript 语言编码

B54F3743-5B07-11cf-A4B0-00AA004A55E8

VBScript 主机编码

85131631-480C-11D2-B1F9-00C04F86C324

Shockwave Flash Object

D27CDB6E-AE6D-11cf-96B8-444553540000

Macromedia Flash工厂对象

D27CDB70-AE6D-11cf-96B8-444553540000

Microsoft Silverlight

DFEAF541-F3E1-4c24-ACAC-99C30715084A

Adobe Shockwave Player

233C1507-6A77-46A4-9443-F871F945D258

Python 控件

DF630910-1C1D-11D0-AE36-8C0F5E000000

默认阻止嵌入的控件

控件

CLSID

Shell.Explorer.2

8856F961-340A-11D0-A96B-00C04FD705A2

Htmlfile

25336920-03F9-11CF-8FD0-00AA00686F13

用于弹出窗口的 Microsoft HTML 文档

3050F67D-98B5-11CF-BB82-00AA00BDCE0B

备注:此列表是已阻止且可能更改的控件的快照

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×