几点评论。
首先,您可以使用以下命令在不使用 MMC 的情况下访问 IIS Express 指纹:
powershell -command "& {get-childitem -path cert:\localmachine\my | where-object {$ .FriendlyName -match 'IIS Express Development Certificate'} | % { $ .Thumbprint}}"
如http://msdn.microsoft.com/en-us/library/ms733791.aspx中所述,您可以使用命令中的指纹来访问 netsh。您可以使用上述 powershell 技术为您的特定 IIS Express 安装构建正确的 netsh 命令。
让我们添加到上面的命令,让它为端口 443 输出正确的 netsh 命令:
powershell -command "& {get-childitem -path cert:\localmachine\my | where-object {$ .FriendlyName -match 'IIS Express 开发证书'} | % { 'netsh http add sslcert ipport=0.0.0.0:443 appid ={214124cd-d05b-4309-9af9-9caa44b2b74a} certash='+$ .Thumbprint}}"
这将显示您应该使用的完整 netsh 命令。您可以复制/粘贴它并自己调用它。您也可以添加** | cmd.exe** 到上述命令以自动调用它。让我们这样做。下面是上面的 PowerShell 命令,您可以将其复制/粘贴到管理员命令提示符中,以设置将本地 443 端口绑定到本地 IIS Express 证书:
powershell -command "& {get-childitem -path cert:\localmachine\my | where-object {$ .FriendlyName -match 'IIS Express 开发证书'} | % { 'netsh http add sslcert ipport=0.0.0.0:443 appid ={214124cd-d05b-4309-9af9-9caa44b2b74a} certash='+$ .Thumbprint}}" | 命令文件