PsExec 和 Windows 2008 R2:“访问被拒绝”

Dav*_*ner 6 iis-7 windows-server-2008-r2 pstools

这是我的场景:

我正在尝试使用PsExec从本地计算机远程启动和停止服务器上的 IIS 7.0 站点。

一些要点:

  • 本地机器运行Windows Vista
  • 服务器运行Windows 2008 R2
  • 每台机器都运行在不同的域上
  • 从我的本地机器的域到我的服务器的域有一种单向信任
  • PsExec使用域管理员帐户,该帐户在服务器计算机上被认证为本地管理员。
  • 本地机器通过别名引用服务器;它不使用服务器的真实姓名。

我正在使用命令:

"C:\Program Files\PSTools\psexec.exe" \\(server-alias) -u (server-domain)\(domain-admin) -p (password) C:\Windows\System32\inetsrv\appcmd.exe stop site "Default Web Site"
Run Code Online (Sandbox Code Playgroud)

这将返回错误:

PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com
Could not start PsExec service on (server-alias):
Access is denied.
Run Code Online (Sandbox Code Playgroud)

以及一些重要的故障排除说明:

  • 此命令在从服务器域中的另一台计算机 ( Windows 2003 R2 )执行时起作用。(域内
  • 当从我的本地机器对另一台运行Windows 2003 R2 的机器执行时,此命令也有效;两者在不同的域中。(跨域
  • 除了使用ping而不是appcmd.exe之外,使用相同的 PsExec 命令失败。
  • 该命令已使用“以管理员身份运行”从命令提示符运行。
  • 已在服务器上设置注册表项DisableStrictNameChecking以允许使用别名。
  • 已在服务器和本地计算机上设置了注册表项LocalAccountTokenFilterPolicy = 1
  • 服务器上未运行 Windows 防火墙。
  • UAC 在本地机器上被禁用。
  • UAC 在服务器上处于活动状态。
  • UAC在服务器上禁用了“管理员批准模式”;这允许命令在域内(而不是域间)工作。

这似乎表明这是一个特定于 Windows 2008 R2 的问题,它与安全设置相关,可能与域或管理权限有关。但是,我没有想法。您可能有任何建议将不胜感激!

Jim*_*m B 1

您是否在 Vista 工作站上通过提升的命令提示符运行 PSEXEC?您是否设置了 LocalAccountTokenFilterPolicy=1?请参阅常见问题解答:常见 PSTools 问题