我有一个自签名的.cer证书,我需要部署到大约1000台计算机,运行从Windows XP和Server 2003到Windows 7和Server 2008 R2的各种Windows版本。
SCCM是我们正常的部署方法,并尝试部署这些几个不同的方法,而且碰到了一个事实,即不是所有必需的工具都可用于所有操作系统,或者我只是在自动部署上收到错误消息,看到手动运行它们。
我find的最具跨平台友好的方法是从安装了pipe理工具的XP SP3副本中获取CertUtil.exe和certadm.dll的副本,并将其放在与.cer文件相同的文件夹中,然后在batch file中使用以下命令行:
certutil.exe -addstore TrustedPublisher cert.cer certutil.exe -addstore root cert.cer
这工作正常手动运行batch file,但返回与自动运行它的各种错误。
有没有更好的方法来跨越Windows平台?
由于您拥有多台计算机,因此假设您使用的是AD域似乎是合理的,在这种情况下,您可以使用组策略对象推送证书。 有很多文章描述这些步骤,比如Technet的这个 。
从Win XP Home中使用命令行的这个在先问题导入证书的线索,以及相当一段时间的玩耍,现在已经在操作系统的这一贯部署。
已从32位Win Server 2003 SP2pipe理包( KB340178 )中提取以下文件,并将其与证书一起保存到SCCM中的包源文件夹中:
certadm.dll certcli.dll certreq.exe certutil.exe cert.cer
现在,在SCCM中使用以下两条命令(这两个命令链接在一起)中创build了batch file并创build了两个独立的程序,它们似乎都是作为跨操作系统的自动化部署工作的。
certutil.exe -addstore TrustedPublisher cert.cer
certutil.exe -addstore root cert.cer