如何使用命令行获取绑定到某个 ssl 证书的 IIS 7.5 中的站点列表

Chr*_*ris 5 command-line-interface netsh iis-7.5 ssl-certificate windows-server-2008-r2

情况:具有 30 多个站点和 10 多个证书的 IIS 7.5 服务器和一些证书可能已过时。过时意味着它们未绑定到 IIS 上任何站点的 ip:port。

我可以通过 GUI 检查每个站点绑定,但这似乎不是最快的方法。

我可以使用什么命令获取使用某个证书的站点列表,该证书的通用名称为*.example.com. 我想我至少需要netsh http show sslcert,但该输出仅显示证书哈希而没有站点名称。

Pet*_*orf 7

我正在使用以下 PowerShell 脚本查看盒子上的所有证书,并尝试在 IIS SSL 绑定中找到它。

import-module WebAdministration

ls cert:\LocalMachine\my | select * | foreach {

  $found = $false
  $tp = $_.Thumbprint

  ls IIS:\SslBindings | Foreach {
    if ($_.Thumbprint -eq $tp)
    {
      Write-Host "Used in $($_.IpAddress) $($_.Host)"
      $found = $true
    }    
  }
  if ($found)
  {
    Write-Host $tp -foregroundcolor green
    Write-Host $_.Subject -foregroundcolor green
    Write-Host $_.NotAfter -foregroundcolor green
  }
  else
  {
    Write-Host "Not in use"
    Write-Host $tp -foregroundcolor red
    Write-Host $_.Subject -foregroundcolor red
    Write-Host $_.NotAfter -foregroundcolor red
  }
  Write-Host "***************************************************************"
}
Run Code Online (Sandbox Code Playgroud)