Como ejecutar una aplicación con privilegios administrativos en perfiles limitados por Josh Sáenz G.

En muchas ocasiones nos encontramos con esta situación: Un usuario limitado que necesita ejecutar una aplicación en su equipo con privilegios administrativos, pero no queremos que conozca las credenciales de otro usuario administrador.


En Windows Vista, con UAC habilitado podemos hacer que por defecto el sistema ejecute una aplicación como administrador (Propiedades del acceso directo > Avanzado > Ejecutar como administrador), o si no, simplemente con el botón derecho seleccionamos el menu Ejecutar como Administrador…


En ambos casos, el sistema solicitará la contraseña del administrador. Pero si no queremos indicarle al usuario cuales son estas credenciales, entonces que opciones tenemos.


La primera opción es otorgarle permisos administrativos directamente al usuario, sin embargo ésto no es recomendable ya que estaríamos dándole más privilegios de los que realmente necesita y podíra ejecutar acciones que no queremos, por ejemplo, instalar programas o modificar la configuración del equipo. Otra opción es modificar manualmente los permisos necesarios tanto a nivel de archivos como de registro para que la aplicación se pueda ejecutar correctamente. Esto puede ser viable siempre y cuando el producto se mantenga mas o menos estable, es decir, que con una actualización no se altere la estructura de permisos necesarios. Además tendríamos que averiguar qué carpetas, archivos y claves de registro requiere acceso la aplicación, por lo tanto el trabajo necesario puede llegar a ser bastante laborioso. Las herramientas FilemonRegmon y ProcessExplorer de Microsoft Sysinternals, nos pueden ayudar en estas tareas.


Pero nos queda una última opción gracias a la combinación del programa runas.exe y el uso de accesos directos.


Por ejemplo, si queremos hacer que un usuario limitado ejecute Internet Explorer como un administrador, pero sin tener que introducir las credenciales cada vez que inicia el programa, haríamos lo siguiente:




  1. Crear un nuevo acceso directo a Internet Explorer en el escritorio (u otra ubicación)


  2. En la linea de ejecución del asistente escribimos: runas.exe /user:Administrator /savecred «C:Program FilesInternet Exploreriexplore.exe»


  3. Escribimos el nombre del acceso directo, por ejemplo «Internet Explorer Admin» y lo guardamos.

 


Cuando ejecutemos el acceso directo por primera vez, el sistema nos solicitará las credenciales del usuario Administrador, pero gracias al parámetro /savecred, la contraseña se almacena localmente y no se volverá a solicitar, permitiendo así que un usuario limitado ejecute una aplicación como un administrador, sin tener que conocer previamente las credenciales administrativas.


Si, vamos un poco más alla, podemos hacer que un usuario limitado pueda cambiar las propiedades del Firewall de Windows Vista, o abrir una consola administrativa. El procedimiento es similar al anterior y la única diferencia es la línea de ejecución que tendrá el acceso directo:




  • runas.exe /user:Administrator /savecred «mmc.exe C:AdminCon.msc» (Si la consola administrativa AdminCon.msc está ubicada en el disco C:)


  • runas.exe /user:Administrator /savecred «control.exe /name Microsoft.WindowsFirewall»

Si el usuario administrativo no es local, sino un usuario de dominio, entonces cambiamos /user:Administrator por /user:DOMINIOUSUARIO_ADMINISTRADOR


A continuación os dejo la lista de subelementos del panel de control que podemos ejecutar directamente desde la línea de comandos o desde un acceso directo:





















































































Microsoft.AddHardware


Microsoft.PenAndInputDevices


Microsoft.AdministrativeTools


Microsoft.PeopleNearMe


Microsoft.AudioDevicesAndSoundThemes


Microsoft.PerformaceInformationAndTools


Microsoft.AutoPlay


Microsoft.Personalization


Microsoft.BackupAndRestoreCenter


Microsoft.PhoneAndModemOptions


Microsoft.BitLockerDriveEncryption


Microsoft.PowerOptions


Microsoft.Bluetooth


Microsoft.Printers


Microsoft.CardSpace


Microsoft.ProblemReportsAndSolutions


Microsoft.ColorManagement


Microsoft.ProgramsAndFeatures


Microsoft.DateAndTime


Microsoft.RegionalAndLanguageOptions


Microsoft.DefaultPrograms


Microsoft.ScannersAndCameras


Microsoft.DeviceManager


Microsoft.SecurityCenter


Microsoft.EaseOfAccessCenter


Microsoft.SpeechRecognitionOptions


Microsoft.FolderOptions


Microsoft.SyncCenter


Microsoft.Fonts


Microsoft.System


Microsoft.GameControllers


