【问题标题】:Impossible to invoke command on a server (Powershell)无法在服务器上调用命令(Powershell)
【发布时间】:2017-07-27 15:25:17
【问题描述】:

我有一个问题,我无法远程执行 powershell 命令。

Invoke-Command -ComputerName MYCOMPUTER -Credential MYDOMAIN\MYUSER -ScriptBlock {Get-Culture}

这是我的错误日志:

Winrs 错误:WinRM 无法处理请求。以下错误 使用 Kerberos 身份验证时发生:网络路径不是 找到了。

可能的原因有:

-指定的用户名或密码无效。 -当没有身份验证方法和用户名时使用 Kerberos 指定。

-Kerberos 接受域用户名,但不接受本地用户名。 - 远程计算机名称的服务主体名称 (SPN) 和 端口不存在。

-客户端和远程计算机在不同的域中 是两个域之间不信任。 检查上述问题后,尝试以下操作:

-检查事件查看器以获取与身份验证相关的事件。 -改变认证方式;将目标计算机添加到 WinRM TrustedHosts 配置设置或使用 HTTPS 传输。

我拥有服务器的完全权限,我在管理员中也做了“Enable-PSRemoting -Force”,WinRm quickconfig”,我可以 ping 服务器并连接它。

这很奇怪,因为我可以在具有相同版本的 Windows (Windows Server 2008 R2) 和相同版本的 powershell (2.0) 的另一台服务器上执行此操作。 你能帮我吗?

谢谢

【问题讨论】:

  • 您是否已添加到受信任的主机列表中?
  • 我没有在第一台服务器上做过这个,但我很感兴趣。我该怎么做?
  • 好的,我试过了:Set-item wsman:localhost\client\trustedhosts -value *,它不适合我
  • 首先浏览这个LINK。这将是您的第一步。然后,如果您遇到任何问题。让我知道。请记住,一个 PS 必须信任另一个系统才能远程运行某些东西
  • 感谢您的链接@RanadipDutta,值得信赖的主机是正确的答案。

标签: powershell remote-server winrm


【解决方案1】:

您可以验证受信任主机的可用性:

  1. 右键单击 Windows PowerShell 快捷方式并选择以管理员身份运行,以管理员身份启动 Windows PowerShell。

  2. 在 PowerShell 提示符下,您可以使用以下命令验证 WinRM 服务是否正在运行:

    get-service winrm

输出中 Status 属性的值应该是“Running”。

  1. 要配置 Windows PowerShell 以进行远程处理,请键入以下命令:

    启用-PSRemoting –force

使用以下命令将远程系统添加到受信任的主机下:

winrm s winrm/config/client '@{TrustedHosts="RemoteComputer"}'

然后您可以使用以下命令进行检查:

winrm quickconfig

参考链接:Enabling Remoting in Powershell

【讨论】:

  • 最后一个命令不仅仅是一个“检查”。我必须在远程命令起作用之前运行它。它问我Configure LocalAccountTokenFilterPolicy to grant administrative rights remotely to local users,我不得不选择y
  • @BurnsBA:是的,这是一个验证
  • 更改答案中的措辞以表明该步骤是必需的会有所帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-04-05
  • 2014-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多