Iis &引用;无法枚举SSL绑定";错误代码234

Iis &引用;无法枚举SSL绑定";错误代码234,iis,powershell,ssl,binding,Iis,Powershell,Ssl,Binding,有人知道如何解决这个问题吗 在PowerShell中键入以下命令时复制 dir iis:\sslbindings 我遇到了一些无法解决问题的问题 编辑 当调用命令时,我得到了错误 无法枚举SSL绑定 显然是由于注册表损坏?在我的例子中,当注册表中同时有SslCertStoreName和DefaultSslCtlStoreName时,我出现了错误。我删除了DefaultSslCtlStoreName,错误消失了一段时间。出于某种原因,DefaultSslCtlStoreName再次在注册表中创建

有人知道如何解决这个问题吗

在PowerShell中键入以下命令时复制

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时,我的机器出现了上述奇怪的问题,这就解决了这个问题。再次感谢。