Windows 错误: WinRM 客户端身份验证冲突
描述
This error occurs when you attempt to establish a remote connection using Windows Remote Management (WinRM) while passing conflicting authentication parameters. Specifically, you have configured the connection to use both Certificate-based authentication (通过证书指纹) 和 Explicit Credential authentication (通过用户名和密码) 同时.
WinRM将它们视为安全和协议标准的相互排斥的身份验证机制.您必须使用证书或用户名/密码组合进行身份验证,但永远不要在同一命令或配置会话中使用两者.
逐步修复问题
方法1:删除用户名和密码参数
如果您的目标是使用数字证书进行安全身份验证,则必须从命令或脚本中删除明确凭证.
- 打开您的代码,脚本或命令提示符,在WinRM连接启动的地方.
- 找到这些参数.
-Credential,-Username或是-Password. - 删除这些凭证参数完全从你的命令.
- 确保你的指挥部只保留
-CertificateThumbprint参数 - 执行修改后的命令,仅通过证书进行身份验证.
方法2:删除证书指纹参数
如果您的基础设施依赖于传统的主动目录或本地用户凭证,则必须放弃证书要求.
- 找到触发连接的配置或脚本.
- 找一个
-CertificateThumbprint参数 - 删除指纹标志及其相关的六角数值.
- 留下这个
-Credential参数传输您的用户名和密码. - 运行命令以使用标准基本,消化或Kerberos谈判进行身份验证.
方法3:重置 WinRM 客户端配置
如果没有手动脚本,此错误会自动发生,则您的默认 WinRM 客户端属性可能会被损坏或配置错误.您可以通过 PowerShell 重新设置运输设置.
- 按下 Start 菜单是这样的.
- 它们的类型 PowerShell.
- 按下右键 Windows PowerShell 并且选择 Run as administrator.
- 键入以下命令来检查当前的身份验证设置:
Get-ChildItem WSMan:\localhost\Client\Auth - 如果强制使用冲突的默认机制,请通过运行:
winrm quickconfig - 按下 Y 并且击中了 Enter 如果提示进行配置更改.
可能有一些错误.. Learn Microsoft