2014-10-28 2 views
0

Я пытаюсь запустить команду «net use», вызывая ее с помощью построителя процессов. Когда я передаю пароль OutputStream с помощью PrintWriter, он выходит из строя со следующей ошибкой: Произошла системная ошибка 1219. Не допускается несколько соединений с сервером или общим ресурсом одного и того же пользователя с использованием нескольких имен пользователей. Отключите все предыдущие подключения к серверу или совместно используемому ресурсу и повторите попытку.Передача пароля с помощью обработчика процесса не работает для команды «net use»

Я проверил имя пользователя, пароль и команду, выполнив его вручную. Его работает отлично

фрагмент кода:

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); 

ответ

0

Несколько предложений:

  • Run net use * /delete /y в качестве первого шага, чтобы удалить все соединения, прежде чем начать. Вы также можете попробовать удалить определенные соединения.
  • Используйте чистый раствор Java вместо net use - см https://stackoverflow.com/a/208896/4803
+0

Спасибо за комментарий. Я использовал «net use */delete/y», чтобы удалить все соединения, которые также удалили соединение, для которого я пытался использовать «net use». Теперь он сбой с другой ошибкой: Ошибка системы 86. Указанный сетевой пароль неверен. Но я, когда manaully запускаю команду из cmd с тем же паролем, который успешно проходит. Является ли мой способ передачи пароля неправильным? – Anuj

+0

Ваш код работает для меня. Есть несколько других примеров кода в http://stackoverflow.com/questions/208839/how-can-i-mount-a-windows-drive-in-java?lq=1, которые вы могли бы попробовать. – RedGreenCode

+0

Вы используете тот же способ, чтобы передать пароль, который я использовал в коде? Becuase Я попытался запустить код из системы моего друга. Я все еще получаю ту же ошибку. – Anuj