Iis &引用;无法枚举SSL绑定";错误代码234
有人知道如何解决这个问题吗 在PowerShell中键入以下命令时复制Iis &引用;无法枚举SSL绑定";错误代码234,iis,powershell,ssl,binding,Iis,Powershell,Ssl,Binding,有人知道如何解决这个问题吗 在PowerShell中键入以下命令时复制 dir iis:\sslbindings 我遇到了一些无法解决问题的问题 编辑 当调用命令时,我得到了错误 无法枚举SSL绑定 显然是由于注册表损坏?在我的例子中,当注册表中同时有SslCertStoreName和DefaultSslCtlStoreName时,我出现了错误。我删除了DefaultSslCtlStoreName,错误消失了一段时间。出于某种原因,DefaultSslCtlStoreName再次在注册表中创建
dir iis:\sslbindings
我遇到了一些无法解决问题的问题
编辑
当调用命令时,我得到了错误
无法枚举SSL绑定
显然是由于注册表损坏?在我的例子中,当注册表中同时有SslCertStoreName和DefaultSslCtlStoreName时,我出现了错误。我删除了DefaultSslCtlStoreName,错误消失了一段时间。出于某种原因,DefaultSslCtlStoreName再次在注册表中创建,我再次遇到了错误。所以我编写了一个简单的powershell脚本来删除它 这是我的构建脚本中的一部分
function CleanupSslBindings()
{
$sslBindingsPath = 'hklm:\SYSTEM\CurrentControlSet\services\HTTP\Parameters\SslBindingInfo\'
$registryItems = Get-ChildItem -Path $sslBindingsPath |
Where-Object -FilterScript { ($_.Property -eq 'DefaultSslCtlStoreName')}
If ($registryItems.Count -gt 0) {
ForEach ($item in $registryItems) {
$item | Remove-ItemProperty -Name DefaultSslCtlStoreName
Write-Host "Deleted DefaultSslCtlStoreName in " $item.Name
}
} Else {
Write-Host "No DefaultSslCtlStoreName found. The SSL Bindings registry is clean."
}
}
在我的例子中,我构建了作为windows服务托管的WCF服务。当我这样做的时候,我显然不知道(现在仍然不知道)如何分配appid(当你用netsh http显示sslcert时会很明显),以及其他突然出现的项目。。。包括与此错误相关的项目 从本质上讲,我读到了与OP相同的页面: …然后使用regedit,转到键:HKLM\System\Currentcontrolset\services\http\parameters\sslbindinginfo 当我执行上面的netsh命令时,我看到了所有相同的条目。但是,首先列出我的wcf服务,然后是我的IIS站点。我的wcf服务都没有SSLCertStoreName密钥(只有IIS站点有该密钥)。根据文章的解释,第一个条目需要有该注册表项(我认为这是一个bug),我执行了以下PowerShell命令:
Try
{
Get-ChildItem IIS:\SslBindings
}
Catch
{
$1stentry = Get-ChildItem HKLM:\SYSTEM\CurrentControlSet\services\HTTP\Parameters\SslBindingInfo | Select-Object -First 1
$1stentry | New-ItemProperty -Name "SslCertStoreName" -Value "MY"
Get-ChildItem IIS:\SslBindings
}
这段代码对我很有用。那篇文章让我明白了这段234错误代码的根本原因是由于没有正确安装WCF服务而造成的自残。YMMV。希望这能有所帮助。对延迟表示歉意,但我用以下脚本解决了问题(见下文)。出于某种奇怪的原因(我不知道为什么),在我的注册表中添加了两个条目,删除这些条目后,问题就消失了。当我将我的注册表与另一台没有这个问题的机器进行比较时,我发现了这个问题,并找到了罪魁祸首
Remove-ItemProperty -Path "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters\SslBindingInfo\" -Name "[::1]:26143" -ErrorAction SilentlyContinue
Remove-ItemProperty -Path "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services\HTTP\Parameters\SslBindingInfo" -Name "127.0.0.1:26143" -ErrorAction SilentlyContinue
echo "Done."
@Bewc我认为你已经了解了一些事情,尽管我认为它影响的不仅仅是WCF服务。我们有一个powershell脚本,可以在机器上构建和部署网站(我知道这听起来很疯狂)。我不知道是谁或是什么创建了这些条目,但可能是IIS中的某个后台进程?该命令需要PowerShell中的“导入模块WebAdministration”。感谢您提供此解决方案!当我试图使用powershell自动设置IIS时,我的机器出现了上述奇怪的问题,这就解决了这个问题。再次感谢。