Powershell远程处理错误 - 找不到网络路径

时间:2012-07-30 11:16:42

标签: powershell powershell-remoting

我无法使用enter-pssession -computername serverA连接到远程服务器。我的情景:

  • 我在同一个域中有2台Win 2003 R2服务器。 ServerA是WSUS服务器,serverB是域控制器
  • 两台服务器都启用了powershell远程处理
  • 两台服务器都配置了winrm(winrm quickconfig
  • 两台服务器都将TrustedHosts设置为*
  • setspn.exe设置正确(http,https,wsman等)
  • 两台服务器都关闭了防火墙
  • 两台服务器都有PowerShell 2.0

我正在尝试从serverB到serverA的域管理凭据下enter-pssession -computername serverA,它会抛出以下错误:

“”“Enter-PSSession:连接到远程服务器失败,并显示以下错误消息:WinRM无法处理请求。使用Kerberos身份验证时出现以下错误:找不到网络路径。”“”

当我尝试使用来自serverA的域管理凭据下的enter-pssession -computername serverB时,它运行正常!它也适用于我使用localhost所以:enter-pssession -computername localhost在域管理员凭据下(在服务器A上)也可以工作,但是当我在serverA(而不是localhost)enter-pssession -computername serverA上尝试主机名时,它会抛出相同的错误

我还尝试使用get-credential并提供不同类型的凭据,但它没有帮助。唯一有帮助的是使用本地(非域)管理员帐户并运行enter-pssession -computername serverA -credentials $cred并且它有效,但只在本地,我能够从本地机器(从serverA到自身)执行此操作,但不能从serverB执行此操作serverA \ administrator凭据下的serverA。

有什么想法吗?

由于

5 个答案:

答案 0 :(得分:4)

首先,我使用我的域管理员帐户创建了凭据变量:

$cred = get-credential - 我输入了我的域名\用户名和密码

然后我在-ComputerName参数中使用了IP地址而不是主机名,所以enter-pssession看起来像:

Enter-Pssession -ComputerName 192.168.1.111 -Credential $cred

这种方法也适用于invoke-command

invoke-command -ComputerName 192.168.1.111 -Credential $cred -ScriptBlock {hostname}

我仍然不知道为什么它不能与主机名一起使用,为什么我必须创建$ cred,但是因为我需要一个快速的解决方案,这对我来说很好。

感谢您的帮助。

答案 1 :(得分:4)

我遇到了完全相同的问题。使用 FQDN 为我工作。

Chris N是对的:

The network path was not found.

这显然是DNS解析错误;特别是如果IP地址有效。我冒昧地说有名称后缀路由问题。

ComputerName description表示 NETBIOS名称应该可以使用,但在我的环境中测试时却没有。 FQDN是 -ComputerName 属性的另一个选项,并为我修复了此错误。

尝试使用(当然使用您的FQDN):

Invoke-Command -ComputerName servera.vertigion.com

注意: 请注意它全部小写。使用camel case(serverA.vertigion.com)失败并出现相同的错误。我意识到nslookup通常不区分大小写。

注意:我没有遇到 Enter-PSSession 命令的问题。我相信 Invoke-Command 存在一个错误(或至少是一种明显的不一致)。

更多信息:http://go.vertigion.com/PowerShell_Invoke-Command

答案 2 :(得分:0)

听起来问题在于名称解析。您可以通过从ServerB ping ServerA来确认这一点。如果它失败了你可以从那里工作。尝试通过FQDN(servera.mydomain.com)或通过IP进行ping操作。

答案 3 :(得分:0)

查看更多信息here。我在一对已经工作的服务器上遇到了这个问题,然后自发停止并开始发出OP的错误消息。我重新启动了目标服务器,这让事情再次发挥作用。

答案 4 :(得分:0)

将TCP / IP NETBIOS服务设置为自动启动,然后启用服务。 如果需要,还允许在适配器属性中使用NETBIOS。