Crear imagen maestra de Windows 8.1 manualmente

Hace ya un par de años aproximadamente, escribí un artículo donde describí cómo crear una imagen maestra de Windows 8, pero teniendo presente además un perfil predeterminado. Debido a que el tema de la imagen maestra por ese artículo y algunos otros que tuve con Windows 7, y gran cantidad de dudas que muy amablemente me han hecho llegar, he decidido escribir este post donde me enfocaré única y exclusivamente al proceso de la imagen maestra, sin tener en cuenta otros aspectos.

El artículo estará enfocado a Windows 8.1, y trataré de detallarlo lo que más pueda, con el fin de aclarar dudas y sea fácil de seguir; como dato adicional, utilizaré nombres y rutas específicas, que pueden cambiar a preferencia si se sienten cómodos.

Requerimientos:

1) Necesitamos DOS máquinas que pueden ser físicas o virtuales. los nombres que utilizaré para diferenciarlas durante todo este post, será: WIN811 y WINP2; a continuación detallaré para qué es necesario cada una:

WIN811: Esta máquina –virtual o física-, tendrá instalado Windows con todo lo que deseen integrar en la imagen maestra; es decir, actualizaciones descargadas y aplicaciones como Office, por ejemplo (Ver captura después del párrafo). Del equipo WIN811, es donde se hará el proceso de resellado y captura de imagen. Como dije anteriormente, cada quien puede tener nombre diferente, pues yo solo lo hago para que puedan diferenciar.

2015-01-24_12-52-18

WINP2: En esta máquina –virtual o física-, es donde se instalará la última versión oficial del ADK (Ver: “Instalación del ADK”), para generar el Windows PE que se utilizará con el fin de capturar la imagen maestra en WIN811, y se creará después la imagen .ISO de instalación.

Deben descargar en el equipo WINP2 el paquete de instalación del ADK desde la web oficial de Microsoft: http://www.microsoft.com/es-ES/download/details.aspx?id=39982

*Nota: Personalmente, recomiendo que los equipos sean virtuales, puesto que se pueden recuperar más fácil si hay algún error y la imagen será mucho más limpia y neutra. El equipo donde se vaya a instalar el ADK es más viable que sea físico, pues sólo se utilizará para hacer las operaciones correspondientes para crear la imagen.

2) Los archivos de instalación que vienen en el medio o imagen .ISO de Windows 8.1. Técnicamente, en caso de que no los tengan, se podría utilizar los que trae un medio de evaluación disponible en TechNet para descargar:
http://www.microsoft.com/en-us/evalcenter/evaluate-windows-8-1-enterprise

3) En el equipo WINP2, crear una carpeta en la unidad C: llamada: W81. Allí debemos copiar los archivos de instalación del medio descargado o adquirido en el paso anterior; para esto, insertamos el DVD o montamos la imagen .ISO y posteriormente copiamos desde la consola todos los archivos. (Ver: “Copiando archivos de instalación”).

4) Mucha paciencia: Cada proceso puede tardar un buen rato, todo depende de los recursos que tengan las máquinas donde estemos trabajando.

Instalación del ADK (WINP2):

En el equipo WINP2 donde se descargó el ADK, ejecutar el adksetup.exe, y navegar en las páginas del asistente hasta llegar a Seleccione las características que desea incluir en la instalación; allí debemos escoger lo siguiente:

– Herramientas de implementación.
– Entorno de preinstalación de Windows (Windows PE).
– Herramienta de migración de estado de usuario (USMT) – Opcional.

2015-01-24_14-58-50

Clic en el botón Instalar para iniciar la instalación de los componentes.

Copiando archivos de instalación (WINP2):

Cuando hayamos insertado el medio de instalación, o montado la imagen .ISO de Windows 8.1 en el equipo WINP2, hacemos clic derecho en el botón de Inicio y seleccionamos: Símbolo del sistema (administrador).

En la consola, identificamos primero la unidad donde están los archivos, y ejecutamos:

xcopy <UnidadWin>*.* /s/e/f C:W81

