# CMD Befehl über Java ausführen?



## Extremefall (22. Feb 2012)

Hallo,
ich würde gerne mittels ProcessBuilder über die Eingabekonsole Passwörter ändern. Den Benutzernamen und das Passwort übergebe ich im Parameter. Mein Code für den Processbuilder:

```
ProcessBuilder builder  = new ProcessBuilder("cmd","/c","net user "+user+" "+passwort
Process process = builder.start();
```
Ist der Eingabebefehl so nicht richtig oder wie sollte es eher lauten? Denn so funktioniert es in der Eingabekonsole. Ich bin natürlich Administrator am Computer und sonst per manueller Eingabe geht es.


----------



## eRaaaa (23. Feb 2012)

Wieso prüfst du es nicht einfach ob es geht? Sieht man doch ob das Passwort geändert wurde oder nicht? Ansonsten kann man sich von dem Process auch immer den ErrorStream und InputStream holen und auslesen (bspw. mit dem Scanner).


----------



## Extremefall (23. Feb 2012)

Ich habe getestet, ob es geht. Leider ist es nicht der Fall. Sind eventuelle Anführungszeichen oder Backslashs notwendig?


----------



## Michael... (23. Feb 2012)

Vielleicht eine blöde Frage: Funktioniert es denn direkt in der Konsole?

Ansonsten lies doch mal den Input und ErrorStream des Prozesses mit aus. Wenn's nicht funktioniert wird da sicherlich eine Fehlermeldung geliefert.


----------



## L-ectron-X (23. Feb 2012)

Habe folgende Anweisungen nicht getestet, aber vielleicht geht ja eine von beiden:

```
ProcessBuilder builder  = new ProcessBuilder("cmd /c net user "+user+" "+passwort);
```

Wenn das nicht geht, kannst du mal

```
ProcessBuilder builder  = new ProcessBuilder("cmd /c net user", user, passwort);
```
probieren. Wie im obigen Beispiel müssen _user_ und _passwort_ Strings sein.


----------

