Ich habe eine Java-Anwendung, die Windows-Dienste stoppt und startet. Ich habe eine Anforderung, dass es auf einer Remote-Maschine möglich sein sollte. Der aktuelle Code Ich habe sieht ein Windows-Dienst zum Starten der Ferne wie folgt:Wie zu stoppen und starten Windows-Dienste in Java auf Remote-Maschine
public void executeCommand() {
String[] command = {"cmd.exe", "/c", "sc", "\\\\192.168.1.27", "start", "btwdins"};
try {
Process process = new ProcessBuilder(command).start();
InputStream inputStream = process.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
BufferedReader bufferedReader = new BufferedReader(inputStreamReader);
String line;
while ((line = bufferedReader.readLine()) != null) {
System.out.println(line);
}
} catch (Exception ex) {
System.out.println("Exception : " + ex);
}
}
jedoch, wenn dieser läuft ich die folgende Fehlermeldung erhalten:
[SC] OpenSCManager FAILED 5:
Access is denied.
Bitte beachten Sie folgendes:
Sowohl der lokale als auch der Remote-Computer laufen unter Windows 10
Das entfernte Gerät hat seine Firewall deaktiviert
RPC (Remote Procedure Call) auf Remote-Computer
Datei- und Druckerfreigabe ausgeführt wird eingeschaltet auf Remote-Rechner
Was bin ich fehlt ? Jede Hilfe wird geschätzt.
Sie könnten versuchen, die Maschine Hinzufügen von 'sc.exe' in lokale' Administrators' Gruppe auf dem entfernten Rechner ausgeführt wird (wie dies schwer zu tun, hängt davon ab, die Version von Windows, die Sie verwenden, daher kann das Hinzufügen der Frage zu weiteren Fragen helfen. –