我正在尝试自动且静默地安装特定的打印机驱动程序 (ghostpdf) 和打印机,以准备多台机器进行测试。我使用 命令行安装打印机驱动程序
rundll32 printui.dll, PrintUInternet Explorerntry /Gw /ia /m "Ghostscript PDF" /K /h x64 /v 3 /f
"c:\temp\lib\ghostpdf.inf"
c:\temp\lib 已为 GhostPDF 复制驱动程序(http://ghostscript.com/GhostPDF.HTML)
安装时会显示一条消息“Windows 无法验证此驱动程序软件的发布者”。有多种解决方案可以抑制此警告,所有解决方案都涉及重新启动。有没有办法抑制“Windows 安全警告”并使用脚本安装打印机驱动程序?
答案1
有没有办法抑制“Windows 安全警告”并使用脚本安装打印机驱动程序?
不。您想要在没有提示的情况下合法安装未签名的驱动程序与病毒编写者想要在没有提示的情况下非法安装未签名的驱动程序没有什么不同。
答案2
对于那些想要绕过在 Windows 7 64 位(以及 Windows 8、8.1)上安装非 MS-WHQL 签名的驱动程序时出现的安全对话框的人来说,对我来说只有一个解决方案,适用于脚本化、自动化、无人值守或静默安装:在安装之前导入证书
按着这些次序:
通过确认应使用未签名的驱动程序,手动安装一次软件
转到 %windir%\inf 并搜索最新的 OEM??.INF 文件;打开它(记事本)并根据其内容验证这是您下次希望自动安装的驱动程序
转到 %windir%\system32\catroot{any ID}\OEM??.CAT(<- 与步骤 2 中的数字相同);右键单击此文件,选择属性,转到“数字签名”选项卡,标记证书,单击详细信息
在下一个窗口中单击“显示证书”
在下一个窗口中打开“详细信息”选项卡,然后单击“保存到文件...”
收集此/所有证书
部署这些证书
7a. 在批处理/cmd 脚本中使用“certutil.exe -f -addstore "TrustedPublisher" "MYFILE.cer" 在设置之前
7b. 或通过组策略(计算机 \ 策略 \ Windows \ 安全 \ 公钥策略 \ 在此处添加您的文件)
最后,按照你想要的方式运行你的设置:D
笔记:
我无法绕过 Windows 7 SP1 Enterprise x64 上的 Windows 驱动程序签名检查
Bcdedit.exe /设置 nointegritychecks ON
Bcdedit.exe /设置测试签名开启
Bcdedit.exe /设置加载选项 DDISABLE_INTEGRITY_CHECKS
组策略/用户/设置/管理模板/系统/驱动程序/签名 = 忽略
应用程序兼容性(ApplicationCompatibilityToolkitSetup.exehttp://www.microsoft.com/download/en/details.aspx?id=7352)设置 NoSignatureCheck,导出数据库,sdbinst -q \path\dbfile.sdb)