Páginas

31 marzo, 2014

Perfiles de usuario en Windows 7 - Definiciones, estructura y comparación con WinXP

Empezamos por decir a groso modo que; cuentas de usuario y perfiles de usuario no es lo mismo, ya que la cuenta vamos a decir y/o entender de algún modo que son las credenciales del usuario y el perfil el contenido en un equipo de este. 

Tipos de Perfiles: Locales, móviles y obligatorios

Perfiles locales (Local Profiles): Es el tipo de perfil que se crea cuando un usuario inicia sesión en un equipo y la información contenida y los cambios realizados solo estarán disponibles en dicho equipo y NO en ningún otro.

El perfil local funciona del siguiente modo:
  • 1.- El usuario inicia sesión.
  • 2.- Windows comprueba la lista de perfiles de usuario en la clave ProfileList si existe o no. En el primer caso, lo usa; en otro caso el sistema realiza una de las siguientes acciones:
  • 2.1.- Si el equipo es un miembro de dominio, Windows busca el recurso compartido NETLOGON en un DC el perfil de usuario predeterminado en la carpeta Default User. Si lo hay, lo copia a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 2.2.- Si no pertenece a un dominio o Windows no encuentra el perfil en NETLOGON, usa el perfil de usuario predeterminado Local, copiándolo desde: %SYSTEMDRIVE%\Usuarios\Default User a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 3.- Windows carga la sección del perfil NTUSER.DAT en la clave HKU y enlaza la clave raíz HKCU al mismo.
Cuando el usuario cierra sesión, el sistema guarda los cambios en la carpeta del perfil de usuario. No copia la carpeta de perfil en la red, y también descarga la sección desde el Registro.

Perfiles móviles (Roaming Profiles): Es un tipo de perfil que estará disponible desde cualquier equipo de la red. Los datos o información y cambios realizados se podrán visualizar en cualquier equipo de la red donde se inicie sesión.

Perfiles obligatorios (Mandatory Profiles): (Solo para usuario de dominio en "Active Directory"). Son perfiles de sólo lectura. Para crear un perfil obligatorio, basta con tomar un archivo NTUSER.DAT y cambiarle el nombre por NTUSER.MAN.
En la ventana del usuario de Active Directory, en la ficha "Perfil", especificamos la ubicación del fichero con extensión .MAN. De ese modo, cada vez que el usuario inicie sesión se cargará el perfil ntuser.man, pero NUNCA ser guardará ningún tipo de configuración cuando este cierre sesión.
Esto es una herencia de NT4.0 y hoy es mejor usar las directivas de grupo en su lugar.

El perfil móvil funciona del siguiente modo:
  • 1.- El usuario inicia sesión.
  • 2.- Windows comprueba la lista de perfiles de usuario en la clave ProfileList si existe o no. En el primer caso, el sistema combina la copia del perfil en la red dentro de la carpeta del perfil local; en otro caso el sistema realiza una de las siguientes acciones:
  • 2.1.- Windows comprueba si existe la carpeta de Default User en el recurso compartido NETLOGON de un DC. Si existe, copia la carpeta Default User a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 2.2.- Si Windows no encuentra la carpeta Default User en NETLOGON , copia %SYSTEMDRIVE%\Usuarios\Default User a %SYSTEMDRIVE%\Usuarios\Nombre_usuario.
  • 3.- Windows carga la sección del perfil NTUSER.DAT en la clave HKU y enlaza la clave raíz HKCU al mismo.
Cuando el usuario cierra sesión, el sistema guarda los cambios en el perfil a la carpeta del perfil local y descarga las secciones de HKU. Después, copia la carpeta de perfil a la ubicación de red especificada. Si esta carpeta ya existe en la red, el sistema combina la local dentro de la copia de red.

A parte de estos tipos de perfiles y de los que se crean cuando el usuario inicia sesión por primera vez en un sistema Windows, también podemos ver otro tipo de perfiles generados por el sistema que podremos definir como:

Tipos de Perfiles especiales

El path de ubicación en el registro de Windows, en el cual podemos encontrar los usuarios por defecto creados por sistema que serían: Public o Acceso público y Default user:
HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS NT\CurrentVersion\ProfileList
En esta clave podemos ver/modificar las rutas de localización por defecto a las que apuntan los directorios de estos perfiles, en el caso de necesitar hacer esto por alguna razón.

