对 CredSSP 进行故障排除

适用于:Azure Stack HCI 版本 22H2

某些 Azure Stack HCI 操作使用 Windows 远程管理 (WinRM),该功能默认情况下不允许凭据委派。 若要允许委派,计算机需要暂时启用凭据安全支持提供程序 (CredSSP)。 CredSSP 是一种安全支持提供程序,允许客户端将凭据委托给服务器进行远程身份验证。

启用 CredSSP 意味着安全状态降级,在大多数情况下,应在任务或操作完成后禁用。

需要启用 CredSSP 的某些任务包括:

  • 创建群集向导工作流
  • Active Directory 查询或更新
  • SQL Server 查询或更新
  • 查找不同域或未加入域的环境中的帐户或计算机

故障排除提示

如果遇到关于 CredSSP 的问题,以下故障排除方法可能会有所帮助:

  • 当在服务器上而不是在电脑上运行 Windows Admin Center 时,若要使用创建群集向导,你必须是 Windows Admin Center 服务器上的“网关管理员”组的成员。 有关详细信息,请参阅 Windows Admin Center 中的用户访问选项

  • 运行创建群集向导时,如果未建立 Active Directory 信任或该信任中断,则 CredSSP 可能会报告问题。 当将基于工作组的服务器用于群集创建时,会产生这种结果。 在这种情况下,请尝试手动重启群集中的每个服务器。

  • 在服务器上运行 Windows Admin Center 时,请确保用户帐户是“网关管理员”组的成员。

  • 建议你在与托管服务器属于同一域的成员的计算机上运行 Windows Admin Center。

  • 若要在服务器上启用或禁用 CredSSP,请确保你是该计算机上的网关管理员组中的一员。 有关详细信息,请参阅配置用户访问控制和权限的前两个部分。

  • 如果你在群集中的服务器上重启 WinRM 服务,系统可能会提示你在每台群集服务器与 Windows Admin Center 之间重新建立 WinRM 连接。

    执行此操作的一种方法是转到每台群集服务器,然后在 Windows Admin Center 的“工具”菜单上依次选择“服务”、“WinRM”、“重启”,然后在“重启服务”提示下选择“是”。

手动故障排除

如果收到以下 WinRM 错误消息,请尝试使用本部分中的手动验证步骤来解决该错误。 示例错误消息:

Connecting to remote <sever name> failed with the following error message: The WinRM client cannot process the request. A computer policy does not allow the delegation of the user credentials to the target computer because the computer is not trusted. The identity of the target computer can be verified if you configure the WSMAN service to use a valid certificate.

本部分中的手动验证步骤要求你配置以下计算机:

  • 运行 Windows Admin Center 的计算机
  • 你在其中收到了错误消息的服务器

若要解决此错误,请根据需要尝试以下补救步骤:

补救措施 1:

  1. 重启运行 Windows Admin Center 的计算机和服务器。

  2. 尝试再次运行创建群集向导。

    若要详细了解如何运行此向导,请参阅使用 Windows Admin Center 创建 Azure Stack HCI 群集

补救措施 2:

  1. 在运行 Windows Admin Center 的计算机上,以管理员身份打开 Windows PowerShell 并运行以下命令:

    Disable-WsmanCredSSP -Role Client  
    
    Enable-WsmanCredSSP -Role Client -DelegateComputer <Server FQDN Name>
    
  2. 使用 RDP 功能连接到服务器,然后运行以下 PowerShell 命令:

    Disable-WsmanCredSSP -Role Server  
    
    Enable-WsmanCredSSP -Role Server  
    
  3. 尝试再次运行创建群集向导。

    若要详细了解如何运行此向导,请参阅使用 Windows Admin Center 创建 Azure Stack HCI 群集

补救措施 3:

  1. 在运行 Windows Admin Center 的计算机上,运行以下 PowerShell 命令来检查服务主体名称 (SPN):

    setspn -Q WSMAN/<Windows Admin Center Computer Name>  
    

    结果应当会列出以下输出:

    WSMAN/<Windows Admin Center Computer Name>

    WSMAN/<Windows Admin Center Computer FQDN Name>

  2. 如果未列出结果,请运行以下 PowerShell 命令来注册 SPN:

    setspn -S WSMAN/<Windows Admin Center Computer Name> <Windows Admin Center Computer Name>  
    
    setspn -S WSMAN/<Windows Admin Center Computer Name> <Windows Admin Center Computer FQDN Name>  
    
  3. 使用 RDP 功能连接到服务器,然后运行以下 PowerShell 命令来检查 SPN:

    setspn -Q WSMAN/<Server Name>  
    

    结果应当会列出以下输出:

    WSMAN/<Server Name>

    WSMAN/<Server FQDN Name>

  4. 如果未列出结果,请运行以下 PowerShell 命令来注册 SPN:

    setspn -S WSMAN/<Server Name> <Server Name>  
    
    setspn -S WSMAN/<Server FQDN Name> <Server Name>  
    
  5. 尝试再次运行创建群集向导。

    若要详细了解如何运行此向导,请参阅使用 Windows Admin Center 创建 Azure Stack HCI 群集

补救措施 4:

如果前面的任何补救步骤失败或未完成,则可能表示 Active Directory 中存在记录冲突。 你可以使用不同的计算机名称将记录重新设置为 Active Directory 中的新记录。

若要重新设置 Active Directory 中的记录,请使用新的计算机名称重新安装 Azure Stack HCI 操作系统。

补救措施 5:

如果显示的错误消息提示 NTLM,请尝试以下操作:

  1. 在运行 Windows Admin Center 的计算机(具有“客户端”CredSSP 角色的计算机)上,运行以下命令查看配置了哪些策略:

    Get-ChildItem hklm:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation
    
  2. 如果 AllowFreshCredentialsWithNTLMOnly 丢失,请运行以下命令:

    New-Item hklm:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly
    

    然后运行:

    New-ItemProperty hklm:\SOFTWARE\Policies\Microsoft\Windows\CredentialsDelegation\AllowFreshCredentialsWhenNTLMOnly -Name 1 -Value "wsman/<Server FQDN Name>" -Force
    

后续步骤

有关 CredSSP 的详细信息,请参阅凭据安全支持提供程序