无法在 [MachineName] 上启动 PSEXESVC 服务:访问被拒绝

无法在 [MachineName] 上启动 PSEXESVC 服务:访问被拒绝

我正在尝试使用 PsExec 在远程机器上启动一个进程。我在 SO 上发布了这个问题,但我意识到它可能更适合在这里。我也花了几个小时试图弄清楚这一点,但并没有取得任何进展。

这是我看过的一个问题以及一些论坛帖子。第二个链接是我感兴趣的。其中一位发帖人建议使用 net use 来查看我尝试用于 PsExec 的凭据是否适用于此,结果确实如此。当我尝试运行 PsExec 时,我从 cmd 的管理员实例运行它,并使用以下命令:

PsExec.exe \\[MachineName] -u [domain]\[user] -p [password] cmd

这是不成功的,并返回:

Could not start PSEXESVC service on [MachineName]:
Access is denied.

但是,当我在同一个 cmd 实例中发出此命令时:

net use \\[MachineName] /user:[domain]\[user]

系统提示我输入密码,我输入了[password],然后返回:

The command completed successfully.

在我看来,这似乎是所有相关信息,而且在我看过的其他帖子中也似乎如此,但我不确定还要添加什么。我花了几个小时试图弄清楚这一点,但没有成功。如果您能提供任何帮助,我将不胜感激,如果您需要我提供任何其他信息,请告诉我。

答案1

请按照以下方式使用该命令:

PsExec.exe -u [domain]\[username] -p [password] \\[Machine Name] cmd

由于某种原因,PsExec 尝试使用您的本地凭据而不是指定的域凭据在远程计算机上启动“PsExeSVC”,因此出现“访问被拒绝”错误。

另一方面,当您首先指定凭据时,它会按预期工作。

答案2

我正在使用 PsExec v2.2,使用 psexec64 时问题得到了解决。

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

答案3

我很惊讶,但这个解决方案对我来说也有效。我只是使用了 sysinternals 提供的 psexec64.exe 而不是 psexec.exe,第一次尝试就成功了,没有问题。

相关内容