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/

Однако, кажется, не очень элегантно, чтобы жестко закодировать отпечаток сертификата ... поэтому, если кто-нибудь знает лучший метод, я был бы рад услышать.