Есть ли лучший способ проверить состояние службы Windows на удаленном сервере - PullRequest
0 голосов
/ 04 июля 2019

У меня есть функция Java, которая берет IP-адрес сервера и проверяет состояние определенной службы Windows на этом сервере (запущен или остановлен).При проверке состояния службы на сервере, на котором выполняется код, он запускается за считанные секунды.Но, при проверке состояния службы на другом сервере (удаленном сервере) в том же домене, это занимает много времени.

Есть ли лучший способ выполнить эту задачу?Ниже приведена функция, которую я использую.

public boolean checkService(String PSIP) {
    try {
        Process p = Runtime.getRuntime().exec("sc \\\\" + PSIP + " query smpolicysrv");

        BufferedReader reader = new BufferedReader(new InputStreamReader(p.getInputStream()));

        String line = reader.readLine();
        while (line != null) {
            //System.out.println(line+"\n");
            if (line.trim().startsWith("STATE"))
            {

                if (line.trim().substring(line.trim().indexOf(":") + 1, line.trim().indexOf(":") + 4).trim().equals("1")) {
                    System.out.println("Stopped");
                    return false;
                } else
                if (line.trim().substring(line.trim().indexOf(":") + 1, line.trim().indexOf(":") + 4).trim().equals("2"))
                    System.out.println("Startting....");
                else
                if (line.trim().substring(line.trim().indexOf(":") + 1, line.trim().indexOf(":") + 4).trim().equals("3"))
                    System.out.println("Stopping....");
                else
                if (line.trim().substring(line.trim().indexOf(":") + 1, line.trim().indexOf(":") + 4).trim().equals("4")) {
                    System.out.println("Running");
                    return true;
                }
            }
            line = reader.readLine();
        }

    } catch (IOException e1) {}
    return false;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...