0

我正在尝试通过使用进程构建器调用它来运行“net use”命令。当我使用 PrintWriter 将密码传递给 OutputStream 时,它失败并出现以下错误: 发生系统错误 1219。不允许同一用户使用多个用户名与服务器或共享资源建立多个连接。断开与服务器或共享资源的所有先前连接,然后重试。

我已经通过手动运行检查了用户名、密码和命令。它工作正常

代码片段:

ProcessBuilder pb = new ProcessBuilder("net","use","\\\\<SERVERNAME>\\<SharedLocation>","/USER:<username>","*");
Process p = pb.start();
OutputStream out = p.getOutputStream();
PrintWriter writer = new PrintWriter(out);      
writer.println("<pwd>".toCharArray());
int exitCode = p.waitFor();     
System.out.println("Exit Code :"+ exitCode);
4

1 回答 1

0

几个建议:

  • 运行net use * /delete /y作为您开始之前删除所有连接的第一步。您也可以尝试删除特定连接。
  • 使用纯 Java 解决方案而不是net use- 请参阅https://stackoverflow.com/a/208896/4803
于 2014-10-28T17:49:56.297 回答