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();
1 curtida
E se você gerar um .bat com esse script? dai chama o bat que faz o serviço para vc!
Se quis dizer colocar:
arquivo.bat
runas /user:administrador notepad.exe
senha
nao funciona, a segunda linha so vai executa depois que passar a senha, ai acaba q cai na mesma le a senha como um comando e da invalido
se nao era isso quer quis dizer, da um exemplo ai…
era assim mesmo, só que pensei que ele aceitaria a senha
:?
Niguem conhece uma classe que trabalhe com o IP? to procurando mas so axo abobrinha 
public static void main(String args[]) {
try {
Runtime cmd = Runtime.getRuntime();
Process processo = cmd.exec("RUNAS /user:administrador \"netsh interface ip set address name=\"local\" source=dhcp\"");
byte[] senha = new byte[]{'s', 'e', 'n', 'h', 'a'};
/*processo.getOutputStream().write(senha);*/ TESTE 1
/*processo.getInputStream().read(senha);*/ TESTE 2
Scanner ler = new Scanner(processo.getInputStream());
System.out.println(ler.nextLine().toString());
} catch (IllegalAccessError e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
Eu tentei este codigo acima depois de olhar nestes links mas nao deu, nao sei se entendi corretamente.
http://www.guj.com.br/posts/list/124058.java#671620
http://mindprod.com/jgloss/exec.html
http://www.itproexpert.com/post/Runas-via-Script-VBS.aspx
Funciona,
alguem sabe algo parecido no java, pra nao usar o VBS?
Ein já deu uma olhada no
NetworkInterface?
http://java.sun.com/javase/6/docs/api/java/net/NetworkInterface.html
estava olhando em uma lista de email vi um post parecido com o seu,
o cara estava aconselhando a usar essa Classe.
tenta ai.
Esta classe que falou até me quebra um galho pois pra nao dexar a senha e os comandos exposto no script vbs eu to criando o arquivo pelo java mesmo.
So que a classe não serve pra trabalha diretamente, mas pra mostra, pega nome endereço mac essas coisas, mas nao vi nada tipo alterar ip e tal. Valew assim mesmo por que ja ajuda, tava pegando alguns valores com gambiarra de executar o CMD do windows pelo Runtime e ler a saida com Scanner atribuindo numa String (eita pog infernal hahaha);
cara dá uma olhada em um software que chama autohotkey, com ele dá para vc fazer um script para hora que a tela da senha parecer ele digitar a senha para vc
a, vlw mas isso o script do vbs ja faz, eu to escrevendo o script pelo java so pra ter a senha na classe, pra nao fica no script q da pra dar EDIT e ver o conteudo, como nao via da pra criptografar, eu fiz um squema no java ai mesmo abrindo a classe o cara ainda nao vai consegui ver a senha assim tao facil
OBS script em VBS, (nome.vbs)
Option explicit
Dim oShell
set oShell= Wscript.CreateObject("WScript.Shell")
oShell.Run "runas /user:administrator ""C:\Windows\System32\Calc.exe"""
WScript.Sleep 100
oShell.Sendkeys "Senha~"
Wscript.Quit
Paulo Dutrahttp://www.itproexpert.com/post/Runas-via-Script-VBS.aspx
na | oShell.Sendkeys “Senha~” | o “~” server pra dar ENTER