Redirección de Perfiles y Carpetas en Windows 7 (Parte II)

Bann

En este post continuaré con la serie de artículos relacionados con la Redirección de Carpetas y Perfiles en Windows 7; en el anterior post vimos un primer método utilizando las políticas de grupo, hoy veremos otra de las formas soportadas y un poco de relación entre este artículo y el anterior.

*Importante: Recomiendo que los que deseen probar los métodos que explicaré en estos artículos lo haga bajo un entorno explícito de pruebas, además de tener respaldo de las claves de registro modificadas e información que pueda verse afectada.

Lo expuesto aquí además es con fines de compartir conocimiento por lo que como comenté previamente, puede no estar soportado por Microsoft.

Método 2: Redirección manual de carpetas desde Windows

Como en el caso de la política de grupo que se aplicaba más a entornos corporativos, el siguiente método se acogerá más a los que estén administrando pocos equipos, o bien sólo su propia PC en la casa.

Desde Windows XP hay una forma de redirecciónar la ubicación de las carpetas personales indicándole la otra locación manualmente en las propiedades de cada carpeta.

En Windows 7, a pesar del concepto de Bibliotecas, no ha cambiado mucho esto, el procedimiento sería:

– En el equipo que se quiere cambiar las ubicaciones, hacer clic en Inicio y clic en el nombre de usuario de cada uno que se visualiza en el menú de inicio.

*Nota: También se puede llegar aquí digitando y ejecutando en el menú de inicio: %USERPROFILE%

image

En el directorio del perfil de usuario podremos ver todas las carpetas que aunque son globales difieren de su contenido por usuario, y a las que apuntan las Bibliotecas predeterminádamente, por ejemplo: Documentos, Música, Videos, etc.

– Debemos escoger la carpeta que deseamos redirigir, para este artículo por ejemplo, yo seleccioné como primera a My Documents (Documentos), basta con hacer clic derecho y seleccionar Propiedades (Properties):

DF6

– En las propiedades de la carpeta seleccionada, debemos ir a la pestaña Ubicación (Location), allí es donde veremos la que se encuentra actualmente, que para Windows 7 siempre se dirige a C:Users<Nombre-Usuario><Nombre-Carpeta>, por ejemplo, para mi caso del usuario scalderon sería C:UsersscalderonDocuments.

Lo que debemos hacer es especificar explícitamente cuál deseamos que sea la ubicación, si queremos mantener el arbol que maneja Windows (Debajo de la carpeta Users), símplemente cambiamos la unidad, por ejemplo, para este artículo yo redirigí todo a E:

DF1
Como Windows es supremamente inteligente, si no hay carpetas, él se dará cuenta y crearía los mismos directorios en la unidad especificada, además de pedir la copia de archivos de un lugar a otro para centralizar:

Creación de carpeta:

DF2

Copia de archivos:

DF3

Con esto basta para que la redirección de carpetas se cumpla, ahora todo lo referente a este perfil en Documentos por ejemplo se irá diréctamente a E:, incluso las Bibliotecas de Windows harán también la referencia automáticamente:

image

*Nota: Este procedimiento se debe hacer manual para cada carpeta que deseemos (Música, Imágenes, Videos, Descargas, etc), aunque son los mismos pasos descritos anteriormente.

Lo interesante ahora es hacerse la pregunta: ¿Qué hay detrás de todo esto?

Inside Folder Redirection (Part II)

La respuesta, como siempre nos la dará Process Monitor de Sysinternals, increible herramienta para solución de problemas pero que además, nos ayuda a entender cómo funciona Windows.

El procedimiento es el corriente, abrir Process Monitor, detener el monitoreo con CTRL + E, limpiar el Log con CTRL + X y después iniciar el logging con CTRL + E nuevamente, ir hasta las propiedades de alguna de las carpetas de usuario y realizar el cambio.

Al terminar, volver al Process Monitor, detener nuevamente el monitoreo con CTRL + E y empezar a revisar.

La forma más fácil es buscando por palabras claves, o bien, de abajo hacia arriba que representa los eventos más recientes.

Para este artículo, yo seguí la misma carpeta de Documentos (Documents), y para mi sorpresa, esperando encontrar algo diferente a lo que arrojaba el procedimiento de las políticas de grupo, encontré esto:

DF4

Por supuesto que estaba equivocado yo, si comparan esta gráfica con la que vimos en el anterior artículo, específicamente en Inside Folder Redirection verán que las operaciones son exactamente igual una vez reiniciado el sistema y aplicadas las políticas a cuando cambio la ubicación desde Windows manualmente.

Básicamente, con las funciones RegOpenKey abre las claves User Shell Folders y Shell Folders y con las funciones RegSetValue asigna el contenido al valor Personal cambiándole la ubicación a la unidad E: y finalmente cerrar la operación con la función RegCloseKey.

También se crean las carpetas al Windows validar que no existen (Y es cuando nos muestra los mensajes pidiéndonos crearlas):

DF5

Primero busca si la carpeta está creada, sino, de acuerdo con el filtro utiliza la función CreateFile para ir creándolas.

*Nota:Personal” es como se refiere internamente Windows al directorio de Mis Documentos.

Aquí es entonces donde uniremos el anterior artículo con éste, la explicación es que tanto las Políticas de Grupo como el hacerlo manualmente sólo modifican el directorio en el usuario dentro de las subclaves User Shell Folders y Shell Folders. Lo que difiere a una de otra claro está, es que las políticas se pueden revertir, además de que se replican por todos los usuarios de la unidad organizacional a la que se le haya aplicado (Si se hizo con ese filtro), manualmente podemos retroceder pero habría que hacerlo para cada usuario.

