El Blog de Enrique Cortés

sábado, 4 de agosto de 2007

Cómo iniciar el explorador de windows con privilegios administrativos desde una cuenta limitada (XP/Vista/7)



Todos sabemos, o deberíamos saber, que trabajar desde una cuenta de administrador puede ser peligroso para el sistema, si utilizamos la cuenta para todo, porque hacemos que el sistema sea vulnerable a toda clase de parásitos, virus, troyanos y a otros riesgos para la seguridad. El simple hecho de visitar sitios de Internet puede ser extremadamente perjudicial para el sistema. Un sitio web desconocido puede contener código que se puede descargar en el sistema y ejecutarse.
Las normas de seguridad en Windows XP nos aconsejan que utilicemos siempre una cuenta limitada, sin privilegios, especialmente si debemos conectarnos a Internet asíduamente. Si iniciamos la sesión como miembros del grupo Usuarios, podemos realizar tareas habituales, como ejecutar programas o visitar sitios Internet, sin exponer el equipo a riesgos innecesarios. Si necesitamos realizar tareas administrativas, como actualizar el sistema operativo o configurar parámetros del sistema, cerraremos la sesión y volveremos a iniciarla como administrador.
En Windows Vista y Windows 7, gracias al Control de Cuentas de Usuario (UAC), se ha solucionado en gran parte este problema de seguridad.
Si necesitamos con frecuencia iniciar la sesión como administrador, podemos utilizar el comando runas (Run As) para iniciar programas como administrador desde una cuenta limitada, el conocido Ejecutar como.... Para que pueda funcionar esta configuración y poder ejecutar programas como administrador, es necesario que se cumplan estos dos requisitos:


1. Que se halle iniciado el servicio Inicio de sesión secundario en Windows XP, Windows Vista y Windows 7 (en Windows 2000 recibe el nombre de Servicio RunAs), que por defecto se habilita en inico Automático durante la instalación del sistema operativo. Este servicio habilita los procesos de inicio en credenciales alternas.
2. Que la cuenta de administrador esté protegida mediante contraseña. El servicio RunAs/Inicio de sesión secundario únicamente acepta autenticación mediante contraseña.

Para saber dónde se ubica este servicio y cómo puede habilitarse o deshabilitarse, puedes consultar este artículo de Microsoft:


Cualquier programa podrás ejecutarlo con credenciales administrativas desde una cuenta limitada, simplemente eligiendo Ejecutar como... en el menú contextual que aparece al pulsar el icono del programa (o un acceso directo a él) con el botón derecho del ratón. En la ventana que aparece, selecciona el usuario administrador, escribe su contraseña y pulsa Aceptar.

Sin embargo, con el Explorador de windows (Explorer.exe) ocurre algo distinto que hay que destacar. Es importante poder ejecutar la Shell del explorador en un entorno administrativo desde una cuenta sin privilegios; de esta forma puedes seguir trabajando en tu cuenta limitada y a la vez poder ejecutar acciones desde el explorador, con todos los privilegios.

En Windows XP existe un problema con la shell del Explorador de windows y es que no pueden ejecutarse dos procesos a la vez del mismo (explorer.exe), a no ser que habilites de forma expresa esta función. Si sigues el mismo procedimiento para explorer.exe, que para cualquier otro programa, para ejecutarlo con credenciales (o sea, utilizando el Ejecutar como...), no podrás, no se ejecutará, debido a que ya está abierta una shell del sistema, y por tanto no se puede ejecutar otro proceso igual, a no ser, como he dicho antes, que se habilite esta función, de la cual hablaré más adelante.

Pero lo que sí puedes hacer, tanto en XP como en Vista o Windows 7, es terminar el proceso explorer.exe ("matar" el proceso) del shell de tu cuenta limitada para así poder ejecutar el Explorador de windows en el contexto de seguridad administrativa. Para ello, sigue estos pasos:

1. Inicia sesión en tu cuenta limitada
2. Ejecuta el Administrador de tareas (Ctrl+Alt+Supr) y pulsa en la pestaña
Procesos
3. Busca el proceso "explorer.exe" y pulsa en Terminar proceso. A continuación, pulsa en .
4. Pulsa en Archivo > Nueva tarea. Escribe el siguiente comando en la casilla Abrir y pulsa Aceptar:

runas /user:"nombre_del_administrador" explorer

