解决Office宏因数字签名过期而被禁用的问题
各路厂商开发的Office宏一般只会签署一年的数字签名,若数字签名过期,每次新建文档就都会弹出一行黄色条提示宏已被禁用,无论用不用宏都会很厌烦:
在此,本文提出几种解决方案。
本文以Office 2019为例。
- 直接修改。
- 点选“选项”
- 在弹框中打开信任。完事。
不过有时候事情没那么简单——它干脆就不让你改:
巨硬的所有报错我最不能接受的就是告诉我我不是系统管理员。我的电脑凭什么我自己都不能修改设置?干:
- 方法一:信任中心的信任位置
- 记住它告诉你的这个宏所在的目录:
- 选择“打开信任中心”,找到受信任位置,添加新位置:
- 把路径修改为刚刚记下来的宏文件所在的文件夹,并勾选“同时信任此位置的子文件夹”。设个描述:
- 确定 确定 重启 over。
- 方法二:注册表
以下步骤的思路是:既然你不承认我是管理员,那我就变成管理员
- regedit,找到HKEY_CURRENT_USER\software\policies\microsoft\office\16.0\common\signatures,没有就自己建一个;
- 在signatures项里创建一个REG_DWORD值(DWORD 32位),改成1,重启,over。
- 方法三:组策略
(注意:我从来没接触过Windows管理策略的相关知识,所以我也不知道这么做对不对,不过我推测可以,故分享在此。。。若有谬误,惠请指正,谢谢~)
系统组策略默认没有Office的相关管理模板,要去微软官网下载:
下载的EXE运行下,解压里面的东西到随便一个文件夹。
- 打开组策略gpedit.msc,在“用户配置”“管理模板”上右键 “添加/删除模板”,选择下载的一堆admx文件。
- 如果导不进去admx,可以尝试打开%SystemRoot%\policydefinitions文件夹,把一堆admx连带着en-us zh-cn两个文件夹一并拷进去,然后重启组策略(虽然但是,我不知道这么做对不对,因为官方文档说这文件夹里的东西是用来给你拷出来的不是拷进去的。。。)
- 接下来组策略用户配置 - 管理模板下就有Office的策略选项了。开到Microsoft Office 2016 - 安全设置 - 数字签名 - 验证签名时不允许过期的证书,调为“已禁用”。重启,over。
- 方法四:无奈之举
要是都解决不了,就还是去Word里打开信任中心,在宏设置里选择“启用所有宏”吧。
不过他说的没错,启用所有宏确实太危险了。改天很有可能你开启了一个没签名,有病毒的宏,Word直接就会放行了。。。
有关怎么配置Windows策略和管理员的更多知识,看看这些资料再悟一悟吧。
参考资料: