Ejecute el símbolo del sistema como administrador

Estoy desarrollando un pequeño proyecto de progtwig de cierre en el que tengo que poner la computadora en modo "Stand By" . El comando que estoy usando es

 Runtime.getRuntime().exec("cmd /c Powrprof.dll,SetSuspendState "); 

Este comando requiere derechos de administrador que no sé cómo obtener. Además, mientras buscaba las respuestas anteriores, descubrí que puedo usar elevate.exe como

 Runtime.getRuntime().exec("c:/elevate Rundll32.exe Powrprof.dll,SetSuspendState "); 

Elevate.exe está haciendo la tarea, pero está consumiendo demasiado tiempo, es decir, hace que el software sea lento. ¿Hay alguna otra manera rápida? Estoy usando Netbeans IDE.

Tienes pocas opciones

A. Crea un atajo con admin priv.

El acceso directo ejecutará cmd /c Rundll32.exe Powrprof.dll,SetSuspendState

Su código Java ejecutará el acceso directo:

 Runtime rt = Runtime.getRuntime(); rt.exec("cmd /c start \"\" \"myshortcut.lnk\"") 

Haga clic con el botón derecho en el icono de acceso directo> propiedades> avanzado> ejecutar como administrador

B. Ejecute el proceso de java como administrador

De nuevo, crea un acceso directo y configúralo para que se ejecute como administrador. Todos los procesos generados también tendrán privilegios de administrador. Su código de Java se ejecutará:

 rt.exec("cmd /c Powrprof.dll,SetSuspendState") 

C. Use JNA para llamar directamente a la rutina SetSuspendState. El proceso de Java requerirá admin priv (como B), pero no tendrá que generar un proceso. Si te gusta esto, puedo proporcionar el código fuente.

D. Usa la utilidad wizmo quiet standby : wizmo quiet standby

  Runtime.getRuntime().exec("runas /profile /user:Administrator \"cmd.exe /c Powrprof.dll,SetSuspendState\""); 

También por favor vea los comentarios

Funcionando como administrador sin derechos de administrador

Agregar parámetro /savecred

 runas /profile /user:Administrator /savecred 

Ingrese la contraseña una vez. En el futuro OS no le pedirá su contraseña.