jueves, marzo 09, 2006

Problemas con Opciones de carpeta y cuentas no administrativas

En un artículo anterior de mi bitácora expliqué una razón para trabajar con una cuenta con los menores privilegios posibles. Sin embargo, cumplir a rajatabla los requisitos de todo software que quiera funcionar en cuentas sin privilegios administrativos es algo que hasta Microsoft puede "saltarse" en algún momento, produciendo efectos tan curiosos como el que se describe en este artículo.

Windows incorpora desde hace bastantes años un panel que permite personalizar el modo en el que se presenta el contenido de carpetas, las asociaciones de las extensiones de archivo, etc. Se llama Opciones de carpeta y está situado en Panel de control.

Aspecto del panel Opciones de carpeta en un sistema Windows XP

Si se accede a ese panel desde una cuenta sin privilegios administrativos y se selecciona alguna de las siguientes opciones:

  • Subrayar los títulos de iconos que coincidan con el explorador
  • Subrayar los títulos de iconos cuando yo los señale

Al pulsar Aplicar o Aceptar no notará cambio alguno en la configuración del subrayado de las carpetas y/o archivos del explorador.

Si inicia sesión con una cuenta administrativa, según seleccione una opción u otra notará que los nombres de los iconos quedan siempre subrayados (si activa la primera opción), o bien sólo se subrayan cuando se pasa el puntero del ratón sobre ellos (si activa la segunda). Este es el efecto esperado.

¿Por qué no funciona esta característica en una cuenta sin privilegios administrativos?

El explorador de Windows hace el uso del archiconocido Registro para almacenar la selección de esta opción del panel Opciones de carpeta: En concreto el valor IconUnderline de la clave HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer le dirá a Windows qué opción se ha elegido (y por tanto la que deberá aplicar):

Valor

Acción seleccionada

03 00 00 00

Subrayar los títulos de los iconos que coincidan con el explorador

02 00 00 00

Subrayar los títulos de los iconos cuando yo los señale


El problema en sí no reside en la lectura del valor, reside en su creación: en una cuenta con privilegios no administrativos no se llega a generar. Se preguntará por qué, si dicho valor está situado en una clave que pende de la rama principal HKCU\ (donde un usuario cualquiera puede escribir). Pues la razón es que el explorador "silenciosamente" trata de escribir en una rama no permitida a un usuario no administrador (HKLM\) y, al no conseguirlo, no se llega a generar el valor IconUnderline en su lugar correspondiente.

Concretamente Explorer.exe trata de crear cada vez las siguientes claves en el Registro de Windows:
  • HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer
  • HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Explorer
Lo hace por si éstas no existieran. En una cuenta administrativa la creación de ambas no presenta ningún problema, pero en una cuenta limitada la segunda no se podrá crear y le devolverá un mensaje de "access denied" a Explorer.exe. Éste no "sabe" cómo seguir y no genera el valor IconUnderline en la clave que corresponde.

Solución al problema

He ideado un rodeo para evitar el problema:

Afirma el dicho que si Mahoma no va a la montaña, la montaña va a Mahoma; así que si Explorer.exe no "sabe" crear el valor en el Registro, créemoslo manualmente por él:

Nota: El siguiente procedimiento implica la manipulación del Registro de Windows. Le recomiendo que genere un punto de restauración antes de continuar.


  1. Inicie sesión con la cuenta limitada.

  2. Abra Inicio, Ejecutar, escriba notepad y pulse Aceptar.

  3. Copie y pegue en la ventana de Bloc de notas alguno de los siguientes textos (indicados en color rojo):
  4. Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
    "IconUnderline"=hex(0):03,00,00,00

    (Si desea activar la opción "Subrayar los títulos de los iconos que coincidan con el explorador").

    Windows Registry Editor Version 5.00

    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer]
    "IconUnderline"=hex(0):02,00,00,00

    (Si desea activar la opción "Subrayar los títulos de los iconos cuando yo los señale").

  5. Pulse Archivo, Guardar como, seleccione Todos los archivos en la lista desplegable Tipo, escoja una ubicación cualquiera, escriba Subrayado.reg en la caja Nombre y pulse Guardar.

  6. Cierre Bloc de notas.

  7. Haga doble clic sobre el fichero que acaba de crear, pulse y haga clic sobre Aceptar.

Espero que les haya parecido interesante, ya ven que hasta Microsoft a veces no piensa lo suficiente en los entornos sin privilegios administrativos. Afortunadamente el error no es demasiado grave.

3 comentarios:

darckd dijo...

como puedo hacer que las cuentas adminitrativas no tienen el privilegio de ver la opciones de carpeta ni el regedit mientras que las cuentas limitadas si

les agradesco la ayuda darckd

JUVENAL CERDA C. dijo...

¡ Muchas gracias ! con tus ideas expuestas encontré una pagina web con dos programas, uno para desbloquear el regedit y otro para restaurar las opciones de carpeta, son brevísimos, y el resultado... ¡óptimo!

Anónimo dijo...

Efectivamente, no es un error grave, pero sí es algo que desespera al usuario no-tan-torpe de Windows. Hoy me han quitado una cuenta de administrador y me estaba volviendo loco para configurar el nuevo usuario. Muchas gracias por el truco :-)

Saludos,

BarVeider