You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerShell远程会话SSL证书无效问题的进一步诊断方法

诊断PowerShell远程会话证书错误的步骤
  • 确认目标服务器WinRM绑定的证书详情
    登录目标服务器(通过RDP),打开PowerShell执行以下命令,查看WinRM使用的证书信息:

    # 列出WinRM服务的证书映射
    winrm get winrm/config/service/certmapping
    
    # 筛选本地计算机中用于WinRM的证书
    Get-ChildItem -Path Cert:\LocalMachine\My | Where-Object { $_.EnhancedKeyUsageList -match "WinRM" } | Select-Object Subject, Issuer, NotAfter, Thumbprint
    

    重点检查证书的NotAfter(过期时间)和Issuer(颁发机构),确认是否真的过期,以及颁发机构是否为未被信任的实体。

  • 验证本地计算机对目标证书的信任状态
    从目标服务器导出WinRM证书的公钥文件(.cer格式),在本地计算机的PowerShell中执行以下命令,检查证书状态:

    Get-Certificate -FilePath "C:\路径\到\服务器证书.cer" | Select-Object Subject, Issuer, NotAfter, Status
    

    查看Status字段,判断证书是否显示Untrusted(未信任)或Expired(已过期)。

  • 临时绕过证书验证测试(仅用于诊断)
    在本地执行以下命令,临时跳过CA检查、CN检查和吊销检查,确认是否是证书验证导致的连接失败:

    New-PSSession -ComputerName myserver.westeurope.cloudapp.azure.com -UseSSL -Credential $credential -ErrorAction Stop -SessionOption (New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck)
    

    如果命令执行成功,说明问题确实出在证书验证环节,而非WinRM服务的其他配置错误。

  • 检查目标服务器WinRM监听器的证书绑定
    在目标服务器执行以下命令,确认WinRM监听器绑定的证书指纹是否与有效证书一致:

    winrm enumerate winrm/config/listener
    

    查看返回结果中的CertificateThumbprint字段,对比之前查到的WinRM证书指纹,排查是否存在绑定错误。

  • 对比RDP与WinRM使用的证书差异
    在目标服务器执行以下命令,查看RDP使用的证书:

    Get-ChildItem -Path Cert:\LocalMachine\RemoteDesktop | Select-Object Subject, Issuer, NotAfter, Thumbprint
    

    将其与WinRM的证书对比,确认两者是否为同一证书——RDP的证书可能已被你手动信任,但WinRM使用的是另一张过期或未被信任的证书。

内容的提问来源于stack exchange,提问作者g.pickardou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 12:52:39