[英]Powershell IIS7 Snap in Assign SSL certificate to https binding
作為我們自動構建過程的一部分,我們使用PowerShell腳本來破壞和重建我們的IIS站點。
一旦我創建了AppPool並且網站完成了綁定信息,我想為https綁定設置SSL證書。 我找不到任何具體的例子,在任何地方都可以證明這一點。
有任何想法嗎?
尋找一個仁慈的貝殼神......
您可以將先前的示例與在網站中創建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
以下是如何做到這一點:
首先確定要分配的證書並獲取其指紋
例如,您的證書可能位於cert:\\ 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
希望這對任何人都有幫助
您可以使腳本更簡單:
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。
我在這里找到了一個如何分配證書的例子。
但是,硬編碼證書指紋似乎並不優雅......所以如果有人知道更好的方法,我會很高興聽到。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.