我正在采取初步措施开始保护网络,我发现许多计算机的网站客户端证书都安装在本地用户客户端证书存储中,而不是通过 AD。这些证书来自第三方 CA,对业务至关重要。
第一步,我尝试创建每个用户已安装的证书的列表,以便我可以尝试使用 GPO 或类似工具创建更易于管理的内容,但由于它们是本地安装的,因此我无法在我的 AD 或证书服务中看到它们。
我一直在查看 powershell 的证书管理 cmdlet,但即便如此,我也只能列出当前用户的证书,这使得使用域管理员凭据进行远程处理不是一个有效的解决方案。
我该如何对每个人的证书进行分类?
答案1
此链接表示您无法访问其他用户的证书存储。
我想到的一个方法是编写一个登录脚本,该脚本将在登录时获取当前用户的证书,例如使用Get-Childitem cert:\currentUser -recurse
并将输出保存到本地或网络文件。如果您使用,Export-CSV
您将获得一种可以轻松处理的格式。
可能的一行代码可能是:
Get-Childitem Cert:\currentUser -Recurse |´
Select @{N="Username";E={$env:username}}, Subject, Issuer, FriendlyName, NotAfter |`
Export-CSV [csvFilePath] -Append
通过附加的计算属性,您可以获得登录用户的用户名,因此您可以将数据放在一个文件中,同时仍然可以按用户区分证书。