Tava procurando um jeito de trocar o ip de maquinas off sem relogar como administrador, de maneira que possa ser digitado os endereços IP, entao:
import java.util.Scanner;
public class Cmd {
public static void main(String args[]) {
String ip, mascara, gateway;
Scanner ler = new Scanner(System.in);
System.out.print("DIGITE O IP: ");
ip = ler.nextLine();
System.out.print("DIGITE A MASCARA: ");
mascara = ler.nextLine();
System.out.print("DIGITE O GA1TEWAY: ");
gateway = ler.nextLine();
try {
ler = new Scanner(Runtime.getRuntime().exec("netsh interface ip set address name=\"local\" static " + ip + " " + mascara + " " + gateway + " 1").getInputStream());
/*ler = new Scanner(Runtime.getRuntime().exec("netsh interface ip set address name=\"local\" dhcp").getInputStream());*/
while (ler.hasNextLine()) {
System.out.println(ler.nextLine());
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
blz funciona perfeitamente, exceto pela parte que eu to rodando na minha maquina, ou seja como administrador.
Rodar isso no CMD de uma maquina sem privilegios da acesso negado.
Axei este comando que resolve em nivel de windows.
RUNAS /user:administrador
1. Runtime.getRuntime().exec("RUNAS /user:usuario \"netsh interface ip set address name=\"local\" static 192.19.2.9 255.255.0.0 192.19.9.250 1\"");
2.
3. Runtime.getRuntime().exec("senha");
perfeito, funciona tambem, so que se executar via windows, ele cai num prompt pedindo a senha, tentei.
Runtime.getRuntime().exec("senha");
porem ele entende como outra instancia do CMD em vez de enviar para o outro CMD, tipo ele procura o programa SENHA nao axa e da erro, tentei criar um Process cmd; mas nao consegui tambem
me imbolei no Runtime cmd = new Runtime.getRuntime();
