情况:具有30个站点和10个证书以及一些证书的IIS 7.5服务器可能已过时.过时意味着它们没有绑定到IIS上任何站点的ip:端口.
我可以通过GUI检查每个站点绑定,但这似乎不是最快的方式.
我可以使用某个命令获取使用某个证书的站点列表,其名称如* .example.com.我想我至少需要netsh http show sslcert,但是输出只显示证书哈希而没有站点名称.
我正在使用以下Power
Shell脚本查看包装盒上的所有证书,并且每次尝试在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 "***************************************************************"
- }