Dentro de la carpeta "Users" o "Usuarios" en la raíz C:\. Podemos encontrar los perfiles creados por defecto en Windows 7, para poder visualizarlos todos correctamente tendríamos que tener marcado las opciones de poder "ver todos los ficheros y carpetas ocultas" y "ficheros del sistema ocultos" en las 'Opciones de carpeta' del Explorer.

Acceso Público o Public (Windows 7) o All Users (Windows XP), (Todos los usuarios): Esta carpeta de perfil contiene la configuración que se aplica a todos los usuarios que inicien sesión en el equipo. Contiene una sección de perfil, NTUSER.DAT, que el sistema no carga. Contiene también las carpetas compartidas de documentos y música, accesos del menú de inicio compartidos, accesos directos en el escritorio que apareceran para todos los usuarios y más. 

La clave HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders tiene los vínculos a las subcarpetas de la carpeta del perfil de All Users.

Después otras configuraciones para Acceso Público irían en el path: %systemdrive%\ProgramData es decir en el raíz y no dentro de la carpeta de Acceso Público, esto para el caso de tratarse de Windows 7. En Windows 7 podremos ver un "Default User" con un icono de un "candado en una carpeta", esto es para mantener la compatibilidad con aplicaciones o migraciones de Win 7 a Win XP.

Default (Windows 7) o Default User (Windows XP) Usuario predeterminado: Contiene el perfil de usuario predeterminado que Windows copia cuando crea un nuevo perfil de usuario. Contiene la mayoría de archivos y carpetas que se han visto. Personalizar esta carpeta es una buena vía para iniciar cada usuario que inicia sesión en el equipo con la misma configuración. Windows comprueba primero la existencia de la carpeta de usuario predeterminado en el recurso compartido NETLOGON del servidor antes de usar la misma carpeta local si la copia en red no está disponible. Al personalizarla podemos implementar configuraciones que no queremos administrar. En Windows 7 podremos ver un "Default User" con un icono de un "candado en una carpeta", esto es para mantener la compatibilidad con aplicaciones o migraciones de Win 7 a Win XP.

LocalService (Servicio Local) y NetworkService (Servicio de Red): Son carpetas de perfil para la cuenta integrada de Servicio Local y de Servicio de Red, las cuales usan Service Control Manager para los servicios que no necesitan ejecutarse bajo la cuenta LocalSystem. Son perfiles normales de usuariarios con datos limitados, no lo vemos en el cuadro de diálogo de perfiles de usuario y sus carpetas están super-ocultas. En Windows 7 estas carpetas no se muestran físicamente ni como ocultas, pero existen las cuentas creadas de las mismas en el sistema.

Administrador y/o otros usuarios: Estos son perfiles normales del sistema y depende si ya hubiésemos o no creado dichos perfiles o entráramos alguna vez en ellos.

Carpetas del perfil

En cada perfil creado existe un determinado contenido en su interior que podremos denominar como: las "Carpetas del perfil" muchas de estas permanecen de modo oculto.

Las carpetas de un perfil de usuario contienen los archivos de aplicación por usuario. Por ejemplo, las plantillas instaladas de MS Office y diccionarios personalizados, las cookies almacenadas de IE o navegadores, configuraciones de otras aplicaciones, configuraciones del aspecto del perfil de Windows, accesos directos, etc.

A parte de las ya conocidas en Windows XP, no haré referencia todas las carpetas en profundidad si no que mencionaré las que me parecen más interesantes para la administración y gestión de perfiles de usuario, ya que las típicas

NTUSER.DAT: Es un archivo oculto de registro. Cada archivo NTUSER.DAT de usuario contiene los parámetros de configuración del registro de Windows para esa cuenta en concreto en la cual se almacenan las preferencias del usuario que tenga establecidas a lo largo del tiempo. La configuración de la carpeta de registro "HKEY_CURRENT_USER" está soportada por el actual archivo NTUSER.DAT de usuario.
Este se encuentra en el path del usuario: C:\Users\NOMBRE_USUARIO.

AppData: La cual contiene a tres carpetas: Local, LocalLow y Roaming.