Microsoft.TabletPCSettings


Microsoft.GetPrograms


Microsoft.TaskbarAndStartMenu


Microsoft.GetProgramsOnline


Microsoft.TextToSpeech


Microsoft.IndexingOptions


Microsoft.UserAccounts


Microsoft.Infrared


Microsoft.WelcomeCenter


Microsoft.InternetOptions


Microsoft.WindowsAnytimeUpgrade


Microsoft.iSCSIInitiator


Microsoft.WindowsDefender


Microsoft.Keyboard


Microsoft.WindowsFirewall


Microsoft.MobilityCenter


Microsoft.WindowsSideShow


Microsoft.Mouse


Microsoft.WindowsSidebarProperties


Microsoft.NetworkAndSharingCenter


Microsoft.WindowsUpdate


Microsoft.OfflineFiles


Microsoft.ParentalControls


A pesar de esto, hay que tener en cuenta que este procedimiento no impide que un usuario limitado modifique el acceso directo y ejecute otros componentes o aplicaciones que no queremos que ejecute, por lo tanto, es recomendable utilizar esta alternativa sólo si se puede garantizar que el usuario no tenga acceso a otros componentes o a ejecutar otras aplicaciones, por ejemplo, limitando su acceso mediante políticas de grupo o modificando las ACE en el acceso directo.

11 comentarios sobre “Como ejecutar una aplicación con privilegios administrativos en perfiles limitados por Josh Sáenz G.”

  1. muy buen y util aporte,de hecho lo hice en la maquina de un cliente pero el problema se regenero cuando reinicie la pc y al ejecutar el programa me pidio nuevamente la contraseña del administrador.
    tenes idea si hay alguna forma de que me pida la contraseña del administrador una unica vez y de ahi en adelante no tenga que entrar nuevamente a la pc cada vez que se reinicie?

  2. Que tal Gaston. Si ejecutas la aplicación con el parametro /savecred cada vez, no deberia de pedirte las credenciales de nuevo. Las credenciales se almacenan localmente en el perfil de usuario.

  3. hola bueno pues yo lo que busco es como poder ejecutar aplicasiones que requieren privilegios de administrador,pero sin ser administrador
    bueno de antemano grasias

  4. Me explayo: SO Windows VISTA. Necesito correr un programa con privilegios de Administrador, sobre un Usuario no administrador, pero evitando tener que poner la contraseña de Administrador en cada ocasion (se trata de una pc ubicada en un local comercial en donde no me encuentro TODO el tiempo). Ademas, y por cuestiones de seguridad, NO DESEO DESHABILITAR UAC. Obviamente no tengo inconveniente en poner la clave de administrador la primera vez que corre el programa, pero necesito que de alguna forma esa clave quede memorizada para las subsiguientes veces. Si alguien tiene la solucion quedaré muy agradecido.

  5. Joshua Saenz eso que explica esta exelente de hecho cosas así lo que no tan bien explicadas vienen en la ayuda de windows, pero ahora la cuestion es que no me esta salvando el pass, cuando cierro sesion e inicio de nuevo me vuelve a pedir el pass del administrador, mientras permanesco en el usuario despues de ejecutarlo por primera vez y haberle puesto el pass me pincha y mientras no cierre sesion esta apto para trabajar ejecutandoce cuantas veces quiera, el problema esta en cuanto cierro sesion o reinicio, ya probe con el /savecred, /savedcred y hasta con /savedcreds y nada hermano.
    Si podrias ayudarme te lo agradeceria.
    Vaya si cualquiera puede tirarme el cabo que me avise, mi correo es landera84@gmail.com

  6. Ante todo y varios meses despues, quiero agradecer a Wilmach por su colaboracion. Lamentablemente debo decir que me pasa los mismo que comenta Landera. he probado el comando RunAs y el programa RUNASSPC tanto en Windows Vista como en Server 2008 y en todos los casos me sucede lo mismo: mientras la pc no es reiniciada todo funciona a la perfeccion, pero luego de reinicar, el comando RunAs vuelve a pedir ingresar la contraseña, y el programa RUNASSPC saca un cartel que dice algo asi como «acceso denegado» (evidentemente no pudo ingresar la contraseña). Si alguien conoce algun metodo efectivo agradecere enormemente el aporte.

  7. Muy buenas, si todavía siguen buscando una herramienta para encriptar contraseñas y ejecutar programas como administrador hay uno llamado supercrypt. En principio no tiene mala pinta.

    Un saludo.

  8. Excelente tutorial acerca de ejecutar programas con derechos de administrador sin pedir contraseña para un usuario estandar. Me has sacado de un apuro. Salu2 ! Sigue asi !

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *