Estoy tratando de averiguar cómo detectar si un usuario se está ejecutando con derechos de administrador en Windows XP. Esto es bastante fácil de hacer en Vista/Win7 gracias al comando whoami. He aquí un fragmento en Ruby de cómo hacerlo en virtud de Vista:Detecta si se está ejecutando con privilegios de administrador en Windows XP
Nota, el siguiente enlace ahora incorpora la solución sugerida por muteW
El problema es que whoami no viene con Windows XP y el método vinculado anteriormente siempre devolverá falso en WinXP, incluso si estamos corriendo como administrador.
Entonces, ¿alguien sabe de una manera de detectar si estamos ejecutando como administrador en Windows XP usando Ruby, herramientas de línea de comandos, archivos por lotes o incluso de terceros (debe ser de código abierto, realmente) ¿herramientas?
Y para cualquiera que use C++, system() devuelve 1 si el comando anterior falla y 0 si tiene éxito; lo que significa que devuelve 0 si el usuario tiene derechos de administrador. Muy buena respuesta, Peter. ¡Gracias! – Griffin
O, en C/C++: llame a RegOpenKey (HKEY_USERS, "S-1-5-19", & key) y verifique que sea correcto. – theller