Donde <UnidadWin> corresponde a la unidad en la que están los archivos de instalación; por ejemplo, si es la D, el comando sería:

xcopy D:*.* /s/e/f C:W81

2015-01-24_15-40-35

La carpeta debería verse así:

2015-01-24_21-51-22

Habilitando cuenta de administrador integrado (WIN811)

Es recomendable resellar el equipo con la cuenta de administrador integrado y eliminando todas las otras cuentas existentes; de esta forma, la imagen quedará limpia de cuentas innecesarias.

En WIN811, clic derecho en el botón de Inicio y Símbolo del sistema (administrador).

En la consola, ejecutamos:

Net User Administrador /Active:Yes

2015-01-25_9-35-28

Cerramos sesión con ese usuario e iniciamos sesión con el Administrador integrado.

Nuevamente, clic derecho en el botón de Inicio y Símbolo del sistema (administrador).

No es obligatorio, pero considero necesario eliminar todas las demás cuentas locales para que en cada instalación solo exista la que el usuario cree y así la imagen esté lo más limpia posible.

Pueden eliminar las cuentas desde el Panel de Control, pero si quieren hacerlo rápido, basta con saber el nombre de las que existen y proceder a quitarlas desde la consola. Por ejemplo, para mi caso que tengo una cuenta llamada Checho y otra Andy, los comandos serían:

Net User Checho /DELETE

2015-01-25_9-55-22

Net User Andy /DELETE

2015-01-25_9-55-50

Dejamos la sesión de Administrador activa para las próximas operaciones en WIN811.

Creando entorno de preinstalación (Windows PE) – WINP2

En el equipo WINP2, es decir, en donde se instaló el ADK, buscamos desde la Pantalla de Inicio Entorno de herramientas de implementación y creación de imágenes, clic derecho y Ejecutar como administrador:

2015-01-24_16-06-12

Desde la consola, vamos a crear un Windows PE de acuerdo a nuestra arquitectura:

Si van a capturar un equipo de 32 bits, ejecutan:

copype x86 C:WinPE

2015-01-24_22-02-30

Si van a capturar un equipo de 64 bits, ejecutan:

copype AMD64 C:WinPE64

2015-01-24_22-09-02

Para este artículo, yo voy a capturar un equipo de 64 bits, así que me aplica el segundo comando.

Después de copiar todo, deben tener una carpeta llamada WinPE o WinPE64 según sea el caso en la raíz del disco local:

2015-01-24_22-10-12

*Nota: En lo que resta del artículo, trabajaré refiriéndome a WinPE64 porque fue el que creé, así que ahí tendrás que modificar en caso de que hayan creado el de 32 bits.

Generar imagen ISO

Abrimos nuevamente el Entorno de herramientas de implementación y creación de imágenes –si es que habíamos cerrado la consola- y ejecutamos:

MakeWinPEMedia /ISO <DirWPE> C:WinPE64.iso

Donde <DirWPE> se refiere al directorio del Windows PE creado; en mi caso, como fue el de 64 bits, sería:

MakeWinPEMedia /ISO C:WinPE64 C:WinPE64.iso

2015-01-24_22-18-33

Nos debe quedar una imagen creada llamada: WinPE64.iso en la raíz del disco:

2015-01-24_22-23-17

Esa es la imagen que utilizaremos para cargar el equipo WIN811, así que la debemos grabar en algún medio DVD/USB si es que estamos sobre equipos físicos, o pasarla en imagen .ISO en caso de que estemos trabajando sobre máquinas virtuales.

Resellando equipo – WIN811

En el equipo WIN811, que es donde está instalado Windows, Office, las actualizaciones y todo lo que deseamos tener en la imagen maestra, vamos a proceder a resellar con el fin de limpiar todas las asociaciones propias de hardware, el SID y dejar listo para capturar. Para resellar el equipo, hacemos lo siguiente:

1. Cerramos todas las aplicaciones que estén corriendo.

2. Clic derecho en el botón de Inicio y seleccionamos Símbolo del sistema (administrador).

3. En la consola, ejecutamos:

cd sysprep

sysprep /OOBE /Generalize /Shutdown

2015-01-25_10-00-17

El proceso de resellado iniciará y debemos dejar el equipo tranquilo hasta que termine y se apague automáticamente:

2015-01-25_10-05-00

*Nota: Si por alguna razón cerramos, o el Sysprep falla, es poco probable que se pueda arreglar el problema, así que normalmente hay que restaurar el equipo a un estado antes de correr el resellado.

Capturando el equipo – WIN811

Una vez apagado el equipo, debemos iniciarlo pero desde el DVD o USB con el Windows PE creado en los pasos anteriores desde el WINP2. Si estamos en máquinas físicas, hay que insertar el medio (DVD o USB), iniciar el menú de arranque de acuerdo al modelo, o bien entrar en la BIOS y escoger cuál debe ser el primer dispositivo en iniciar.

Para Hyper-V

Si estamos en máquinas virtuales, específicamente en Hyper-V, podemos simplemente cargar el equipo WIN811 con la imagen ISO que creamos en el WINP. En Hyper-V, basta con ir al menú Medio > Unidad DVD > Insertar disco…

2015-01-26_14-32-08

En la ventana de abrir, escogemos el Windows PE (WINPE64.iso) copiado de WINP2 y aceptamos:

2015-01-26_14-34-31

Luego, clic en el menú Archivo > Configuraciones.

Nos paramos en Firmware y nos aseguramos que esté arrancando desde DVD:

2015-01-26_14-36-15

Al iniciar el equipo, nos debe pedir presionar tecla para arrancar desde el medio –si fue con el DVD- y estaremos frente a una consola dentro del ambiente de preinstalación:

2015-01-26_14-38-39

Antes de capturar, es necesario identificar con exactitud qué letra tiene la partición de Windows, pues no siempre mantiene la C. Para esto, ejecutamos:

Diskpart

List volume

Esto nos listará todas las particiones y su detalle, para que cada uno referencie el volumen donde está instalado Windows:

2015-01-26_14-41-40

Tal cual ven en la imagen, el volumen , con letra C en mi caso, es la partición donde sé que está instalado el sistema operativo. Con esto, solo ejecutamos Exit para salir.

2015-01-26_14-46-25

*Nota: Tengan presente que la letra de unidad puede variar en cada caso, así que la deben identificar antes de continuar.

Para finalmente capturar la imagen, ejecutamos:

Dism /Capture-Image /ImageFile:<UnidadDes>:install.wim /CaptureDir:<UnidadOr>: /Name:"Windows 8.1 PRO + Office" /Description:"Windows 8.1 PRO + Office"

Donde <UnidadDes> corresponde a la partición, ruta de red o destino que va a tener nuestra imagen capturada y <UnidadOr> es la letra de la unidad que vamos a capturar. Por ejemplo, en mi caso que la quiero guardar en la misma unidad C del WIN811 y que es esa misma unidad la que voy a capturar, el comando sería:

Dism /Capture-Image /ImageFile:C:install.wim /CaptureDir:C: /Name:"Windows 8.1 PRO + Office" /Description:"Windows 8.1 PRO + Office"

2015-01-26_14-55-25

*Nota: Todo se escribe en una sola línea.

Cuando llegue al 100%, cerramos la consola y dejamos que el equipo –en mi caso WIN811- se reinicie completamente, ingresando de nuevos los datos del primer arranque ocasionados por haber resellado el equipo. Una vez iniciada la sesión, debe estar nuestra imagen capturada con el nombre de install.wim:

2015-01-26_15-22-49

Generando imagen ISO – WINP2

Desde el equipo WIN811, copiamos la imagen capturada (install.wim) al equipo WINP2 y luego la remplazamos por la del medio original en C:W81Sources

2015-01-26_15-36-05

En la carpeta C:W81Sources, nos debe quedar entonces el install.wim recién capturado.

Para crear la imagen .ISO, buscamos Entorno de herramientas de implementación y creación de imágenes, clic derecho y Ejecutar como administrador:

 2015-01-24_16-06-12

Desde la consola, ejecutamos en una sola línea:

Oscdimg -bootdata:2#p0,e,bC:W81bootEtfsboot.com#pEF,e,bC:W81efimicrosoftbootEfisys.bin -u1 -udfver102 C:W81 C:Win81PRO_with_Office.iso

2015-01-26_15-50-48

*Nota: Recomiendo hacer clic en la imagen para verla en tamaño real y escribir bien todo.

Lo anterior nos creará una imagen .ISO lista para instalarse en equipos con Legacy BIOS y con UEFI BIOS:

2015-01-26_15-56-28

Probando instalación – Cualquier equipo

Naturalmente, el paso final es grabar la imagen .ISO en un DVD o preparar un dispositivo USB para hacer la instalación y ver que no haya errores durante el despliegue:

2015-01-26_16-07-00

Traté de que este post estuviera lo más detallado posible, así que espero sea de utilidad.

No olviden seguirme en Twitter: www.twitter.com/secalderonr

Saludos.

Checho

El mensaje de «Error al cargar la secuencia de comandos D:bin.doc» al iniciar sesión, Process Monitor y su solución

El caso que pasaré a describir, ha sido uno de los más duros que he logrado resolver, y me gustaría compartirlo aquí, porque es uno de los que empieza a tener mucha frecuencia en los foros de soporte de Microsoft. Como suelo hacerlo, mostraré el problema, la posible causa según toda la investigación hecha y su solución.

El problema

Todo nació en un hilo de los foros de Windows 7 en Microsoft Community; aunque era el mismo problema, la solución resultó ser bastante diferente.

Básicamente, cada que el usuario iniciaba sesión en su Windows 7, el siguiente mensaje de error aparecía:

2015-01-18_13-25-59

«Error al cargar la secuencia de comandos “D:bin.doc“ El dispositivo no está listo

Inglés: «Loading script “D:bin.doc” failed (The device is not ready.)»

Después de hacer clic en el botón Aceptar, el mensaje desaparecía y no habían más comportamientos extraños en el sistema operativo, por lo menos hasta el siguiente reinicio o cierre de sesión.

El problema solo afectaba a ese usuario en particular, y se volvía bastante molesto tener que aceptar el mismo mensaje cada que iniciaba sesión.

La causa

La recomendación que doy siempre en este tipo de casos, es identificar todo lo que esté iniciando con el usuario, debido a que es muy común que aplicaciones dejen basura en el sistema y Windows intente arrancar algo mientras el usuario ingresa.

Para poder ver esto y a causa de que el Administrador de Tareas de Windows sirve poco o nada, le pido al usuario que utilice Autoruns de SysInternals para poder gestionar correctamente lo que verdaderamente está arrancando. Como no es muy normal que un usuario que pide ayuda sepa utilizar este tipo de herramientas, hago que cargue el log, lo guarde y después de lo envíe.

Volviendo al caso y una vez obtenido el log de Autoruns, pensé que iba a encontrar alguna entrada en amarillo en la pestaña de Logon o de Scheduled Tasks que tuviera algún nombre extraño y buscara el archivo bin.doc, pero no fue así.

Era muy extraño que Autoruns no hubiese podido identificar la entrada, pero como no encontré nada, procedí a pedirle el log de Process Monitor, utilizando la característica de Boot logging; de esta forma, podría monitorear lo que sucedía en Windows mientras el usuario iniciaba sesión, así que necesariamente tendría que ver algún rastro de ese mensaje.

*Nota: Boot Logging, como lo he mostrado en otras entradas, permite decirle a Process Monitor que ubique su controlador antes que cualquier otro cuando está prendiendo el equipo, así que puede recolectar todo lo que sucede en el proceso de encendido de Windows y ver cosas que sólo ocurren mientras se ingresa desde la pantalla de inicio de sesión. Para activar esta característica, hay que ir al menú Options > Enable Boot Logging.

Cuando tuve el log de Process Monitor, busqué inmediatamente por el “bin.doc” y en toda la traza que recolectó, encontré solo tres entradas al respecto:

2015-01-20_20-53-12

Básicamente, el proceso de Explorer.exe de Windows, estaba creando, o más bien instanciando el proceso de wcript.exe y después, en la segunda entrada, iniciaba Windows iniciaba ese proceso directamente.

Al entrar en las propiedades del primer evento que muestra la captura haciendo doble clic en la entrada desde Process Monitor, me encontraba con que el Explorer.exe además de iniciar el proceso wscript.exe, le mandaba unos parámetros específicos donde incluía ejecutar el archivo: bin.doc.

2015-01-20_20-58-28

Los parámetros, como lo ven en la captura, eran:

“C:WindowsSystem32wscript.exe” /e:VBScript.Encode D:bin.doc

La primera parte llamaba el proceso de wscript.exe y luego intentaba ejecutar el script. Debido a que ese archivo no existía en el equipo del usuario afectado, la ejecución fallaba y Windows mostraba el mensaje de error de Windows Script Host.

Si ejecutaba esa línea en cualquier equipo, recibía un mensaje muy similar al del error:

2015-01-20_21-09-15

Con eso pude comprobar que era la creación y ejecución de ese proceso con la línea extraña la que generaba el mensaje de error; sin embargo, esto no me decía la razón por la cual el proceso de Explorer.exe resultaba llamando a wscript.exe y menos aún, por qué le enviaba ese parámetro.

Después de darle vuelta un par de días, decidí mirar en detalle todos los eventos que ocurrían antes de que se instanciara el proceso de wscript.exe, y luego de varias líneas, encontré algo de lo que no me había percatado anteriormente:

2015-01-20_21-13-29

Como ven en la captura –si hacen clic en ella para el tamaño real-, Windows estaba leyendo un curioso archivo llamado Start.lnk, ubicado en la ruta:

C:UsersUreAppDataRoamingMicrosoftWindowsStart MenuProgramsStartup

Lo interesante aquí, es que todo lo que se encuentre en la carpeta Startup, se ejecutará automáticamente en cada inicio de sesión y el nombre del archivo no parecía muy normal.

Decidí entonces pedirle al usuario que me navegara hasta esa ruta y me enviara el archivo sin eliminarlo y al ingresar a sus propiedades –debido a que era un acceso directo-, me encontré con una grata sorpresa:

2015-01-20_21-19-13

El acceso directo, ubicado en esa carpeta, estaba lanzando la ejecución del proceso wscript.exe, con sus respectivos parámetros.

Ahora, ¿Por qué Process Monitor identificaba a Explorer.exe como el proceso que llamaba a wscript.exe para hacer la ejecución? Pues bien, Explorer.exe es el primer proceso que carga al iniciar sesión y es el proceso padre que ejecuta todo lo que esté en los respectivos directorios; debido a que Start.lnk era un archivo dentro de una carpeta predestinada para lanzarse en cada inicio, era Explorer.exe el responsable de esta ejecución.

Ya sabía dónde estaba ubicado el archivo responsable, por qué iniciaba con el usuario y por qué se ligaba a un proceso del sistema operativo. Mi último paso, era solucionarlo.

La solución

Para solventar el problema, bastó lo siguiente:

Primero que todo, le pedí al usuario navegar hasta la ruta:

C:UsuariosUreAppDataRoamingMicrosoftWindowsMenú inicioProgramasInicio

*Nota: Si tienen el mismo problema, la ruta será igual, pero variará el nombre de usuario.

Segundo, que hiciera clic derecho sobre el archivo de Start.lnk y Eliminar.

*Nota: Es probable que no siempre tenga el mismo nombre, pero casi siempre será un acceso directo.

Tercero, le pedí reiniciar el sistema y después de esto, el mensaje de error se había ido.

Notas finales

La razón por la que Autoruns no muestra este tipo de entradas, es porque las considera como de Windows al llamar ejecutables conocidos y este tipo de entradas están ocultas de forma predeterminada en Autoruns. Basta ir al menú Options > Filter Options y quitar la selección sobre: Hide Microsoft entries y Hide Windows entries.

2015-01-20_22-03-51

Por otro lado, me di cuenta después que el archivo se habría podido identificar desde Process Explorer, accediendo a las propiedades del Windows Script Host mientras estuviera en ejecución:

2015-01-20_21-59-11

Espero haber sido de utilidad.

PD: No olviden seguirme Twitter: www.twitter.com/secalderonr

Saludos.

Checho

Mostrar todos los usuarios disponibles antes de iniciar sesión en Windows 8/8.1

Uno de los cambios pequeños que tuvo el comportamiento de inicio de sesión en Windows 8/8.1, es que siempre intentará arrancar con el último usuario que estuvo activo en el sistema; aunque puede ser útil si solo tenemos un usuario, no es tan entretenido si es un equipo compartido en el que cada determinado tiempo un nuevo usuario requiere iniciar sesión.

La pregunta del cómo decirle a Windows que muestre todos los usuarios antes de iniciar sesión, tiene cierta frecuencia en los foros oficiales de Microsoft Community así que después de indagar un poco al respecto, decidí documentar el procedimiento paso a paso para que en cada inicio de sesión se deba escoger el usuario y el sistema operativo no lo haga de forma automática.

El objetivo del post, es ver el inicio así:

2015-01-07_11-33-12

Como ven, la idea es siempre poder escoger el usuario antes de ingresar las credenciales.

Cada vez que Windows inicia, o se va a la pantalla de inicio de sesión cerrando o bloqueando sesión, el sistema operativo busca el estado de un valor llamado Enabled en la clave:
HKLMSOFTWAREMicrosoftWindowsCurrentVersionAuthenticationLogonUIUserSwitch

Process Monitor puede dar fe de ello:

2015-01-07_11-21-41

Si el valor Enabled está habilitado, es decir, tiene uno como contenido, Windows siempre mostrará todos los usuarios antes de iniciar sesión, pero normalmente este valor está en cero, o sea deshabilitado:

2015-01-07_11-29-03

Normalmente bastaría con habilitarlo y listo, pero en este caso, aunque le pongamos el contenido de de uno, se volverá a cambiar a cero en cada inicio de sesión. ¡Ahí el problema!

Si bien se podrían editar los permisos para prohibirle al usuario SYSTEM, que es responsable, se generarían problemas después para que Windows entienda otros cambios que se deben hacer sobre la clave de registro.

Lo que haremos a continuación, será automatizar el cambio del contenido de la clave, así en cada inicio de sesión tendrá el comportamiento esperado.

Automatizando el cambio de clave en Registro

Lo primero que haremos, será abrir un blog de notas en limpio y escribir el siguiente comando:

REG ADD HKLMSOFTWAREMicrosoftWindowsCurrentVersionAuthenticationLogonUIUserSwitch /v Enabled /t REG_DWORD /d 1 /f

Todo es una sola línea:

2015-01-07_11-41-39

Lo que hace el comando es básicamente escribir uno en el valor Enabled.

A continuación, clic en Archivo > Guardar como y lo ponemos en una ubicación donde podamos escribir como en el Escritorio. El nombre será: EnaUsr.bat

2015-01-07_11-45-20

Después de esto, movemos el archivo manualmente al disco local C:

Debería quedar entonces en C:EnaUsr.bat

2015-01-07_11-48-32

Ese archivo siempre pondrá el contenido de uno sobre el valor cada que se llame; ahora necesitamos una forma de poder llamarlo siempre y que funcione sin mayor inconveniente. La forma más fácil para hacer esto, es a través de una Tarea Programada.

Antes que nada, es necesario que en el Registro de Windows, el cambio de contenido a uno esté por lo menos la primera vez antes de proceder al Programador de Tareas, así que hacemos clic derecho sobre EnaUsr.bat y seleccionamos Ejecutar como administrador:

2015-01-07_12-28-24

Para verificar, abrimos el Registro de Windows desde la Pantalla de Inicio (Regedit.exe) y navegamos hasta:

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionAuthenticationLogonUIUserSwitch

El valor de Enabled, debe estar en uno:

2015-01-07_12-30-46

Hecho esto, procedemos a crear la tarea:

Creando la Tarea Programada

Desde la Pantalla de Inicio, escribimos Programar tareas y lo ejecutamos:

