PsExec:Win7-to-Win7访问被拒绝(psexesvc仍然存在)

时间:2013-09-13 16:55:11

标签: psexec

我遇到了问题,互联网似乎没有解决方案,所以也许有人可以提供帮助。

我正在尝试使用PsExec在远程计算机上启动命令行提示符,但我不断收到“访问被拒绝”错误。我的本地和远程计算机都运行Windows 7企业版(本地: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时)。在远程计算机上停用防病毒和防火墙并没有什么区别。我无法在本地停用它,但我怀疑错误是由那里引起的。

有没有人有任何想法?

5 个答案:

答案 0 :(得分:9)

有点晚了,我知道,但我一直试图解决这个问题。事实证明它与安全级别/用户访问级别有关。

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

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

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

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

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

或者,在正常的命令提示符下,您可以这样做:

runas / user:domain \ administrator“psexec \\ remote cmd”

答案 1 :(得分:3)

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

所以底线是你应该使用你发送呼叫的机器本地的管理员帐户启动对远程服务器的psexec调用。

最好还是在你的psexec字符串之前插入它,现在用双引号

runas / user:“”

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

答案 2 :(得分:3)

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

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

使用本地共享和其他权限无法实现Runas。

答案 3 :(得分:2)

我知道这已经很晚了,但是因为这是我在Google上的第一次搜索,我将会回复。

通过大量研究,我发现你需要在系统名称之前输入用户名和密码,而不是:

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

这样做:

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

答案 4 :(得分:1)

我想从服务器共享(我正在处理的PC,我以域管理员身份登录)远程安装一个程序" RemotePC"。

PsExec使用" local"在RemotePC上工作程序(本地到#34; RemotePC"),如cmd.exe:

  

PsExec.exe \\ RemotePC cmd.exe

最初,我的完整命令看起来像这样:

  

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

但是服务器共享的设置没有启动。 错误讯息:

  

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

     

访问被拒绝

我尝试了我在此处以及其他网站上提供的大部分解决方案,例如添加PsExec -u administrator -p password和使用cmd.exe /c,但它没有效果。

最后我发现了一个工作命令(/scommandline附近有额外的引号做了诀窍):

  

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

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

  

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