Local
: Denominada así en Windows 7, contiene archivos de aplicaciones que no viajan con el perfil. Los archivos que encontramos aquí son por equipo o demasiado grandes para copiarlos vía red.
En Win XP esta misma carpeta es denominada: Configuración local (Local Settings) y estaba como carpeta oculta en el path: C:\Documents and Settings\%USER%\Configuración local\Datos de programa
  • Datos de Programa (Application Data): Datos específicos de aplicaciones por-equipo.
  • Historial (History): Historial del Internet Explorer.
  • Temp: Archivos temporales por-usuario.
  • Archivos Temporales de Internet (Temporary Internet Files): Archivos desconectados de Internet Explorer.
LocalLow: Es igual que la carpeta 'Local' anterior, pero tiene un nivel de integridad más baja. Por ejemplo, IE8, sólo se puede escribir en la carpeta LocalLow (cuando el modo protegido está activado).

Roaming
: Su contenido son archivos de diversos programas: e-mail, accesos directos, plantillas, etc… Cada distribuidor de software elige que archivos almacena aquí. Todas los temporales, históricos, logs, historiales de conversación de determinadas aplicaciones, plantillas, ficheros que almacenan configuraciones de determinado software, etc. Todo esto y más está guardado en este carpeta. Podremos acceder rápidamente a ella con la variable de entorno %APPDATA%.

Esta carpeta puede redireccionarse a una ubicación de red mediante directivas de grupo. En Win XP esta misma carpeta es Datos de programa (Application Data) en el path: C:\Documents and Settings\%USER%\Datos de programa.

El resto de carpetas cambia un poco la forma de llamarlas y verlas de como era en Windows XP a Windows 7 veremos que existen carpetas ocultas y del estilo de un acceso directo (un tipo de "enlace simbólico"), también llamadas igual que como se llamaban en Win XP. Esto ocurre por motivos de compatibilidad entre sistemas operativos y/o interacción con aplicaciones o migraciones de OS de Win XP a Win 7, de modo que nos ayuda a mantener la integridad y funcionalidad de aplicaciones y sistema operativo.

Por lo que la aclarar este punto anterior no entraré en profundidad en cada una de dichas carpetas restantes situadas en la raíz del perfil, ya que me parece que son suficientemente obvias para explicarlas.

En Windows XP la carpeta SendTo está en la raíz del perfil como oculta: Contiene accesos directos a unidades, carpetas y aplicaciones de destino. Si hacemos doble clic en un objeto y pulsamos en Enviar a, obtenemos una lista de estos destinos, y si pulsamos en cualquiera de ellos el objeto se enviará a esa unidad, carpeta o aplicación. Esta carpeta podemos editarla añadiendo o eliminando accesos directos mapeados a sitios, ya sean paths de alguna ubicación en concreto o atajos para aplicaciones.

En Windows 7, esta carpeta desaparece de la ubicación donde se encontraba en Win XP y pasa al siguiente directorio: C:\Usuarios\%USER%\AppData\Roaming\Microsoft\Windows\SendTo.

Espero que esta entrada aclarase algunas o muchas dudas aquellas personas que las pudiesen tener respeto al tema de como los administra/gestiona Windows.

Saludos!

19 marzo, 2014

Cambiar una dirección IP remotamente de forma subyacente con PsExec

Ya hablara del conjunto de herramientas que componen el paquete PsTools desarrolladas por Mark Russinovich (Sysinternals), las cuales nos permiten entre otras cosas realizar administraciones a equipos remotos de una red.

En esta ocasión haré uso de una de estas herramientas. PsExec la cual nos permite ejecutar procesos de un equipo remoto. Por ejemplo; realizar comandos en una shell remota, estos comandos NO se verán remotamente, es decir, que se hace transparente al usuario final y/o remoto.

