PsExec和Java连接到远程Windows Server

时间:2016-10-16 22:59:04

标签: windows-server-2008 remote-desktop psexec

我有一个要求,我需要从另一台个人Windows机器连接到Windows Server。我还需要能够将CD刻录到远程计算机上的特定文件夹中,获取该文件夹中的文件列表,并检查该文件夹中是否存在文件。当我开始研究这个时,我可以理解有两种选择:

  • 在Windows服务器上安装OpenSSH并使用JSch等客户端连接 - 我的infra团队可能会也可能不会批准此请求。
  • 使用PsExec连接并执行类似的操作 - 这是我能够连接的地方,但无法弄清楚如何将CD刻录到目录并获取任何文件夹中的文件列表。

以下是我的代码:

post_save

我在运行之后看到的是该进程以返回代码0结束。我想查看目标目录中的文件列表。这甚至可以使用PsExec,还是我走错路?

感谢任何帮助...

2 个答案:

答案 0 :(得分:0)

请看一下:

https://www.ibm.com/developerworks/community/blogs/738b7897-cd38-4f24-9f05-48dd69116837/entry/programmatically_connecting_to_remote_systems2?lang=en

可能会解决您的问题

答案 1 :(得分:0)

String psCommand = "<path_of_psexec>/psexec.exe \\\\"+currentServerHostname + " -u " + currentServerUser + " -p " + currentServerPass;
      psCommand = psCommand + " " + commandToRunOnRemoteMachine + " " + parameters;
      String[] cmd = new String[5];
      cmd[0]="cmd.exe";
      cmd[1]="/C";
      cmd[2]=psCommand;
      cmd[3]="";
      cmd[4]="";
      // Run remote command
      File f = new File(getCurrentWorkingDirectory() + "\\lib");
      Process p = Runtime.getRuntime().exec(cmd,null,f);