web-dev-qa-db-ja.com

コマンドラインを使用して特定のssl証明書にバインドされたIIS 7.5のサイトのリストを取得する方法

状況:IIS 7.5サーバーで30以上のサイトと10以上の証明書があり、いくつかの証明書が廃止されている可能性があります。廃止とは、IIS上のどのサイトのip:portにもバインドされていないことを意味します。

GUIを使用して各サイトのバインディングを確認できましたが、それが最速の方法ではないようです。

どのコマンドを使用すれば、*.example.com。少なくともnetsh http show sslcertですが、その出力には証明書ハッシュのみが表示され、サイト名は表示されません。

4
Chris

次の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 "***************************************************************"
}
4
Peter Hahndorf