En este caso mostraré un pequeño batch processing (.bat) que con ayuda de esta herramienta nos permitirá cambiar la dirección IP remota ACTUAL por una nueva asignación de dirección IP.
Copiando este script y pegándolo en fichero de texto, renombrándolo con una extensión .bat.
@echo off
echo ++ Introduce la IP del equipo Remoto:
set /p ipremota=
echo.
echo ++ Introduce la nueva IP a establecer:
set /p ipnueva=
echo.
echo ++ Introduce la mascara correspondiente:
set /p mascara=
echo.
echo ++ Introduce la Gateway correspondiente:
set /p gateway=
echo.
echo ++ Introduce el nombre de la interfaz: Ej: Conexión de área local
set /p interfaz=
echo.
psexec \\%ipremota% -u UsuarioAdmin -p PasswordAdmin -s netsh interface ip set address name="%interfaz%" source=static %ipnueva% %mascara% %gateway% 1
exit
Simplemente creamos y establecemos las variables a tener en cuenta y que nos harán falta para el uso de psexec. Como son principalmente e importante la dirección IP ya que la Subnetmask y la Gateway es opcional, dependiendo nuestras necesidades.
En mi caso es necesario ya que necesito cambiar IPs remotas que están fuera del rango habitual de mi red actual, pero que sin embargo si forman parte de mi tabla de enrutamiento (route print).

Después hacemos uso de la herramienta PsExec de manera que hagamos referencia a la IP remota (ya introducida como una variable), así como las posteriores variables tomadas que en mi caso eran la mascara de subred y la puerta de enlace.

Los parámetros con PsExec utilizados son los siguientes:
  • \\ipremota: IP Remota o nombre del equipo (para establecer la conexión con el equipo)
  • -u: Usuario con privilegios de la máquina remota para ejecutar el comando.
  • -p: Password de dicho usuario remoto con privilegios.
  • -s: Proceso/comando a ejecutar de manera remota. En este caso, netsh y su respectiva sintaxis de uso.
  • 1: Indica la métrica, normalmente en la mayoría de casos especificamos el valor 1.
Saludos!

17 marzo, 2014

PsTools: Suite de herramientas para la gestión y administración de equipos remotos en redes locales

PsTools es una suite de herramientas útiles para los administradores de sistemas y redes. Esta compuesto por multitudes de utilidades las cuales se utilizan en forma de comandos.

El autor de todo esto, es el conocido Mark Russinovich -programador y fundador de Sysinternals, empresa que Microsoft posteriormente compró-. Esta suite data del año 2007 (lo cual aún hoy me extraña que no hubiese publicado nada en el blog sobre ellas) pero aun tuvo recientes actualizaciones para ciertas herramientas que la componen.

El punto fuerte de este pack de tools en la mayoría de ellas es que sirven para realizar tareas administrativas a equipos remotos de una red local o de dominio, de manera subyacente al usuario final.

El uso de estas herramientas es en forma de comandos mediante una shell de Windows. Así que una vez descarguemos las herramientas que necesitemos o directamente la suite completa PsTools. Simplemente nos tendríamos que colocar el prompt en el path donde esté la carpeta raíz de PsTools descargada o donde la hubiésemos ubicado después de descargar el paquete.

En mi caso agregué la ruta: "C:\Windows\PsTools" a la variable de entorno 'PATH' de Windows.
De modo que ya no tengo por que estar siempre situado en la ruta raíz donde tenga las PsTools, me bastaría con hacer uso de las herramientas desde cualquier ruta en el que esté ubicado, ya que gracias a la variable de entorno añadida, Windows sabrá encontrar el camino raíz de los ejecutables que componen PsTools.

El pack de PsTools incluye las siguientes utilidades:
  • PsExec: Permite ejecutar procesos en cualquier contexto de usuario.
  • PsFile: Muestra los archivos abiertos de forma remota en un sistema.
  • PsGetSid: Muestra el identificador de seguridad (SID) de Windows de un equipo o un usuario.
  • PsInfo: Muestra información acerca de un sistema de Windows.
  • PsKill: Elimina o finaliza los procesos por nombre o identificador PID.
  • PsList: Muestra información detallada acerca de procesos en ejecución.
  • PsLoggedOn: Muestra todos los usuarios que han iniciado la sesión de forma local, así como todos los usuarios de recursos compartidos remotos.
  • PsLogList: Vuelca los registros de eventos de Windows.
  • PsPasswd: Cambia las contraseñas de cuentas de usuario.
  • PsService: Consulta y controla los servicios de Windows.
  • PsShutdown: Apaga, reinicia o suspende un equipo, o lo coloca en modo de hibernación.
  • PsSuspend: Suspende procesos en ejecución.
Esta no es una entrada para profundizar en cada una de ellas, ni era la intención de hacerlo, si no que iré haciendo uso de ellas a medida que me vayan surgiendo la necesidad de usarlas y exponer en posteriores artículos casos más concretos.

Saludos!

Entradas Populares