Как получить список сайтов в IIS 7.5, связанных с определенным ssl-сертификатом, используя командную строку

Ситуация: сервер IIS 7.5 с 30+ сайтами и 10+ сертификатами и несколькими сертификатами может быть устаревшим. Устаревшие означает, что они не привязаны к порту ip: любого сайта в IIS.

Я мог бы проверить привязки каждого сайта через графический интерфейс, но это не самый быстрый способ.

С помощью каких команд можно получить список сайтов, использующих определенный сертификат с его общим именем, например *.example.com, Я думаю, что мне нужно по крайней мере netsh http show sslcert, но этот вывод показывает только хэш сертификата и без имен сайтов.

1 ответ

Решение

Я использую следующий скрипт 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 "***************************************************************"
}
Другие вопросы по тегам