【问题标题】:PSexec and windows 2008 server (access denied)PSexec 和 windows 2008 服务器(拒绝访问)
【发布时间】:2013-12-04 11:16:32
【问题描述】:

我有一个使用 psExec 检索远程主机上的环境变量的程序。我收到错误:无法在 xxhost 上启动 PSEXESVC 服务访问被拒绝。

此命令适用于 windows 2003 服务器,但不适用于 2008(如果我以另一个用户身份运行 CMD,它适用于 2008): psexec \xxhost -u xxdomain\xxuser -p xxpasswrd -h cmd /c echo %%JAVA_HOME^%%

我还尝试在执行 psexec(使用 NET USE)之前创建一个连接 - 如上所述,这适用于 2003 年,但不适用于 2008 年: 网络使用\XXhost psexec \host cmd /c echo %%JAVA_HOME^%%

问题是我不能在批处理文件中使用 RUNAS,因为它会提示输入密码。那么,有没有人知道无需在远程服务器上进行更改的解决方法?

【问题讨论】:

标签: psexec


【解决方案1】:

我花了几个小时在 2 台 Windows 7 计算机之间找到 PsExec 的工作方式,非管理员用户启动 PsExec ...禁用 UAC (EnableLUA=0, ConsentPromptBehaviorAdmin=0, LocalAccountTokenFilterPolicy=1) 不起作用,关闭防火墙不起作用...

在这里我找到了工作方式 - 感谢 JelmerS: (来自https://serverfault.com/questions/489822/psexec-is-not-connecting-to-machine-using-supplied-username-and-password/489845的信息)

这是因为 psexec 在以其他用户身份执行命令之前,仍会尝试使用您的本地凭据访问 ADMIN$ 共享。根据这个线程,您可以在执行 psexec 之前缓存凭据:

cmdkey.exe /add:MACHINE_NAME_HERE /user:MACHINE_NAME_HERE\Administrator /pass:PASSWORD_HERE 
psexec.exe \\MACHINE_NAME_HERE -i notepad
cmdkey.exe /delete:MACHINE_NAME_HERE

【讨论】:

  • 嗨哇,不知道我得到了这个回复。不过谢谢,期待试用!
  • 它工作!谢谢,但我想知道为什么 psexec.exe \\MACHINE_NAME_HERE -u xxdomain\xxuser -p xxpassword -i notepad 不起作用,这是一个已知的错误吗?
【解决方案2】:

我正在使用 PsExec v2.2,当我使用 psexec64 时问题已解决。

https://community.spiceworks.com/topic/1977162-psexec-32-bit-on-64-bit-host-no-longer-working

【讨论】:

    【解决方案3】:

    对我来说,即使使用 PSEXEC64 也不起作用。仍然收到相同的错误。以下是有效的方法 - 我必须将运行 psexec 命令的用户添加到远程计算机的管理员组,然后退出,然后以该用户身份登录。

    但后来我收到了一个新错误:“登录失败:未授予用户在此计算机上请求的登录类型”

    解决此问题的方法是将 -i 开关添加到命令行。这仅适用于 PSEXEC 2.30 及更高版本。所以我的命令提示符看起来像这样:

    psexec64 -u domain\username -p password -i \\remotemachinename cmd
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-22
      • 2010-10-24
      • 1970-01-01
      • 1970-01-01
      • 2011-04-06
      • 2018-06-14
      • 2013-08-02
      相关资源
      最近更新 更多