规划 Office 2010 的 COM 对象分类

 

适用于: Office 2010

上一次修改主题: 2016-11-29

通过使用 COM 对象分类,可以控制 Microsoft Office 2010 中某些 COM 对象的行为。COM 对象可以包括 ActiveX、对象链接和嵌入 (OLE)、Excel RealTimeData (RTD) 服务器和 Office Web Components (OWC) 数据源提供程序。例如,您可以创建一个只允许加载指定 COM 对象的安全允许列表,也可以选择重写 Internet Explorer 消除位。

本文内容:

  • 关于 COM 对象分类

  • 为 COM 对象分类配置组策略安全设置

  • 在注册表中添加 COM 对象分类

关于 COM 对象分类

Office 2010 将首先检查是否为 COM 对象分类配置了任何组策略设置。如果已启用任何允许使用 COM 对象分类的设置,Office 2010 将验证指定的 COM 对象在注册表中是否进行了正确分类。

若要在组织内启用 COM 对象分类,首先需要确定如何对组策略安全设置进行最佳配置以满足组织的需要。然后,您需要在注册表中为目标 COM 对象添加类别 ID。

为 COM 对象分类配置组策略安全设置

有四个 COM 对象分类组策略设置:

  • 检查 OWC 数据源提供程序

  • 检查 Excel RTD 服务器

  • 检查 OLE 对象

  • 检查 ActiveX 对象

可以将“检查 OWC 数据源提供程序”和“检查 Excel RTD 服务器”配置为启用或禁用状态。启用这些设置将强制 Office 2010 仅加载正确分类的 COM 对象。

当您选择“启用”时,“检查 OLE 对象”和“检查 ActiveX 对象”将具有其他选项。下表列出了这些选项。

选项

说明

不检查

Office 将加载 (OLE/ActiveX) 对象,在加载之前不检查这些对象是否进行了正确分类。

重写 IE 消除位列表(默认行为)

Office 使用类别列表重写 Internet Explorer 消除位检查。

严格允许列表

Office 只加载正确分类的 ActiveX 对象。

利用“覆盖 IE 消除位列表”选项,可以专门列出只要分类正确便允许在 Office 2010 中加载的 OLE 或 ActiveX 控件,即使这些控件在 Internet Explorer 消除位列表中也会加载。当您希望允许在 Internet Explorer 中加载被指定为不安全的 COM 对象时,可使用此控件。但是,您知道该 COM 对象是安全的,可在 Microsoft Office 中加载。Office 还会检查是否启用了 Office COM 消除位。有关 Office COM 消除位的详细信息,请参阅为 Office 2010 规划 ActiveX 控件的安全设置。如果启用了 Office COM 消除位,并且没有备用 CLSID(也称为菲尼克斯位),将不会加载 COM 对象。有关消除位行为的详细信息,请参阅如何禁止 ActiveX 控件在 Internet Explorer 中运行 (https://go.microsoft.com/fwlink/?linkid=183124\&clcid=0x804)。

如果您要创建一个安全允许列表,以便只允许加载指定的控件,同时不允许加载不在该列表中的所有其他 OLE 或 ActiveX 对象,请使用“严格允许列表”选项。

如果您在组策略中启用了任何 COM 对象分类设置,下一步将会在注册表中添加该 COM 对象分类。

在注册表中添加 COM 对象分类

每个组策略设置在注册表中都有相应的 COM 对象分类设置。下表列出了这些设置。

组策略设置

类别 ID (CATID)

检查 OWC 数据源提供程序

{A67A20DD-16B0-4831-9A66-045408E51786}

检查 Excel RTD 服务器

{8F3844F5-0AF6-45C6-99C9-04BF54F620DA}

检查 OLE 对象

{F3E0281E-C257-444E-87E7-F3DC29B62BBD}

检查 ActiveX 对象

{4FED769C-D8DB-44EA-99EA-65135757C156}

您需要为指定的 COM 对象添加正确的 CATID,组策略设置配置为“禁用”或“启用 | 不检查”时除外。在注册表中,要向 COM 对象的 CLSID 中添加一个名为“实现的类别”的项(如果它尚不存在)。然后,将包含 CATID 的子项添加到“实现的类别”项中。

例如,如果创建允许列表并且在 Office 中只允许使用 OLE 对象 - Microsoft Graph 图表,您将先在注册表的以下位置中查找该 COM 对象的 CLSID:

HKEY_CLASSES_ROOT\CLSID

Microsoft Graph 图表的 CLSID 是 {00020803-0000-0000-C000-000000000046}。下一步是验证“实现的类别”项是否已存在,如果不存在则创建一个。此示例中的路径将为:

HKEY_CLASSES_ROOT\CLSID\{00020803-0000-0000-C000-000000000046}\Implemented Categories

最后,为与“实现的类别”项的“检查 OLE 对象组策略”设置对应的 CATID 添加一个新子项。此示例的最终路径和值将为:

HKEY_CLASSES_ROOT\CLSID\{00020803-0000-0000-C000-000000000046}\Implemented Categories\{F3E0281E-C257-444E-87E7-F3DC29B62BBD}

备注

有关策略设置的最新信息,请参考 Microsoft Excel 2010 工作簿 Office2010GroupPolicyAndOCTSettings_Reference.xls,可从 Office 2010 管理模板文件(ADM、ADMX、ADML)和 Office 自定义工具(该链接可能指向英文页面) (https://go.microsoft.com/fwlink/?linkid=189316&clcid=0x804)(该链接可能指向英文页面) 下载页上的“此下载中的文件”部分获得该工作簿。