2015-01-07_11-55-08

En la ventana de Programar tareas, clic en Crear tarea en el panel derecho:

2015-01-07_11-56-33

En la pestaña de General, escribimos un nombre, por ejemplo: Mostrar usuarios y luego una descripción que explique el propósito de esta tarea:

2015-01-07_12-00-29

Después, en la parte inferior de la misma pestaña, cambiamos a Windows 8.1 el Configurar para:

2015-01-07_12-03-03

Como necesitamos que esta tarea se ejecute independiente del usuario que inicie sesión, es necesario decirle al Programador de Tareas que siempre utilice el usuario de SYSTEM; para esto, hacemos clic en el botón Cambiar usuario o grupo en la misma pestaña de General, copiamos SYSTEM y clic en Aceptar:

2015-01-07_12-08-37

La pestaña de General debería verse así:

2015-01-07_12-10-34

Pasamos a la pestaña de Desencadenadores y clic en el botón Nuevo:

2015-01-07_12-13-44

Al lado de Iniciar la tarea, escogemos Al iniciar la sesión y clic en Aceptar:

2015-01-07_12-17-14

Pasamos a la pestaña de Acciones y hacemos clic en el botón Nueva:

2015-01-07_12-19-03

En la ventana de Nueva acción, dejamos la opción de Iniciar un programa que está de forma predeterminada, hacemos clic en el botón Examinar, buscamos nuestro archivo por lotes ubicado en C:EnaUsr.bat y clic en Aceptar:

2015-01-07_12-20-41

¡Todo listo! De vuelta en la ventana de Crear tarea, hacemos clic en Aceptar para terminar y cerrar.

En la ventana de Programador de tareas, al pararnos en el nodo de Biblioteca del Programador de tareas, deberíamos poder ver nuestra tarea creada en el panel central:

2015-01-07_12-23-58

Cerramos el Programador de tareas y habremos terminado. Lo único que queda, es reiniciar el equipo por lo menos dos veces y ver que en efecto, siempre debamos escoger nuestro usuario de la lista disponible sin importar con quién iniciemos y reiniciemos:

2015-01-07_12-34-53

Espero haber sido claro y que sea de utilidad.

Saludos.

Checho

Gestionar aplicaciones de inicio automático en Windows utilizando Autoruns

En el mes pasado de diciembre, escribí un post donde detallé un poco cómo podríamos identificar cambios en el Registro de Windows al aplicar directivas de grupo haciendo uso de Process Monitor; hoy, siguiendo ese camino, quiero documentar otro caso práctico útil, pero esta vez usando la herramienta de Autoruns, también de Windows Sysinternals.

Introducción a Autoruns

Autoruns, otra de las grandes herramientas de Sysinternals, nos permite administrar todo lo que en verdad está iniciando de forma automática con Windows; esto incluye las aplicaciones que arrancan asociadas al usuario, controladores, servicios, tareas programadas, extensiones del Explorador de archivos, entre varias otras.

Así se vería Autoruns después de iniciado:

2014-12-23_20-02-12

Básicamente, Autoruns se compone de una barra de menús, una de comandos para tareas comunes como la de búsqueda o la de actualización, unas pestañas que indican los tipos de inicio que puede detectar y finalmente un cuadro central donde muestra todo el contenido agrupado en varias columnas para describir adecuadamente cada entrada.

Ahora, ¿Por qué no utilizar MSCONFIG (Windows 7), o el Administrador de Tareas (Windows 8 y posteriores)? Pues bien, haciendo una comparación con el Administrador de Tareas, esto es lo que se vería en mi equipo por ejemplo:

2015-01-02_19-37-28

Según Windows, en mi usuario sólo están iniciando cuatro aplicaciones, todas habilitadas.

Si utilizo Autoruns y me voy a la pestaña de Logon, que corresponde al inicio de cada usuario, podré ver lo que realmente está iniciando:

2015-01-02_19-40-10

Como ven, no solo tengo más entradas, sino el detalle de cada una, así que puedo ver fácilmente la ubicación que tiene en el Registro de Windows, el editor, la ruta física y el tiempo que se está tardando en iniciar cada entrada. Por supuesto, puedo saber si está o no habilitada mirando el cuadro de selección que está a la izquierda.

