Windows-Server-2008-R2

如何使用命令行獲取綁定到某個 ssl 證書的 IIS 7.5 中的站點列表

  • May 19, 2016

情況:具有 30 多個站點和 10 多個證書的 IIS 7.5 伺服器和一些證書可能已過時。過時意味著它們沒有綁定到 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 "***************************************************************"
}

引用自:https://serverfault.com/questions/660587