如何使用psexec在远程PC上使用提升的凭据运行exe作为服务?

时间:2016-05-20 00:41:14

标签: psexec

我正在使用下面的命令(并尝试了许多变体)在远程PC上将exe作为不同的域用户作为服务运行(p!)。

  

psexec \\ RemotePC -u admin -p mypass“SC create MyService displayname =   “MyService”binpath =“C:\ ProgramData \ Microsoft \ Windows \ Start   Menu \ Programs \ Startup \ MyService.exe“start = auto obj =   corp \ service_account password = servicepass“

我明白了:

  

PsExec无法启动sc创建MyService displayname = MyService on   RemotePC:系统找不到指定的文件。

我想我可能在错误的地方得到了一些空格或引号,但这让我疯了。尝试了各种变体,包括启动cmd.exe并将sc命令作为参数传递。同样的问题。

Windows 7 PC都在域环境中。尝试使用psexec命令发送本地管理用户凭据,并尝试以域级用户身份执行sc命令。

编辑:

试过这个:

  

c:\ SysInternals> psexec \\ RemotePC -h -u localadmin -p mypass“sc   创建MyService displayname = \“MyService Name \”binpath =   \“C:\ ProgramData \ Microsoft \ Windows \ Start Menu   \ Programs \ Startup \ MyService.exe \“start = auto obj = corp \ service_account   密码= domainpass“

得到了:

  

PsExec v2.11 - 远程执行进程版权所有(C)2001-2014 Mark   Russinovich Sysinternals - www.sysinternals.com

     

启动sc创建MyService displayname =“MyService Name”binpath =   “C:\ ProgramData \微软\的Windows \启动   Menu \ Programs \ Startup \ MyService.exe“start = auto obj = corp \ service_acc

     

PsExec无法在RemotePC上启动:文件名,   目录名称或卷标语法不正确。

     

C:\ Sysinternals的>

1 个答案:

答案 0 :(得分:1)

在没有评论或理由的情况下爱下来投票......

我自己解决了这个问题,只需删除其他任何有此问题的引号。

c:\SysInternals>psexec \\RemotePC -h -u localadmin -p localpass sc create MyService displayname= MyService binpath= C:\Temp\Script\MyService.exe start= auto obj= corp\domainuser passw
ord= domainpass