(sustituye "nombre_del_administrador" por el nombre de la cuenta de administrador). Si el nombre consta de una sola palabra (por ejemplo, Luis) no son necesarias las comillas.




5. Inmediatamente, se abrirá una ventana de comandos. Teclea la contraseña del administrador (que no visualizarás en pantalla) y pulsa Enter. Automáticamente, iniciarás sesión con la shell del administrador.
6. A continuación, cierra el Administrador de tareas por el aspa roja.

7. Para salir del shell administrativo, debes cerrar la sesión y ejecutar de nuevo explorer.exe: pulsa en Inicio > Cerrar sesión. Pulsa de nuevo en Cerrar sesión. Acto seguido, ejecuta el Administrador de tareas (Ctrl+Alt+Supr) y pulsa en Archivo > Nueva tarea. Escribe en la casilla Abrir: explorer y pulsa Aceptar. Ya puedes cerrar el Administrador de tareas.


Todo este proceso nos lo podemos evitar si habilitamos la función de la que hablaba anteriormente (sólo en Windows XP). El Shell del sistema debe poderse ejecutar en procesos independientes. Por defecto, cuando se instala el sistema operativo, esta opción del shell no está habilitada porque afecta al rendimiento general del sistema. Sin embargo, yo aconsejo habilitar esta configuración en equipos medianamente potentes y con capacidad de memoria, ya que produce una mayor estabilidad, al ejecutar procesos diferentes de memoria para las carpetas del shell.

Para habilitarla, sigue estos pasos:

1. Desde el menú Inicio > Ejecutar, teclea el siguiente comando y pulsa Aceptar:

control folders

2. Pulsa en la pestaña Ver y, en el apartado Configuración avanzada, marca la casilla de verificación "Abrir ventanas de carpeta en un proceso independiente".
3. Pulsa en Aplicar y en Aceptar para cerrar el cuadro de diálogo.


A partir de ahora, ya puedes ejecutar 'Explorer.exe' con credenciales administrativas como cualquier otro programa. Tienes varias formas de hacerlo:

a) A través de la opción Ejecutar como... del menú contextual, como con el resto de programas.

b) A través del comando Ejecutar, utilizando el comando runas: Inicio > Ejecutar, y en el cuadro Abrir escribe lo siguiente y pulsa Aceptar:

runas /user:"nombre_del_administrador" explorer

Se abrirá una ventana de comandos para que teclees la contraseña del administrador. Pulsa Enter. Debe abrirse el Explorador de Windows en el entorno administrativo.

c) A través de la línea de comandos, utilizando el símbolo del sistema: desde una cuenta limitada, ejecuta el intérprete de comandos (cmd) y escribe el siguiente comando:

runas /user:"nombre_del_administrador" explorer



Te pedirá que escribas la contraseña del administrador. Tecléala y pulsa Enter.

d) A través de Internet Explorer: inicia sesión en una cuenta limitada y crea un acceso directo en el Escritorio a Internet Explorer. Ejecuta el acceso directo a IE con credenciales administrativas (Ejecutar como...). En la Barra de direcciones de IE, escribe lo siguiente:

X:/WINDOWS/Explorer.exe

(donde X es la unidad del sistema)


Al cabo de unos segundos te aparecerá un cuadro de diálogo para ejecutar el archivo solicitado. Pulsa Ejecutar. Es posible que te aparezca un cuadro de advertencia de seguridad. Pulsa Ejecutar y se abrirá el explorador de windows con privilegios administrativos.


*

*

*

6 comentarios:

César Herrada dijo...

Felicidades Enrique!...te felicito por interesarte en publicar este artículo que sabemos que sacará a muchos de apuros.

Un abrazo.

Anónimo dijo...

Excelente dato!!!
Gracias compadre

Anónimo dijo...

la opción "Abrir ventanas de carpeta en un proceso independiente" debe estar habilitada en el explorer de la cuenta de administrador que quieres utilizar para lanzar explorer con permisos de administrador.

Anónimo dijo...

Muy buen aporte!! me volvi loco buscando esto! Muchas gracias :)

Anónimo dijo...

Es el mejor post, con diferencia, para usuarios "normales" que he encontrado sobre el tema. Más claro imposible. Muchas gracias, ya estaba harto de tener que cambiar de usuario para hacer algo como administrador con el explorador de Windows.

Kiquenet dijo...

Gracias.

Cómo hacerlo en Windows 8 de una manera sencilla?