簡體   English   中英

Powershell IIS7 Snap in將SSL證書分配給https綁定

[英]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。

我在這里找到了一個如何分配證書的例子。

http://learn.iis.net/page.aspx/491/powershell-snap-in-configuring-ssl-with-the-iis-powershell-snap-in/

但是,硬編碼證書指紋似乎並不優雅......所以如果有人知道更好的方法,我會很高興聽到。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM