我正在尝试检索一堆 IIS 网站的证书并将指纹与我拥有的证书进行匹配。如果指纹匹配,那就太好了。但是,如果指纹不匹配,那么我想将该特定证书添加到该网站。我知道我可以使用以下方法验证所需的证书是否存在:
Get-ChildItem -Path Cert:\LocalMachine\My | Select-Object Thumbprint
我可以使用以下方法获取 IIS 网站并查看绑定(bind):
Get-ChildItem -Path IIS:Sites | Select-Object -ExpandProperty Bindings
但是,我不知道如何检索这些网站的证书指纹。我将目标证书的指纹存储在如下变量中:
$CertThumbprint = "###############################"
如果我做错了,请告诉我。谢谢。
最佳答案
首先,这不是我的代码,发现here .
你也许可以试试这个:
Import-Module WebAdministration
$siteThumbs = Get-ChildItem IIS:SSLBindings | Foreach-Object {
[PSCustomObject]@{
Site = $_.Sites.Value
Thumbprint = $_.Thumbprint
}
}
这应该会为您提供一组包含网站和指纹的对象供您比较。
根据您的评论,我收集到不止一个站点可以共享相同的指纹并单独列出它们,您可以这样做(未经测试)
Import-Module WebAdministration
$siteThumbs = Get-ChildItem IIS:SSLBindings | Foreach-Object {
$thumb = $_.Thumbprint
foreach ($site in $_.Sites.Value) {
[PSCustomObject]@{
Site = $site
Thumbprint = $thumb
}
}
}
关于powershell - 如何在 PowerShell 中检索 IIS 网站的 SSL 证书,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66260380/