Detect if Java application was run as a Windows admin

前端 未结 8 2140
天命终不由人
天命终不由人 2020-11-27 05:37

I have a Java application. Is there anyway I can tell if the process was run with admin privileges, on Windows 7.

8条回答
  •  一个人的身影
    2020-11-27 05:50

    Below code worked out for me

    Command prompt command

    net user
    

    Java code

    public static  boolean isAdmin() {
            StringBuilder outputbuilder = new StringBuilder();
        try {
            ProcessBuilder builder = new ProcessBuilder(
                    "cmd.exe","/c" ,"net user");
            builder.redirectErrorStream(true);
            Process p = builder.start();
            BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
            String line;
            while (true) {
                line = r.readLine();
                if (line == null) { break; }
                outputbuilder.append(line);
            }
        } catch (IOException e) {
            e.printStackTrace();
            return false;
        }
        System.out.println(outputbuilder.toString());
        return outputbuilder.toString().contains("Administrator");
    }
    

提交回复
热议问题