Además de esto, nos da otra gran enseñanza, y es que si Windows hace este procedimiento, probáblemente modificando nosotros mismos los valores de Registro podamos lograr el mismo comportamiento. Aunque no es recomendable, a continuación con fines de conocimiento exploraremos un poco esto.

Modificando los valores manualmente en el Registro

Para este artículo, manualmente sólo cambié la ubicación de la carpeta de Documents (Documentos) como se pudieron haber dado cuenta, manualmente entonces indicaré y mostraré cómo cambiar la ubicación de las demás carpetas deseadas, en realidad basta con imitar lo que hace Windows internamente.

Abrimos el Registro de Windows con privilegios elevados haciendo clic en Inicio, digitando Regedit y sobre el resultado, clic derecho y “Ejecutar como administrador”.

En el Editor de Registro navegamos hasta las siguientes ubicaciones:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders

En esta primer ubicación veremos todas las carpetas por usuario a las que se les puede cambiar de ubicación y la configuración actual que tienen:

DF7

*Nota: Como ven, el valor Personal que corresponde a Documents (Documentos) ya está configurado a la unidad E:

Todas los demás valores están apuntando en su mayoría a donde se crea originalmente el perfil de usuario, es decir en C:UsersNombreUsuarioNombreCarpeta, para mi caso, haré lo mismo que Windows y modificaré la ubicación pero de la carpeta Pictures, que tiene el valor de My Pictures y lo redirigiré a E:UsersscalderonPictures

DF8

Al hacer clic en el botón Ok (Aceptar) ya se verá reflejado en el Editor de Registro, sin embargo, todavía falta otra modificación; si recordamos el procedimiento de Windows, en Shell Folders también hacía este mismo cambio.

Basta entonces con subir a Shell Folders que en su ubicación completa es:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerShell Folders

Aquí hacemos exáctamente la misma modificación, para mi caso de C:UsersscalderonPictures a E:Usersscalderonpictures

DF9

A pesar de que hicimos el mismo procedimiento que Windows, al reiniciar para que el Shell tome los cambios así, podremos notar que en la Biblioteca Música ya no se hace referencia a la carpeta de Música del usuario e incluso donde debería estar ubicada no se encuentra:

DF10

La razón por la que no se creó la carpeta puede ser relativamente sencila, Windows, como ya lo he dicho en varias ocasiones, es muy inteligente y cuando le estamos indicando la ruta a través de las Políticas de Grupo o incluso manualmente como expliqué en este artículo, él utiliza sus propias funciones de QueryDirectory y CreateFile para consultar y crear las respectivas carpetas, al hacerlo manualmente sobre un perfil ya creado Windows sigue haciendo referencia a la ubicación pero esta vez no creará las carpetas por sí solo, ésto solo lo hace en los escenarios anteriores o bien en el primer inicio de sesión del respectivo perfil.

En este orden de ideas, el experimento consiste en crear la carpeta manualmente y ver qué sucede, para esto basta con ir al directorio donde se supone debería estar y crearla desde el Explorador de Windows (También se podría desde línea de comandos):

image

El nombre debe ser idéntico a como a como la especifiqué en el Registro de Windows, para mi caso que redireccioné Pictures (Imágenes) debe tener el nombre de Pictures:

image

De nuevo, al reiniciar o cerrar sesión en el sistema y volver a entrar, la sorpresa ahora sí será grata y desde las Bibliotecas ya se hará referencia a ésta:

image

El que diga “Unresponsive” hace referencia a que la carpeta no se está comportando igual que la original, puesto que las originales de Mis ocumentos y Mis Imágenes son links simbólicos que van a Documentos e Imágenes.

Aquí sólamente estamos redireccionando, a pesar de todo, funcionará sin ningún problema pero, aunque lo haga, no deja de ser un procedimiento No recomendado para implementar, más sí para aprender =)

Como comenté antes, si se quisiera que todos los usuarios funcionaran con redirección de carpetas manuales y sin creárselas manualmente, antes de crear los perfiles locales habría que Modificar esta misma ruta en el Editor de Registro pero del Hive correspondiente al Default User para que cada nuevo usuario creado lleve su contenido de carpetas directo a E:, el riesgo claro está como siempre con los Hives es que son los predeterminados y cualquier daño afectará a todos los usuarios.

Espero les pueda servir a los que se tomen el trabajo de leer todo el artículo, como siempre comentarios bienvenidos.

En el próximo artículo de esta serie entraremos a la parte de redirección completa de los Perfiles de usuario y lo que esto implica.

Saludos,

Checho

2 comentarios en “Redirección de Perfiles y Carpetas en Windows 7 (Parte II)”

  1. Hola Checho, buen post.
    Tengo una consulta, en mi dominio estoy usando un script para redireccionar las carpetas Mis Documentos, Escritorio y Mis Imagenes, el punto es que cuando me dirijo a la ruta C:UsersMi_usuarioEscritorio; estas no se actualizan con la data que veo en la Biblioteca. Sin embargo veo que las llaves Shell Folder y User Shell Folder si lograr cambiarse. Eso es normal?
    Te paso el script:
    reg add «HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerUser Shell Folders» /v Desktop /t REG_SZ /d «\SRVDEMOProfileSEC%username%Desktop» /f

    Gracias
    JavierTI

Deja un comentario

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