2
我有一个停止并启动Windows服务的Java应用程序。我有一个要求,它应该能够在远程机器上这样做。当前的代码我有启动Windows服务远程看起来如下:运行这个时,我得到以下错误如何在远程计算机上停止并启动java中的Windows服务
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);
}
}
但是:
[SC] OpenSCManager FAILED 5:
Access is denied.
请注意以下事项:
本地和远程机器都运行在Windows 10上
远程机器有它的防火墙禁用
RPC(远程过程调用)被远程计算机
文件和打印机共享已开启远程机器上
我在想什么上运行?任何帮助将不胜感激。
你可以尝试加入执行'sc.exe'机器进入本地'Administrators'组在远程机器上(如何做到这一点在很大程度上取决于你正在使用的Windows版本,所以添加到这个问题可能会帮助弹出进一步的答案)。 –