Como obter uma lista de sites no IIS 7.5 vinculados a um determinado certificado SSL usando a linha de comando

4

Situação: um servidor IIS 7.5 com mais de 30 sites e mais de 10 certificados e alguns certificados pode estar obsoleto. Obsoleto significa que eles não são vinculados ao ip: port de qualquer site no IIS.

Eu poderia verificar as ligações de cada site por meio da GUI, mas isso não parece ser o caminho mais rápido.

Com qual comando (s) posso obter uma lista de sites usando um determinado certificado, dado seu nome comum como *.example.com . Acho que preciso de pelo menos netsh http show sslcert , mas essa saída mostra apenas o hash do certificado e nenhum nome de site.

    
por Chris 19.01.2015 / 11:47

1 resposta

3

Estou usando o seguinte script do PowerShell para ver todos os certificados na caixa e, para cada tentativa, encontrá-lo nas associações SSL do IIS.

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 "***************************************************************"
}
    
por 19.01.2015 / 13:37