Ситуация: сервер IIS 7.5 с 30 + сайты и 10 + сертификаты и несколько сертификатов может быть устаревшим. Устаревший означает, что они не связываются с ip:port никакого сайта на IIS.
Я мог проверить каждый сайт привязка через GUI, но это кажется не самым быстрым путем.
С тем, какая команда (команды) может, я получаю список сайтов с помощью определенного сертификата, данного его общее название как *.example.com
. Я думаю, что мне нужно, по крайней мере, netsh http show sslcert
, но тот вывод только показывает хеш сертификата и никакие названия сайта.
Я использую следующий сценарий PowerShell, чтобы просмотреть все сертификаты на коробке и для каждой попытки найти его в привязках SSL 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 "***************************************************************"
}