Powershell - 使用共享证书添加SSL绑定

Suh*_*has 2 powershell iis-7 powershell-2.0

我使用以下代码将证书链接到我添加的SSL绑定

$thumb = (Get-ChildItem cert:\LocalMachine\My | where-object { $_.Subject -like $wildCardSubject }     | Select-Object -First 1).Thumbprint
Push-Location IIS:\SslBindings
Get-Item cert:\LocalMachine\My\$thumb | New-Item $ipAddress!$port
Pop-Location
Run Code Online (Sandbox Code Playgroud)

这很好,没有任何错误.运行此操作后,如果我从IIS管理器打开该网站的绑定UI,我看不到任何附加到绑定的证书.我在这里错过了什么吗?

在类似的主题上,如果我在两个网站之间使用共享证书,我需要注意什么才能确保添加/删除ssl绑定有效?我可以从IIS管理器UI中看到以下问题

  1. 添加第二个绑定时,会发出警告,说其他网站已经使用过证书.我仍然继续前进,一切正常,不确定幕后发生了什么.
  2. 删除绑定时,它会发出警告,说明证书在其他绑定中使用,删除此绑定会使其他绑定无法使用.即使在这种情况下,我继续和其他网站似乎工作正常

小智 8

Get-Item需要Thumbprint的String值.希望这可以帮助.

$Cert = dir cert:\localmachine\my | Where-Object {$_.Subject -like $CertSubject }
$Thumb = $Cert.Thumbprint.ToString()
Push-Location IIS:\SslBindings
New-WebBinding -Name $WebSiteName -IP $IP -Port 443 -Protocol https
Get-Item cert:\LocalMachine\MY\$strThumb | new-item $IP!443
Pop-Location
Run Code Online (Sandbox Code Playgroud)

对于其他两个问题,HTTPS绑定是IP + SSLCertificate.因此,如果您想使用共享证书,请尝试为每个绑定使用唯一IP,这样做不会给您任何警告.