3

我有一个问题,互联网似乎没有解决方案,所以也许这里有人可以提供帮助。

我正在尝试使用 PsExec 在远程计算机上启动命令行提示符,但我不断收到“拒绝访问”错误。我的本地和远程机器都在运行 Windows 7 Enterprise(本地:x64,远程 x86)并且我使用的是 PsExec 1.98。我使用以下命令:

psexec \\remote -u domain\user -p password -i -d cmd.exe

我也尝试过其他命令(比如使用-s、-h等),好像没什么区别。我可以从本地计算机访问远程计算机的 admin$ 共享。事件查看器告诉我远程机器上发生了登录(和注销)。

此外,PsExec 在 windows 目录中创建 PSEXESVC.EXE,但不会删除它!有趣的是,相同的命令在 Win-7-Professional (x64) 上运行良好,反向运行也很好(即从远程机器执行以在本地机器上启动 cmd)。停用远程计算机上的防病毒和防火墙并没有什么不同。我无法在本地停用它,但我怀疑错误是在那里引起的。

有没有人有任何想法?

4

5 回答 5

9

有点晚了,我知道,但我也一直在尝试解决这个问题。原来它与安全级别/用户访问级别有关。

我试图从本地 PC 上的命令提示符运行 psexec,并通过右键单击并选择“以管理员身份运行”来启动命令提示符。然后,我将针对远程服务器运行 psexec 命令,并为 -u 参数指定域管理员帐户。

但是,我的本地帐户仅在本地计算机上具有管理权限,而不是远程帐户,并且选择“以管理员身份运行”实际上并不意味着“以域管理员身份运行”!(显然,呃!)。

所以,实际上,发生的事情是它试图在远程上以域管理员身份运行我的主命令,但 psexec 部分正在作为我的(非管理员)域用户帐户运行 - 它没有适当的服务器上的权限。

解决方案:不要像上面那样启动命令提示符,而是使用runas命令。

例如:开始 -> 运行 -> runas /user:domain\administrator cmd
然后运行您的 psexec 命令,您将不需要 -u 标志

或者,在普通命令提示符内,您可以改为:

runas /user:domain\administrator "psexec \\remote cmd"

于 2013-10-24T09:05:18.220 回答
3

在尝试了一切但仍然没有得到任何好的结果之后,我发现至少在我的情况下是什么问题。我有一台具有登录域帐户的机器(不是域管理员,但至少是机器管理员的本地帐户),并且很少有其他机器具有具有管理员权限的本地帐户。Psexec 对所有这些都工作,但没有在我的机器上使用具有本地管理员权限的域帐户工作。在 psexec 使用本地管理员帐户工作的机器上,我使用具有本地管理员权限的域帐户登录 - 毫不奇怪,它不起作用。

因此,底线是您应该使用您发送呼叫的机器的本地管理员帐户启动对远程服务器的 psexec 呼叫。

更好的是,只需在您的 psexec 字符串之前插入它,该字符串现在将用双引号括起来

运行/用户:“”

这样 psexec 将运行,但使用本地管理员帐户,无需使用本地管理员帐户实际登录

于 2014-02-13T15:32:15.063 回答
3

对我有用的唯一方法是设置网络凭据:

cmdkey /list:%DOMAIN% | find "%DOMAIN_USER%" >NUL || cmdkey /add:%DOMAIN% /user:%DOMAIN%\%DOMAIN_USER% /pass:%DOMAIN_USER_PWD% >>%LOGFILE% 2>>&1

Runas 在本地共享和其他权限下是不可能的。

于 2014-06-27T12:18:25.127 回答
2

我知道这真的很晚了,但是因为这是谷歌的第一次搜索,我要回复。

通过大量研究,我发现您需要在系统名称之前拥有用户名和密码,所以而不是:

psexec \\remote -u 域\用户 -p 密码 -i -d cmd.exe

这样做:

psexec -u 域\用户 -p 密码 -i -d \\remote cmd.exe

于 2014-12-19T16:16:05.457 回答
1

我想在“RemotePC”上远程从服务器共享(我正在使用的 PC,我以域管理员身份登录)安装程序。

PsExec 在 RemotePC 上使用“本地”程序(对于“RemotePC”来说是本地的),例如 cmd.exe:

PsExec.exe \\RemotePC cmd.exe

最初,我的完整命令如下所示:

PsExec.exe \\RemotePC "\\server\sharename\path to program\setup.exe" /s /v"/qn IP_SERVER=192.168.1.10 PORT=112 INSTALLDIR=\"%ProgramFiles(x86)%\path\ \ " "

但是服务器共享的设置没有开始。错误信息:

PsExec 无法在 RemotePC 上启动 \\server\sharename\path to program\setup.exe

访问被拒绝

我尝试了很多我在这里和其他网站上找到的解决方案,比如添加PsExec -u administrator -p password和使用cmd.exe /c,但没有奏效。

最后我找到了一个有效的命令(/s用额外的引号包围了commandline这个技巧):

PsExec.exe \\RemotePC -u 管理员 -p AdminPassword cmd.exe /s /c "命令行"

完整的工作命令如下所示:

PsExec.exe \\RemotePC -u 管理员 -p AdminPassword cmd.exe /s /c " "\\server\sharename\path to program\setup.exe" /s /v"/qn IP_SERVER=192.168.1.10 PORT=112 INSTALLDIR=\"%ProgramFiles(x86)%\path\" " "

于 2015-06-05T10:24:01.007 回答