状況:IIS 7.5サーバーで30以上のサイトと10以上の証明書があり、いくつかの証明書が廃止されている可能性があります。廃止とは、IIS上のどのサイトのip:portにもバインドされていないことを意味します。
GUIを使用して各サイトのバインディングを確認できましたが、それが最速の方法ではないようです。
どのコマンドを使用すれば、*.example.com
。少なくともnetsh http show sslcert
ですが、その出力には証明書ハッシュのみが表示され、サイト名は表示されません。
次の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 "***************************************************************"
}