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

  • 我在同一域中有2台Win 2003 R2服务器。 ServerA是WSUS服务器,serverB是域 Controller
  • 两台服务器均启用了Powershell远程处理
  • 两台服务器均已配置winrm(winrm quickconfig)
  • 两个服务器的TrustedHosts都设置为*
  • setspn.exe正确设置(http,https,wsman等)
  • 两个服务器均已关闭FireWall
  • 两台服务器都具有PowerShell 2.0

  • 我正在尝试将域管理员凭据下的enter-pssession -computername serverA从serverB传输到serverA,并抛出以下错误:

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

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

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

    有任何想法吗?

    谢谢

    最佳答案

    首先,我使用域管理员帐户创建了凭据变量:
    $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,但是由于我需要一种快速的解决方案,因此这对我来说很好用。

    感谢帮助。

    关于Powershell远程处理错误-找不到网络路径,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11720392/

    10-13 08:24