PowerShell IIS7 Snap в назначении сертификата SSL для привязки https
В рамках нашей автоматической процедуры сборки мы уничтожаем и восстанавливаем наш сайт IIS с помощью сценариев powershell.
Как только я создал AppPool и веб-сайт, содержащий информацию привязки, я хочу установить SSL-сертификат для привязки https. Я не могу найти каких-либо конкретных примеров, в любом месте, демонстрирующих это.
Любые идеи?
Ищите доброжелательного богаши-волшебника...
Ответы
Ответ 1
Вот как это делается:
Сначала определите сертификат, который вы хотите назначить, и получите его отпечаток
например. Ваш сертификат может быть в сертификате:\LocalMachine\Root
Вы можете получить отпечаток пальца следующим образом:
$thumb = (Get-ChildItem cert:\LocalMachine\Root | where-object { $_.Subject -like "YOUR STRING HERE*" } | Select-Object -First 1).Thumbprint
< < < Теперь можно присвоить сертификат ip-адресу и порту comme ci → >
$IPAddress = 101.100.1.90
$port = 443
Push-Location IIS:\SslBindings
Get-Item cert:\LocalMachine\Root\$thumb | New-Item $IPAddress!$port
Pop-Location
Надеюсь, что это поможет кому-либо
Ответ 2
Вы можете объединить предыдущие примеры с созданием привязки https на веб-сайте.
import-module webadministration
$computerName = $Env:Computername
$domainName = $Env:UserDnsDomain
New-WebBinding -Name "MyWebSite" -IP "*" -Port 443 -Protocol https
Get-ChildItem cert:\LocalMachine\My | where { $_.Subject -match "CN\=$Computername\.$DomainName" } | select -First 1 | New-Item IIS:\SslBindings\0.0.0.0!443
Ответ 3
Вы можете сделать script проще:
Get-ChildItem cert:\LocalMachine\Root | where { $_.Subject -like "YOUR STRING HERE*" } | select -First 1 | New-Item IIS:\SslBindings\0.0.0.0!443
Используйте 0.0.0.0 для таргетинга на весь размещенный IP-адрес (эквивалент "*" в диспетчере IIS) или замените его определенным IP-адресом, если это необходимо.
Ответ 4
Я нашел здесь пример того, как можно назначить сертификат.
http://learn.iis.net/page.aspx/491/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in/
Однако, кажется, не очень элегантно, чтобы жестко закодировать отпечаток сертификата
... поэтому, если кто-нибудь знает лучший метод, я был бы рад услышать.