在我当前的设置中,我有16台生产服务器,在Dev和QA服务器上还有16到20台。我也有很多证书在里面。我们正在努力盘点所有的东西,这样我们就不会错过任何证书过期警告(我们在生产中就会发生这种情况,它对业务产生了很大的影响)。
我可以转到MMC,右键单击每个节点并导出列表,但这对40+机器来说太费时了。有办法自动完成这件事吗?有什么脚本或工具可以这样做吗?
谢谢,
RV
发布于 2015-07-14 23:05:27
这个问题可能会转移到另一个StackExchange站点上,但我还是会给出一个答案。
一点点PowerShell的魔力应该会使这变得相当简单。PowerShell可以在证书存储区中导航,就好像它是任何其他驱动器一样(比如导航文件系统)。
列出系统上的所有证书:
Get-ChildItem -Path Cert:\ -Recurse如果只希望将证书安装为当前用户,只需更改“目录”:
Get-ChildItem -Path Cert:\CurrentUser -Recurse(请注意,上面的命令返回“文件夹”名称,后面跟着所有包含的证书,这取决于您在做什么,可能会变得混乱。)
从您的问题中,我假设您只担心SSL服务器身份验证证书,因此您可以具体地获得这些证书(并限制输出仅显示Certs的主题、路径和到期日期):
Get-ChildItem -Path Cert:\ -Recurse -SSLServerAuthentication | Select Subject, PSParentPath, NotAfter然后,您可以查看将列表导出到CSV文件(或数据库或其他您希望使用的方法来收集它们),然后从一个中央工作站在远程服务器上运行这些文件,并在本地收集所有信息。
https://serverfault.com/questions/705783
复制相似问题