Personalmente, encuentro Autoruns muy importante para tres cosas:

1. Acelerar el arranque de Windows: Al desactivar o eliminar las entradas identificadas (ver la siguiente parte del post), enfatizando en la pestaña de Logon, podremos mejorar notablemente el tiempo en que tarda el sistema operativo para estar funcional en nuestro usuario.

2. Identificar y quitar Malware: Gracias a que Autoruns tiene la capacidad de identificar muchísimas rutas donde una aplicación, archivo o script puede ubicarse para iniciar con Windows, podremos fácilmente llegar a reconocer software malicioso que esté actuando en nuestro equipo; además, Autoruns incluye una característica de verificación para saber si las firmas digitales son legítimas, tal cual lo hace Process Explorer.

3. Solucionar problemas críticos de Windows al iniciar: Como lo he mostrado en otros artículos, como el del constante pantallazo azul causado por un bug en el controlador de Windows, Autoruns se puede ejecutar desde un Entorno de Preinstalación (Windows PE) y evitar que los controladores, programas o archivos inicien en el sistema, sin tener que entrar a Windows.

Identificando y desactivando/eliminando entradas

Primero que todo, existen tres colores que predominan en las entradas que muestra Autoruns:

1. Color blanco: Corresponden a entradas que existen en el sistema, que pueden estar ejecutándose al inicio (depende si están habilitadas) y que además tienen una firma digital verificada. Por ejemplo:

2015-01-02_20-00-26

2. Color rosa: Estas entradas muestran programas, controladores, scripts o cualquier otra cosa que Autoruns identifica, que existe en Windows, puede estar habilitada o no, pero que la firma digital no se puede comprobar. Ejemplo:

image

3. Color amarillo: Toda entrada que esté en amarillo, quiere decir que está habilitada para iniciar en cada arranque de Windows, pero que el sistema operativo no encuentra su ubicación física; estas son los tipos de entradas que causan mensajes extraños que aparecen al iniciar sesión. Ejemplo:

2015-01-02_20-12-38

En mi experiencia usando Autoruns, cuando estoy buscando respuestas utilizándolo, las entradas amarillas son las que primero presto atención. Por ejemplo, los mensajes extraños que aparecen, muchas veces causados por Crapware o Malware.

Finalmente, podemos desactivar o eliminar completamente el arranque de alguna aplicación con Windows desde Autoruns:

Para desactivar, simplemente entramos a Autoruns, vamos a la pestaña en la que identifiquemos la entrada, por ejemplo la de Logon y limpiar el cuadro de selección a la izquierda; debe quedar vacío:

2015-01-02_20-19-26

Por el otro lado, si lo que deseamos es eliminar la entrada por completo, basta con hacer clic derecho sobre la entrada y seleccionar Delete:

2015-01-02_20-22-43

Opcionalmente, se puede seleccionar la entrada y presionar Ctrl+D y luego aceptar el mensaje que aparece:

2015-01-02_20-25-02

Las dos pestañas que más nos sirven para solucionar problemas en el arranque, sobre todo con mensajes raros o software malicioso, son las pestañas de Logon y de Scheduled Tasks.

Como la mayoría de las veces los problemas lo causan aplicaciones de terceros, es buena idea esconder todas las entradas correspondientes a Microsoft y a Windows; para esto, vamos al menú Options y luego Filter Options…

2015-01-02_20-33-22

Seleccionamos: Hide Microsoft entries y Hide Windows entries y hacemos clic en Rescan para que Autoruns actualice:

2015-01-02_20-34-49

De esta forma, sólo veremos entradas que correspondan a terceros y seguramente será mucho más fácil identificar las entradas con el problema.

Esto es solo una pequeñísima parte de lo que es Autoruns, incluso tiene un capítulo entero en su libro oficial; pero, sin duda alguna estas tareas básicas resultan muy productivas.

Espero sea de utilidad y les deseo a todos un feliz año.

Saludos.

Checho