从java运行PSExec不起作用
我想在不同的用户下从java服务器运行CSharp进程。 我使用PSExec来实现这一点——它在我的PC上运行良好,但在“真正”的服务器上执行时,进程立即崩溃。(似乎CSharp应用程序甚至都没有启动——我尝试将某些内容打印到文件中作为第一个命令,但没有写入任何内容) 运行java进程的用户和其他用户都在管理员组中 我不知道为什么应用程序会崩溃 这是我的代码:从java运行PSExec不起作用,java,windows,psexec,Java,Windows,Psexec,我想在不同的用户下从java服务器运行CSharp进程。 我使用PSExec来实现这一点——它在我的PC上运行良好,但在“真正”的服务器上执行时,进程立即崩溃。(似乎CSharp应用程序甚至都没有启动——我尝试将某些内容打印到文件中作为第一个命令,但没有写入任何内容) 运行java进程的用户和其他用户都在管理员组中 我不知道为什么应用程序会崩溃 这是我的代码: ProcessBuilder processBuilder = new ProcessBuilder( "c:\\pstools\\P
ProcessBuilder processBuilder = new ProcessBuilder(
"c:\\pstools\\PsExec.exe",
"-u",
"username",
"-p",
"password",
appPath,
arg1,
arg2);
processBuilder.start();
尝试Zoltan Csizmadia的XCmd: 这个问题已经在Sysinternal论坛上讨论过,我记得psexec使用的EOL符号有一个问题
xcmd不会有任何问题我的病毒扫描程序不允许使用xcmd 然而,paexec是psexec的替代品,它也可以完美地工作
它工作得很好。请记住,ShellCommandString中需要有double\\。 我的同事刚问了我这个问题,我用谷歌搜索了一下,进入了这一页。。 processBuilder将正常工作,请确保您拥有的stirng=您希望在cmd中拥有的stirng
ProcessBuilder processBuilder = new ProcessBuilder(
"Psexec \\\\\\\\10.192.246.76 -i -u Administrator -p admin2193 cmd /c C:\\\\CI\\\\AutoTest\\\\agent_test1.bat");
processBuilder.start();
PSExec是否仍然可以在“real”服务器上使用C#app,即使不涉及Java(如果手动运行)?如果是这样的话,您可能需要将代码和命令发布在这里以供审阅……是的,它是有效的。我使用ProcessBuilder运行该命令。我确信代码是好的,很明显有些地方不对劲。请发布您的代码,然后我们将有一些工作。报价不平衡,\'需要加倍。。。这真的是密码吗?这不是确切的密码。我使用consants,我不想写我尝试使用的应用程序的名称或它的论点,我尝试过,但无法理解我应该如何使用它。它要求输入一个计算机名,但我不明白我应该使用什么,几乎与psexec:xCmd.exe\\computer/user:someone/pwd://d:d:\test1.exe相同,其中“computer”是远程计算机的名称。如果我使用同一台计算机怎么办?我想在本地主机上运行。每次我都会收到以下消息:系统找不到指定的文件。我的命令是:xCmd.exe\\cmd您可以检查xCmdSvc服务是否正在运行吗?(此服务由xcmd安装在远程系统上)您是否以管理员身份运行该命令?您可以尝试使用“sc delete xCmdSvc”删除服务并重试,但我不确定如果服务无法启动,我是否可以提供帮助-可能是您可以查看事件日志以了解更多信息。您是否还可以检查您的计算机是否有ADMIN$共享?