寻求有关powershell api连接问题的帮助。以下代码适用于所有客户,但是,对于其中一个客户,它返回错误:
var context = new WSManConnectionInfo(new Uri(uri),
"http://schemas.microsoft.com/powershell/Microsoft.PowerShell",
new PSCredential(username, securePassword))
{
SkipCACheck = true,
SkipCNCheck = true
};
using (var pool = RunspaceFactory.CreateRunspacePool(1, counterDefinitions.Count, context))
{
pool.Open();
pool.Open()行返回以下异常:
类型的第一次机会异常 'System.Management.Automation.Remoting.PSRemotingTransportException' 发生在System.Management.Automation.dll
中附加信息:处理来自远程服务器的数据 xxx.xx.xx.xx失败,并显示以下错误消息:请求 带有ShellId的Windows远程shell some-guid-number失败,因为 在服务器上找不到shell。可能的原因是: 指定的ShellId不正确或shell上不再存在 服务器。提供正确的ShellId或创建新shell并重试 操作。有关更多信息,请参阅 about_Remote_Troubleshooting帮助主题。
如果要检查异常的Intellitrace,则在堆栈中抛出一个更高的异常如下:
“客户端无法连接到指定的目标 请求。验证目标上的服务是否正在运行 接受请求。请参阅日志和文档 在目标上运行的WS-Management服务,最常见的是IIS或 WinRM的。如果目标是WinRM服务,请运行以下命令 命令在目标上分析和配置WinRM服务: “winrm quickconfig”。 “(System.Runtime.InteropServices.COMException)A 抛出了System.Runtime.InteropServices.COMException:“客户端 无法连接到请求中指定的目标。校验 目的地上的服务正在运行并且正在接受 要求。请参阅WS-Management的日志和文档 在目标上运行的服务,最常见的是IIS或WinRM。如果 destination是WinRM服务,运行以下命令 目的地分析和配置WinRM服务:“winrm quickconfig“。”
关于可能出现什么问题的任何想法?客户已验证winrm正在运行和配置,并且该防火墙具有开放端口等。
服务器正在运行Windows Server 2012,作为Azure上的VM