Windows 2008 R2 上的 PSExec 失败“找不到网络名称”

Windows 2008 R2 上的 PSExec 失败“找不到网络名称”

我们有一堆依赖 psexec 的远程管理脚本,它们似乎无法在我们的新 2008 主机上通过网络运行。错误转储如下:

C:\Users\<user>\Desktop\PsTools> psexec \\<host IP> -u Administrator -p <pass> <cmd>
PsExec v1.97 - Execute processes remotely
Copyright (C) 2001-2009 Mark Russinovich
Sysinternals - www.sysinternals.com
Couldn't access <host IP>:
The network name cannot be found.
Make sure that the default admin$ share is enabled on <host IP>.

我们尝试了机器名称和 IP 地址,结果相同。同样的命令之前在我们的 Win2K3 主机上也起作用 - 因此我们推测这是 2003 和 2008R2 之间某种形式的安全变化。

有人有任何线索吗?

答案1

您必须启用 Windows Server 防火墙的一些入站连接规则才能实现文件和打印机共享:

  • 回显请求
    • ICMpv4-输入
    • ICMpv6-输入
  • NB 数据报输入
  • NB-名称-输入
  • NB 会话进入

答案2

我今天遇到了这个问题,下面是我修复它的方法。感谢阅读了 psExec 工作原理的描述。

在远程机器上打开服务。检查“服务器”服务是否已启用并启动。如果“服务器”未运行,psExec 将不起作用。

答案3

Windows Vista/2008 更改了安全设置(win 7/server 2008R2 扩展)

验证文件和打印机共享是否已启用并允许通过 Windows 防火墙。在 Server 2008 和 Server 2008 R2 上,它们默认处于关闭状态。在 Server 2003 中,它默认启用并可访问。

相关内容