# CMD Befehle als Admin ausführen



## ushit99 (11. Mai 2014)

Wie kann ich mit Java CMD Befehle, wie z.B. "netsh" ausführen, die Adminrechte benötigen?


----------



## JavaMeister (11. Mai 2014)

du startest dein programm mit admin rechten


----------



## grindelaner (19. Mai 2014)

Siehe dir mal den ProcessBuilder an...

Beispiel:


```
String call = "netsh"
String[] cmd = {"cmd", "/c", call};
Process start = new ProcessBuilder().command(cmd).redirectErrorStream(true).start();
```

Nach dem Aufruf hast du den Output-, Input- und ErrorStream von dem Aufruf zur Hand:
start.getOutputStream()
start.getInputStream()
start.getErrorStream()


----------



## Androbin (19. Mai 2014)

grindelaner hat gesagt.:


> Siehe dir mal den ProcessBuilder an...
> 
> Beispiel:
> 
> ...


Gut zu wissen :toll:


----------



## ushit99 (20. Mai 2014)

Ich weiß, wie man CMD Befehle im Allgemeinen ausführt. Aber ob mit ProcessBuilder oder mit Runtime, für beide muss man dass Programm mit Adminrechten starten. Gibt es denn nicht eine Möglichkeit, dass das Programm während der Ausführung ein Fenster öffnet, wo man das Adminpasswort eingeben kann? Bzw. gibt es einen CMD-Befehl, mit dem man einen anderen Befehl als Admin ausführt, unter Angabe des Adminpassworts? Mit runas geht dass, aber da muss ich ja unter anderem den Usernamen des Admins wissen. Kann man nicht iwi angeben, dass automatisch der Admin ausgewählt wird?

Danke für die Hilfe, grindelaner!


----------



## knilch (21. Mai 2014)

Hi,
Vielleicht kannst du dies irendwie im Java- Code einbinden (einen string den du dann übergibst)

```
runas /user:<localmachinename>\administrator cmd
```
hab ich von hier: Runas
Gruss knilch


----------



## ushit99 (21. Mai 2014)

Thx!
Dann nur noch zwei Fragen:
1.Muss der Admin in diesem Beispiel unbedingt "administrator" heißen, oder ist das nur ein Platzhalter für den echten Namen? Also muss ich den Admin Namen auch vom User eingeben lassen, oder nur dass
 Passwort?

2. Wie finde ich den "localmachinename heraus"?


----------

