运行脚本规则操作不再有效,无法选择用于新规则

我配置了一些宏,这些宏是通过消息规则触发的,但现在不再工作。

在尝试重新创建规则时,我注意到“运行脚本”规则操作根本不再可用。

  • 为什么这个有用的功能被删除了?
  • 我现在有什么选择?

“运行脚本”规则操作和“启动应用程序”操作确实已从 Outlook 中删除。

这些规则操作被认为是不安全的,但仍然有方法可以通过注册表重新激活该功能或修改宏代码来运行宏脚本或应用程序。


默认情况下,运行脚本和启动应用程序不再作为规则操作可用。

为什么运行脚本规则操作已被删除?

Microsoft 发现通过消息规则执行脚本和应用程序的方式存在安全问题。

显然,没有真正的方法来解决这个问题,或者与实际使用此规则操作的用户数量以及也有可用的(安全)替代方案的事实相比,解决这个问题的成本太高。

就我个人而言,我认为它是基于客户端的规则这一事实以及 Microsoft 试图清理规则向导并将其与 Outlook 网页版中可用的规则保持一致的印象也与此有关。 我不会反对对 Outlook 的规则管理和功能进行更现代的改造,这实际上可能是第一步。

受影响的 Outlook 版本

以下 Outlook 版本受到影响;

  • 展望 2016(Office 365)
    版本 1703(内部版本 7967.2161)及更高版本
  • 2016 年展望 (MSI)
    申请后KB3191883(2017 年 5 月)。
    版本 16.0.4534.1001 及更高版本
  • 2013年展望
    申请后KB3191938(2017 年 6 月)。
    版本 15.0.4937.1000 及更高版本

以前版本的 Outlook 不会受到影响,因为它们不再受到主流支持,而且看起来这不是一个真正的“安全漏洞”,而仅仅是一个“安全问题”,并不需要更新来为旧版 Outlook 版本引入这种行为更改。

解决方法:通过注册表重新启用运行脚本规则

要重新启用“作为脚本运行”和“启动应用程序”规则,您可以创建并设置EnableUnsafeClientMailRules 价值。

钥匙:HKEY_CURRENT_USER\Software\Microsoft\Office\\Outlook\Security
值名称:EnableUnsafeClientMailRules
值类型:REG_DWORD
价值:1

由于您的注册表中可能尚不存在此路径,因此您需要先创建它。 如果您不想自己编辑注册表,您也可以。 它包含 Outlook 2013 和 Outlook 2016 的文件。

笔记:这应该被视为一种解决方法,因为 Microsoft 认为使用“运行脚本”和“启动应用程序”规则不安全(因此得名),并且当漏洞利用风险增加或规则向导进行全面检修时,可能会完全删除这些规则操作。未来。

解决方案:修改宏(推荐)

您还可以直接通过以下方式运行它,而不是依赖规则来执行脚本或应用程序新邮件或者项目添加事件。 您可能设置的任何规则条件(例如“来自特定人员”)或任何其他操作(例如“移动到文件夹”)也可以通过宏代码完成。

对于您要发送的物品,您可以使用项目发送执行宏操作的事件类似于中的示例对发送的项目进行分类

根据您的宏代码、编码技能和可用时间,此解决方案可能需要一些时间来实施,因此在此之前,您可能需要依赖该解决方法。