管理 Office 加载项的信任选项

Office 信任提示通过在加载项访问其文档或从外部协议启动之前请求同意来帮助保护用户。 虽然这些安全措施很重要,但在某些情况下,你不希望提示用户改善其体验。 本文介绍如何在未安装相关外接程序时禁用信任提示,以及如何配置协议处理程序信任策略。

禁用未安装的加载项的信任提示

共享包含外接程序元数据的文档时,未安装所需加载项的用户可能会看到信任提示。 当文档包含指示 Office 自动启动加载项的设置时,将显示这些提示。

以下方案在未安装所需的加载项时触发信任提示。

可以阻止为未安装加载项的用户显示这些提示。 通过将 Settings.set 方法"Office.DisableTrustUX"true设置为 ,禁用文档中的信任提示。

Office.context.document.settings.set("Office.DisableTrustUX", true);
Office.context.document.settings.saveAsync(); 

此设置保存在文档的 OOXML 元数据中。 启用后,它会阻止在本部分前面列出的所有方案中出现信任提示。 这为不需要加载项的用户提供了更好的体验。

重要

此设置仅适用于 Windows 和 Mac 上的 Office。

信任用于启动加载项的自定义协议处理程序

让你的 Office 外接程序从自定义协议处理程序启动 (类似 mailto: 或你自己的方案) ,而无需提示用户同意。 当你希望为用户提供无缝体验时,或者当组织需要集中管理从哪些协议启动哪些加载项时,此功能非常有用。

重要

本部分仅适用于 Windows。 对此功能的支持始于 Office 版本 2408 (内部版本 17928.20018) 。

协议处理程序信任的工作原理

协议处理程序允许应用或外接程序从 URI (启动,例如,单击链接 mailto: 可打开电子邮件客户端) 。 Office 加载项也以这种方式启动。 默认情况下,系统会提示用户信任每个加载项和协议对。 作为管理员,请使用组策略和 Windows 注册表预先批准或阻止这些对。

注册表项格式

若要自动信任外接程序的自定义协议处理程序,请在以下位置之一创建注册表项, (替换为 <add-in ID> 外接程序的 清单 ID 或统一清单 id

  • 当前用户 (64 位 Office) HKEY_CURRENT_USER\SOFTWARE\Policies\Microsoft\office\16.0\WEF\ProtocolHandlers\<add-in ID>
  • 本地计算机 (64 位 Office) HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\office\16.0\WEF\ProtocolHandlers\<add-in ID>

将以下值添加到键。

  • 名字: 协议名称 (,例如, mailto)
  • 类型: REG_SZ
  • 数据:AllowBlock

设置组策略

管理员使用组策略来管理整个组织的协议处理程序信任。 以下示例文件演示如何设置这些策略。

示例 ADMX 文件

<?xml version="1.0" encoding="utf-16"?> 

<policyDefinitions xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions" revision="1.0" schemaVersion="1.0"> 
  <policyNamespaces> 
    <target prefix="osf16" namespace="osf16.Office.Microsoft.Policies.Windows" /> 
    <using prefix="windows" namespace="Microsoft.Policies.Windows" /> 
  </policyNamespaces> 
  <supersededAdm fileName="osf16" /> 
  <resources minRequiredRevision="1.0" /> 
  <categories> 
    <category name="L_MicrosoftOfficeAddins" displayName="$(string.L_MicrosoftOfficeAddins)" /> 
    <category name="L_ProtocolHandlers" displayName="$(string.L_ProtocolHandlers)"> 
      <parentCategory ref="L_MicrosoftOfficeAddins" /> 
    </category> 
  </categories> 
  <policies> 
    <!-- Protocol ListBox --> 
    <policy 
      name="L_Protocols" 
      class="Machine" 
      displayName="$(string.L_Protocols)" 
      explainText="$(string.L_ProtocolsExplain)" 
      key="Software\Policies\Microsoft\Office\16.0\WEF\ProtocolHandlers\[add-in id]" 
      presentation="$(presentation.L_CustomProtocolTaskpaneProtocols)"> 
      <parentCategory ref="L_ProtocolHandlers" /> 
      <supportedOn ref="windows:SUPPORTED_Windows7" /> 
      <elements> 
        <list id="L_ProtocolsListBox" explicitValue="true" additive="true"></list> 
      </elements>
    </policy> 
  </policies>
</policyDefinitions> 

示例 ADML 文件

<?xml version="1.0" encoding="utf-16"?> 
<policyDefinitionResources xmlns="http://www.microsoft.com/GroupPolicy/PolicyDefinitions" revision="1.0" schemaVersion="1.0"> 
  <displayName>Microsoft Office Add-Ins</displayName> 
  <description>Microsoft Office Add-Ins</description> 
  <resources> 
    <stringTable> 
      <string id="L_MicrosoftOfficeAddins">Microsoft Office Add-ins</string> 
      <string id="L_ProtocolHandlers">Protocol Handlers</string> 
      <string id="L_Protocols">[add-in name]</string> 
      <string id="L_ProtocolsExplain">Defines URL protocol behavior. </string> 
    </stringTable> 
    <presentationTable> 
      <presentation id="L_Protocols"> 
        <listBox refId="L_ProtocolsListBox">Protocols</listBox> 
      </presentation> 
    </presentationTable> 
  </resources> 
</policyDefinitionResources> 

样本。REG 文件

以下示例演示如何使用 直接配置注册表。REG 文件。

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Office\16.0\WEF\ProtocolHandlers]

[HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Office\16.0\WEF\ProtocolHandlers\[add-in id]]
"protocol1"="Allow"
"protocol2"="Block"

另请参阅