更新 IIS 中的所有绑定,以将过期的 SSL 证书替换为新证书

Mys*_*ter 2 iis powershell

我希望遍历所有 IIS 绑定并找到任何使用特定证书(即将过期的证书)的绑定,并将它们全部替换为新证书。无需更改有关绑定的任何其他内容。

Powershell 似乎是解决这个问题的明显方法。

Mys*_*ter 8

我找到了一个很棒的脚本,可以查找任何具有特定“旧指纹”的 IIS 绑定,并用其指纹指定的新证书替换该证书。我在这里找到的原始脚本(存档在这里

鉴于已安装新证书,此操作有效。

删除一些脚本的缺陷可以归结为:

$OldThumbprint = "########################################"
$NewThumbprint = "########################################"

Get-WebBinding | Where-Object { $_.certificateHash -eq $OldThumbprint} | ForEach-Object {
    Write-Host "Replacing Cert For "  $_ 
    $_.RemoveSslCertificate()
    $_.AddSslCertificate($NewThumbprint, 'My')
}
Run Code Online (Sandbox Code Playgroud)