我最近让PowerShell与CredSSP完美配合,但现在每次我尝试使用CredSSP建立远程会话时,我都会收到以下错误:
Enter-PSSession:连接到远程服务器server01.contoso.com失败,并显示以下错误消息:WinRM客户端收到HTTP服务器错误状态(500),但远程服务未包含有关失败原因的任何其他信息。有关详细信息,请参阅about_Remote_Troubleshooting帮助主题。在行:1 char:1 + Enter-PSSession -ComputerName server01.contoso.com -Credential $ cred -Authentication C ... + ~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~ + CategoryInfo:InvalidArgument:(server01.contoso.com:String)[Enter-PSSession],PSRemotingTransportException + FullyQualifiedErrorId:CreateRemoteRunspaceFailed
我尝试过使用重置winrm服务 winrm invoke restore winrm/config
我已经尝试禁用PowerShell远程处理,禁用CredSSP(客户端和服务器),重新启用PowerShell远程处理,重新启用CredSSP,禁用与配置WinRM和凭据委派相关的任何GPO,并且没有任何工作。有没有办法进一步深入研究这是怎么回事?
这影响了我实验室环境中的所有Windows Server 2012系统,这些系统显然正在运行PowerShell v3。
在客户端,我在Windows远程管理事件日志中看到了这一点:WSMan operation CreateShell failed, error code 2150859120
配置服务器
Disable-PSRemoting -Force;
Disable-WsmanCredssp -Role Client;
Disable-WsmanCredssp -Role Server;
Enable-PSRemoting -Force;
Set-WSmanQuickConfig -UseSSL -Force;
Enable-WsmanCredSSP -Role Server -Force;
配置客户端
Disable-PSRemoting -Force;
Disable-WsmanCredssp -Role Client;
Disable-WsmanCredssp -Role Server;
Enable-PSRemoting -Force;
Set-WSmanQuickConfig -UseSSL -Force;
Enable-WsmanCredssp -Role Client -DelegateComputer *.contoso.com -Force;
配置客户端和服务器后,运行:
$cred = Get-Credential;
Enter-PSSession -ComputerName server.contoso.com -Credential $cred -Authentication CredSSP;
这一致地再现了错误。