Configurando Reset y Refresh en Windows 8 Consumer Preview

1537_Win8Logo_01_008485DD

Hola a todos,

Espero que ya estén descargando Windows 8, para los que no.. en mi anterior post indiqué los enlaces oficiales donde se puede descargar.

Hay muchísimo para ver, yo diría que demasiado sobre Windows 8 Consumer Preview, y es apenas normal, ya que según Microsoft, hay por lo menos 100.000 cambios con respecto a lo que se presentó en la Developer Preview el año pasado.

Como primer artículo de este nuevo sistema operativo, en su fase Beta, aunque no es lo normal, quiero hablar sobre una característica muy interesante, y que seguramente nos será muy útil, sobre todo a los que queremos probar diferentes comportamientos en Windows 8 con el peligro de daño que esto acarrea. Se trata de una de las nuevas funcionalidades llamadas Reset y Refresh incluidas en Windows 8 (Desde Developer Preview).

Básicamente, ambas nos permitirán volver a un estado limpio del sistema operativo, por lo que lo podemos asemejar con lo que ahora nos dan los OEM utilizando una partición oculta de recuperación; el cambio sin embargo será, que tendremos control completo nosotros mismos desde el sistema operativo, pudiendo incluso personalizar varios aspectos. Por supuesto, hay diferencias entre ambos, así que a continuación pasaré a detallar en la medida de que mi conocimiento lo permita, cómo funciona y cómo podemos personalizar cada uno.

*Nota: Hice alución y seguiré trabajando sobre los nombres en inglés, porque por ahora no hay ningun paquete de idioma en Español disponible, por lo que es difícil saber qué nombre tomará finalmente.

Para localizar Reset o Refresh, basta buscar por alguna de las dos palabras desde la pantalla de inicio, y seleccionar la que se desee, esto nos llevará a la pantalla de PC Settings y poder empezar:

image

*Nota: Pronto nos iremos familiarizando con lo de “Pantalla de Inicio (Start Screen)”, “PC Settings”, entre otras en futuros artículos donde intentaré detallar el tema.

Botón de Reset:

Esta funcionalidad nos será útil en dos casos principalmente, el primero y más utilizado, cuando queremos volver nuestra a instalación a un estado completamente limpio, es decir, a como Windows se comporta recién terminada la instalación; el segundo caso, es cuando queremos dejar la instalación también limpia, pero además queremos asegurarnos de borrar toda la información que allí se haya generado, muy útil para compañías que hacen el cambio de PCs cada determinado tiempo.

Por supuesto, las dos se pueden tomar también como una sola opción, todo dependerá de lo que se quiera.

Lo importante aquí a tener en cuenta es, a diferencia de volver a un estado limpio una máquina que vino preinstalado con OEM, es que no se conservará ningún tipo de dato, configuración o aplicación que se haya instalado hasta el punto de indicar el Reset del equipo. En pocas palabras, es una reinstalación de Windows sin nada más.

Requerimientos:

– Como esto implica una instalación limpia del equipo, debemos tener el medio de Windows 8 Consumer Preview metido en la unidad, de lo contrario no hará los pasos descritos a continuación y nos mostrará un mensaje:

image

Ejecutando el botón de Reset

Basta con buscar por “Reset” en la Pantalla de Inicio como mostré en la primera captura en este post, en la página de PC Settings, tendremos que buscar Reset your PC and Start Over en el nodo de General que nos dejó la búsqueda y hacer clic en el botón Get Started:

image

Lo primero que nos mostrará, será una página de advertencia donde nos indicará lo que comenté recientemente, es decir, el estado en que se quedará el equipo después de hacer Reset:

image

La siguiente pantalla que nos aparecerá, será la de “How do you want to remove your personal files?”:

image

Hay dos opciones, Thoroughly que hará un borrado profundo, es decir, que sobreescribirá en el disco con “basura” al azar dejando la información en un estado muy difícil de recuperar, y la opción de Quickly, que hará un formato básico del disco como cuando instalamos normalmente el sistema operativo.

Obviamente, el primero puede tardar varias horas (Como se indica), dependiendo de qué tanto tenga que sobreescribir en el disco.

La decisión de cual escoger, será independiente para cada uno de ustedes; al darle Next, Windows nos advertirá por última vez lo que esto acarrea, y si estamos completamente seguros, podremos iniciar haciendo clic en el botón Reset.

image

¿Cómo funciona?

Windows reiniciará el equipo y comenzará el proceso que consiste en reiniciar en un entorno de recuperación, borrar el disco y realizar la instalación limpia del sistema operativo:

image

Después del Reset, se debe ingresar nuevamente el código de producto, aceptar los términos de licencia y configurar las personalizaciones y cuentas deseadas, es decir, como si iniciaramos desde un estado OOBE. Una vez hecho esto, símplemente empezamos a usar Windows como si nada hubiera pasado =)

Botón de Refresh

Reset es una gran característica, pero como comenté al final, podríamos tardar un buen tiempo mientras volvemos a configurar nuestro perfil, instalar las aplicaciones y gestionar todas nuestras personalizaciones.

Hay ocasiones entonces que aunque quedaría muy bien una instalación limpia, pero sin necesidad de perder todo lo que ya tenemos, un ejemplo podría ser algun problema causado por asociación de archivos o bien un comportamiento lento o diferente en el sistema que puede no provenir de nuestras personalizaciones y configuraciones.

Aquí es donde entra el fantástico botón de  Refresh, que a diferencia de Reset, habrá una instalación completamente limpia de Windows, pero automaticamente restaurará todos los datos, aplicaciones y configuraciones de nuestro perfil sobre la instalación limpia, es decir, un Windows recien instalado, sin perder todo lo que ya teníamos.

*Nota: Aquí también necesitamos el medio de Windows 8 Consumer Preview.

Ejecutando el botón de Refresh

El procedimiento es exactamente el mismo que Reset, sólo que debemos buscar y ejecutar la opción en PC Settings de “Refresh your PC without affecting your files”:

image

Al hacer clic en el botón Get started, nos mostrará la primera página donde nos dirá qué será lo que Windows preservará:

image

*Nota: Tengamos en cuenta que algunas aplicaciones y configuraciones no se mantendrán.

Una vez estemos seguros de proseguir, bastará con hacer clic en el botón Next y finalmente al botón Refresh para iniciar:

image

Como con Reset, tomará unos minutos mientras hace la instalación, pero además mientras vuelve a importar todo el perfil y sus personalizaciones:

image

*Nota: Los datos se mantendrán en el mismo disco, en un espacio aparte, tal cual sucede con el proceso de migración que maneja por ejemplo Hardlink en USMT.

Al finalizar todo, en el escritorio se generará un archivo HTML donde nos dirá si se eliminaron o no aplicaciones:

image

*Nota: El tiempo en Refresh es considerablemente más rápido que haciendo Reset.

Personalizando la imagen predeterminada de Refresh

Para nuestra fortuna, la funcionalidad de Refresh no termina aquí; si bien es cierto que sobre la instalación limpia de Windows tiende a ser el comportamiento de la imagen mucho más confiable, habrá ocasiones en las que ciertas personalizaciones que necesitamos se perderían al estar haciendo Refresh. Como resultado a esto, Microsoft incorporó una adición a esta funcionalidad, y se trata básicamente de crear nosotros mismos una imagen desde el sistema operativo que sirva como punto de partida cada que hacemos Refresh.

Esto será posible gracias a una herramienta de línea de comandos llamada Recimg.exe, que nos brinda algunas posibilidades entre las que están:

Crear una imagen (-CreateImage): Con esta bandera, Windows creará una imagen partiendo desde lo que hay instalado y configurado en el equipo, registrandola además para que sea usada cuando se utilice el botón de Refresh.

Establecer actual (-SetCurrent): Con esto podremos registrar otra imagen adicional, si es que por ejemplo el equipo OEM ya tiene una para ser utilizada con Refresh.

-DeRegister: Esto quitará el registro de la imagen actual para ser utilizada en Refresh, y en vez de esto volverá a utilizar la imagen que el OEM haya establecido, en caso de no estar, utilizará de nuevo la del medio de instalación original.

Mostrar actual (-ShowCurrent): Podremos ver cuál es la imagen de recuperación actual y dónde está almacenada.

En esta ocasión, símplemente crearemos una nueva imagen para que se registre como punto de partida al utilizar Refresh, así no necesitaremos ni siquiera del medio de instalación y estaremos utilizando la que nosotros mismos personalizamos.

Para hacer esto, ejecutamos una Consola de Comandos (cmd.exe) con privilegios elevados (Clic derecho, Ejecutar como administrador) y digitamos:

Recimg –CreateImage <DirectorioImagen>

Donde <DirectorioImagen> es donde queremos que la imagen a ser utilizada por Refresh quede guardada, para este caso, la guardaré por ejemplo en C:ImagenRefresh, por lo que el comando sería:

Regimg –CreateImage C:ImagenRefresh

image

*Notas:
Hay un cambio interesante con respecto al Developer Preview, y es que ya no se debe crear la carpeta manualmente como se tenía que hacer en ese entonces.

El proceso de escritura puede tardar varios minutos, toca ser pacientes =)

Si examinamos el contenido después de creada la imagen, veremos sólo un archivo llamado Install.wim, y si recordamos un poco de implementación, aquí, desde Windows Vista, se aloja todo el sistema operativo y es el que manipulamos normalmente bajo una implementación:

image

Estaré investigando un poco más, para saber cómo se comporta la migración de configuraciones, aunque tal vez se haga en el momento de que se ejecute, utilizando esta imagen para instalación, y el repositorio temporal para restablecer todo posteriormente.

Apenas estamos empezando, espero que este primer artículo sea de utilidad, sólo queda decirles que de aquí en adelante trataré de ir generando mucho contenido sobre Windows 8 Consumer Preview y las versiones públicas que se liberen después.

PD. No olviden que ya existen Foros en Inglés de Microsoft Answers para el soporte en Windows 8 Consumer Preview:
http://answers.microsoft.com/en-us/windows/forum/windows_8

Saludos,

Checho

Descarga Windows 8 Consumer Preview y Windows Server 8 Beta

1537_Win8Logo_01_008485DD

¡Hola!

Felizmente me alegro de estar escribiendo este post, aunque no es necesario muchas palabras.

Desde ahora, está disponible para descarga pública, Windows 8 Consumer Preview; ¡Empezamos de nuevo!

Lo pueden bajar desde el sitio oficial destinado por Microsoft:

http://windows.microsoft.com/en-US/windows-8/iso

Adicional a esto, pueden bajar Windows Server 8 Beta también:

http://technet.microsoft.com/en-us/evalcenter/hh670538.aspx

En unos días empezaré a compartir aquí todo lo que aprenda de este nuevo sistema operativo.

¡Que lo disfruten!

Checho

Liberando FixLNK: Repara daños con la asociación de Accesos Directos en Windows 7

*Off topic: Antes que nada, no olviden seguir a Checho’s Blog en Facebook: www.facebook.com/ChechoBlog 🙂

Descripción del problema:

En Windows 7, suele ser común que se cambie la asociación de los Accesos Directos (.lnk), provocando que el sistema operativo trate de abrir todo con una misma aplicación, además de modificar el aspecto de los iconos correspondientes:

image

El detalle del problema, lo pueden ver en Éste artículo.

Descripción del Fix:

FixLNK, es una pequeña aplicación que desarrollé en C++ utilizando la API de Windows, específicamente la función de RegDeleteKey para eliminar la subclave UserChoice que se genera en la clave de Registro de .lnk, correspondiente a los accesos directos.

FixLNK, requiere elevación de privilegios, él hará todo el trabajo, por lo que mostrará un cuadro de diálogo indicando que se reparó la asociación de accesos directos y luego reiniciará el sistema para que los iconos tomen su respectiva asociación original:

image

La razón para desarrollar esta aplicación, es que el problema es muy común dentro de las comunidades onlie, sólo soluciona el problema con la asociación de accesos directos (.lnk).

Descargar FixLNK:

Si tienen el problema, pueden descargar FixLNK desde el siguiente enlace:

*Nota: Si no se ve el enlace embebido, utilizar el link directo: https://skydrive.live.com/#cid=69FBD8240F3B536E&id=69FBD8240F3B536E%21571

Basta con descomprimir, ejecutar, y al reiniciar el sistema, el problema debería estar solucionado.

Saludos,

Checho

El Servicio del Centro de Seguridad en Windows 7 que no quería iniciar, la DLL corrupta, SFC y su solución

Hola,

Antes de proceder con el caso, me gustaría hacer un pequeño Off topic de dos pequeños temas:

1. Como se habrán dado cuenta, y por si no lo han hecho, Windows 8 Consumer Preview dará la luz pública el próximo 29 de Febrero, así que vamos alistando los PCs 🙂

2. Hace unos días creé una Página en Facebook específica para mi blog, el objetivo es compartir allí todo lo que aquí y en otras páginas se creen, además de pequeños tips en el tiempo. Me gustaría entonces hacerles la invitación formal a que pertenezcan a la página, para esto, en el panel izquierdo verán una pequeña publicidad de Facebook donde podrán darle a “Like” o “Me gusta”, o bien ir directamente a la página y unirsen: www.facebook.com/ChechoBlog

Eso era todo, ahora sí, ¡Al caso!

El problema

Por alguna extraña razón (Que no sabía en el momento), en un equipo mío estaba apareciendo desactivado el Centro de Seguridad después de algunos reinicios, o bien, de un cierre e inicio de sesión; esto lo podía detallar desde el Centro de Actividades:

image

No importa cuándo le diera al botón Activar (Turn on now), no pasaba absolutamente nada.

Decidí entonces tratar de hacerlo desde la Consola de Servicios, buscando el Servicio del Centro de Seguridad, que en efecto, tenía desactivado el Servicio, pero además de esto presentaba otras características un poco extrañas:

Service2

Lo primero, es que en la Descripción del Servicio, presentaba un mensaje de error que decía: “Failed to Read Description. Error Code: 193”, es decir, no se podía leer correctamente la descripción del Servicio.

Lo segundo es que aparecía detenido, pero al intentar iniciarlo presionando el botón “Iniciar” (Start), obtenía otro mensaje de error un poco más extraño:

Service4

Windows no pudo iniciar el Servicio del Centro de Seguridad en el equipo local

El error que me marcaba era el 193: 0xc1, lamentablemente, como en varias ocasiones con problemas de Windows o de otras aplicaciones, los errores no son nada descriptivos, por lo que había poco de dónde referenciarse, exceptuando quizá el código de error, del que tampoco encontré casi nada en mi búsqueda de internet.

Para mi fortuna, el problema general del que se desactive el Centro de Seguridad es bastante común, y como expliqué un poco en Este artículo que hice para la web de Fermu.com, una causa podría ser que la clave de Registro que registra este servicio no estuviera, o bien tuvieran subclaves o valores corruptos.

La solución en ese caso, basta con volver a importar completamente la clave de wscsvc y reiniciando el sistema, esto hice y después de reiniciar el sistema pensé que todo había quedado solucionado al ver que aparentemente funcionaba:

Service1

La decepción llegó cuando cerré sesión y de nuevo, el Servicio se había desactivado desde el Centro de Actividades, por su parte, en la Consola de Servicios nunca hubo un cambio, todo el tiempo se manuto el servicio detenido y sin descripción.

La causa

¿Qué podía hacer entonces? En este caso, la respuesta era: ¡Empezar a filtrar y probar! Si el problema no se había corregido importando las claves originales de registro, indicaban que el inconveniente no se originaba por ahí, puesto que se mantenían intactas, y en su estado normal, el Servicio debía iniciar con Windows corriendo y en Automático (Inicio retrasado).

Windows al principio estaba leyendo un estado desde la Clave de Registro, pero estaba obteniendo otro desde la Consola de Servicios, y siempre iba a prevalecer el último.

No podía ser soluciones de seguridad, porque no tenía ninguna instalada, y además, tampoco se estaba reflejando cambio en el estado del servicio dentro del Registro de Windows, por lo que nada estaba manipulándolo al iniciar sesión.

Solo me quedaba una opción (Dentro de las posibilidades que conozco), y es que podría haber un problema a nivel de archivos de Windows, y la respuesta a esto me la podría dar una herramienta embebida en el sistema operativo llamada “Comprobador de Archivos del Sistema” (Sfc.exe); básicamente SFC (En sus siglas en inglés), tiene la característica de hacer una búsqueda general de los archivos progetidos del sistema, detectando si alguno o algunos de ellos se ha sobrescrito, o bien se encuentran corruptos, trayendo entonces una copia local del archivo original desde %SystemRoot%System32Dllcache, o bien desde los medios originales de instalación de Windows. Una vez pueda obtener las copias orginales, SFC las remplaza por el archivo corrupto o que se manipuló de nuestro sistema operativo.

*Nota: Toda la información acerca de SFC, la pueden encontrar en esta KB de Microsoft:
http://support.microsoft.com/kb/222193/es

Para correr la herramienta, basta con abrir una consola de comandos con privilegios elevados (Clic derecho, Ejecutar como administrador) y ejecutar: SFC /scannow

Por supuesto, esto hice, y me dio la pista del problema fuente que tenía:

Service3

El resultado fue: “Protección de Recursos de Windows encontró archivos corruptos, pero no pudo repararlos”.

Ya podía estar seguro de que tenía archivos corruptos en mi sistema, y para saber cuáles, además de si tenían que ver con el servicio del Centro de Seguridad, utilicé el Log que genera siempre la herramienta de SFC llamado CBS.log, normalmente lo ubica en el directorio: C:WindowsLogsCBSCBS.log

*Nota: Para abrir el archivo CBS.log, es necesario primero ejecutar un Blog de Notas con privilegios elevados, posteriormente abrir el archivo desde allí.

El archivo CBS.log, como es habitual en cualquier archivo de Logging, genera cientos de eventos, desde el principio, hasta el final del proceso, por lo que como en Process Monitor, se vuelve muy útil empezar a buscar por resultados utilizando palabras claves.

En mi caso seguí buscando lo que me pudiera referenciar al Servicio del Centro de Seguridad, claro está que no con el nombre que aparece en la descripción (Centro de Seguridad), sino con el nombre con el que Windows realmente lo referencia, es decir: wscsvc. Este fue el primer y más importante resultado capturado por el log de SFC:

image

*Nota: Hacer clic en la captura de pantalla para ver la imagen en tamaño completo.

Como ven en los resultados resaltados de la captura anterior, SFC no había podido reparar y reproyectar la dll que ya detectaba como corruta: wscsvc.dll ubicada en C:WindowsSystem32wscsvc.dll.

Cobra sentido todo esto, porque wscsvc, a parte de ser el nombre del Centro de Seguridad, es también el nombre de la dll correspondiente, esto nos indica que si la dll no está funcionando correctamente, no lo hará el Servicio del Centro de Seguridad, y mucho menos se podrá consultar la información, cosa que intenta hacer siempre los valores de Description y DisplayName en la clave de registro correspondiente:

image

Solo por curiosidad, eché un vistazo a las propiedades del sistema operativo, y vaya sorpresa la que me llevé cuando intenté ver los detalles dentro de las Propiedades:

Service6

No se podía ver ni la Descripción del archivo (Con razón), ni la versión, ni el fabricante, etc, etc. ¡No podía ver nada!.

Mientras que si hacía esto en un sistema que estuviera funcionando, era completamente diferente:

Service5

Ahora me podía explicar por qué Windows no podía ni iniciar el servicio, ni acceder a sus datos, ¡La DLL estaba completamente corrupta!

La solución

Lo ideal, sería que SFC hubiera podido remplazarme la DLL sin mucho esfuerzo y de una forma limpia, puesto que al estar corrupta, probablemente una versión funcional debería bastar. Al no poder, sin embargo, decidí hacerlo yo mismo.

Hay un aspecto importante a la hora de modificar o quitar archivos protegidos del sistema, y es que el propietario no suele ser el usuario actual, por más administrador, o miembro del grupo de administradores que sea, este tipo de archivos los posee la cuenta y el servicio de TrustedInstaller, que suele ser la que tiene los privilegios para remplazarlos, es muy común cuando se hace una actualización del sistema operativo que actúen este tipo de cuentas por debajo.

En este orden de ideas, la solución consistía primero en tomar propiedad de wscsvc.dll en el directorio C:WindowsSystem32, para esto, bastaba con ir a las Propiedades, pestaña de Seguridad, botón Avanzado, pestaña de Propietario, y finalmente botón editar para cambiar el propietario por mi usuario o el grupo de administradores:

Service8

Después de tomar propiedad, en la pestaña de Seguridad, debía asignar todos los permisos para que mi usuario, o bien los usuarios que pertenezcan al grupo de Administradores puedan modificar a gusto el archivo:

image

Finalmente, renombrar la DLLa wscsvc.bak.dll y pegar la DLL original (wscsvc.dll) desde un medio de instalación de Windows (Que estuviera montado) o bien desde otro sistema operativo funcional:

Service10

*Nota: Puede ser recomendable volver a modificar los permisos sobre la DLL por motivos de seguridad.

Windows ya debía referenciar a la DLL que copié y no a la antigua que se encontraba corrupta, por lo que reinicié el equipo, fui hasta la Consola de Servicios, y esta fue mi gran sorpresa:

Service11

El Servicio del Centro de Seguridad ahora tenía una descripción, y se encontraba corriendo sin ningún tipo de problema, por supuesto, esto mismo se reflejó en el Centro de Actividades; ¡Problema solucionado! 🙂

Espero que les pueda ser de utilidad, tanto como para mí fue escribirlo y vivirlo.

Saludos,

Checho

La “Cuenta fantasma” que quería iniciar sesión, Process Monitor y su solución.

El problema

Normalmente, suelo tener algunas máquinas virtuales en las que me apoyo para los diferentes artículos que escribo aquí, o bien para las pruebas que requiera hacer, sea reproduciendo problemas, o tratando de entender comportamientos de Windows.

Las máquinas virtuales las administro desde VMware, y una de las características de éste gran Gestor, es que si se instala Windows utilizando el asistente, sea con los pasos básicos o avanzados, al darle el usuario que sea quiere crear, además de que no lo pregunta en la instalación (Lo hace de forma desatendida), es que Windows siempre hará autologon con el usuario.

*Nota: Pueden ver más a fondo los procesos de Autologon en Este artículo.

Lamentablemente, en una de las máquinas, tuve que eliminar una de las cuentas porque la dañé completamente; no tuve problema con este proceso, el problema empezó al empezar a reiniciar normalmente el equipo, ya que cada que entraba, obtenía un mensaje de error con respecto a una contraseña:

E1

Al darle al botón Ok, mi sorpresa fue que Windows todavía estaba intentando ingresar con el usuario que yo había borrado (WinBoy):

E2

Por supuesto, no podía iniciar de ninguna forma sesión con el usuario, por lo que siempre tenía que darle al botón de Cambiar de usuario, escribir manualmente alguno de los otros usuarios e iniciar sesión.

Lo primero que hice fue ir hasta la ventana de Administración de usuarios, pero la cuenta (Tal como debía ser), no aparecía por ningún lado:

E3

Los archivos de usuario, a pesar de que yo pensé haberlos borrado también, seguían existiendo en el directorio de C:Users, pero esta no debería ser razón para que iniciara, puesto que la cuenta no estaba creada.

¿Cuál era el problema entonces?

La causa

El problema estaba sucediendo antes de que se iniciara Windows, por lo menos el escritorio; sólo existe una herramienta capaz de darme un diagnóstico de lo que sucede antes, por supuesto, me refiero a Process Monitor de Sysinternals.

Process Monitor tiene una característica llamada “Enable Boot Logging” que, permite ubicar el controlador de Process Monitor (PROCMON20.SYS) para que inicie antes que todo, por lo que generará un log que irá incrementandose hasta que se abra nuevamente dentro de Windows y se guarde.

Gracias a esto, podemos ver las Operaciones que suceden incluso desde el Winlogon, cosa que no es posible ni con el mismo sistema operativo.

Para habilitar la característica, basta con Abrir Process Monitor, e ir al menú Options y seleccionar “Enable Boot Logging”:

image

Lo habilité, abrí Process Monitor para empezar a analizar el log, y empecé a buscar por la palabra clave que pudiera darme más ayuda, en este caso, por supuesto, el nombre de usuario: “WinBoy”.

Después de algunos resultados que me decían que las claves del usuario en ProfileList todavía existían, encontré esto:

image

*Nota: Clic en la imagen para verla en tamaño real.

Windows estaba abriendo la clave Winlogon que contiene todas las claves y subclaves que hacen referencia a alguna operación en el proceso de inicio de sesión; a continuación estaba haciendo unas consultas a unos valores llamados DefaultUserName, DefaultDomainName y DefaultPassword. En el artículo acerca del Autologon, vimos un poco de lo que trataban estos valores, pero básicamente, junto con AutoAdminLogon, habilitan el Inicio automático (Autologon) y además establecen el nombre de usuario, dominio y contraseña que debe utilizarse.

DefaultUserName, en este caso estaba todavía haciendo referencia a la cuenta que estaba eliminada:
 image

*Nota:Data” es el contenido que tendrá, en este caso “WinBoy”.

Esta era la primera respuesta del por qué intentaba iniciar con una cuenta que ya no existía, al estarla referenciando, y todavía existir sus claves correspondientes, Windows aún la referenciaba.

DefaultDomanName no tenía valor, por lo que estaba tomando el Grupo de Trabajo predeterminado que tenía Windows.

Ahora, el valor de DefaultPassword, a diferencia de los anteriores, tenía como resultado NAME NOT FOUND, esto quiere decir que, a pesar de tener el Autologon indicado, Windows no encontraba la contraseña por ninguna parte; esto nos da la respuesta del por qué el primer mensaje de que el nombre de usuario o contraseña eran incorrectos.

La solución

Ya tenía detectado el problema, la solución consistía en evitar que Windows suigiera intentando hacer el Autologon, para esto entonces, desde Process Monitor utilicé la característica de “Jump to” para ir directamente a la clave de Registro de Winlogon y ubicar los valores que estaban causando el problema:

auto

Lo que hice fue primero, modificar el contenido de AutoAdminLogon para cambiarlo de “1” a “0” y que se desactivara, y posteriormente eliminé el valor de DefaultUserName para que no tuviera nada que buscar ahí =)

Al reiniciar el equipo, el agradable resultado fue:

image

El inicio de sesión común en Windows había retornado a su normalidad.

¡Problema solucionado!

Saludos,

Checho

La Subclave de Registro que no quería eliminarse, el pequeño bug de PowerShell, Process Monitor y su solución

Hola a todos,

Este no iba a ser el artículo que iba a poner de primero, pero resultó y es para mí, de lo más interesante porque personalmente, aprendí y eso le da un buen sentido.

El problema

Estoy tratando de conocer y comprender, hasta donde sea capaz mi conocimiento, un poco más a fondo el funcionamiento de la Asociación de archivos en Windows (En esta semana pondré el artículo completo refiriendome al tema).

Una de las formas más sencillas de aprender sobre Windows, es dañando y tratando de arreglar, por lo que modifiqué para reproducir el problema común de la perdida de asociación a los accesos directos, lo que causa que todo se abra con un solo programa:

image

A continuación, estaba tratando de utilizar PowerShell, para hacer uso de un cmdlet para eliminar la subclave de registro que causa este problema, es decir:

HKEY_CURRENT_USERSoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnkUserChoice

Como PowerShell trabaja las claves de registro de la misma forma que lo hace con los archivos, bastaba con hacer referencia a una pequeña línea de comandos utilizando Remove-Item, así:

Remove-Item –Path HCKU:SoftwareMicrosoftWindowsCurrentVersionExplorerFileExts.lnkUserChoice

El problema, es que cada que ejecutaba la línea anterior, recibía un mensaje un poco extraño de PowerShell:

image

Según el mensaje que PowerShell me daba, Remove-Item no podía eliminar la subclave de Registro porque no existía, aunque efectivamente la clave estaba:

image

Aunque PowerShell estaba reconociendo la excepción, no necesariamente estaba entregando el mensaje que correspondía, ¿Cuál era el problema entonces si la clave existía?

La causa

Como PowerShell no era capaz de indicar qué era lo que realmente le pasaba, había que pasar a preguntarle directamente a Windows, y para hacer esto, como siempre, nada mejor que Process Monitor de Windows Sysinternals.

Después de correr Process Monitor e intentar ejecutar la línea de comandos, bastó con volver a Procmon, parar el monitoreo y buscar directamente por la subclave UserChoice, como se recomienda, de abajo hacia arriba; esto fue lo que encontré:

E1

*Nota: Clic para ver la imagen en tamaño completo.

El proceso powershell.exe estaba tratando de abrir la clave de UserChoice, pero como ven, el resultado era ACCESS DENIED, lo que llevaba a la respuesta, el problema estaba en permisos, ¡No en ausencia de la clave!

Process Monitor permite saltar directamente a la clave, así que lo hice, y después de esto entré a la ventana de Permisos de la clave haciendo clic derecho, Permisos, y en primera instancia, todo estaba bien para los usuarios de los grupos Administradores; el único y más importante problema, es que el usuario con el que había iniciado sesión, y con el que estaba tratando de eliminar la clave, tenía un permiso especial que me estaba denegando algo:

image

*Nota: Los Permisos Especiales en Windows contienen un filtro mucho más completo de denegación o aprobación en las operaciones que se pueden hacer a nivel de sistema de archivos, o bien sobre claves y valores del Registro de Windows.

Para poder ver los permisos especiales, basta con hacer clic en el botón inferior de Avanzado (No visto en la captura anterior), detecté el usuario que tenía los permisos especiales denegados e hice clic en el botón Editar para verlos:

image

Mi usuario tenía en blanco todo lo que fuera permitir, eso quiere decir que los tomaría de los permisos predeterminados, pero tenía como Denegado el permiso a establecer valores (Set Value), lo que equivale a escribir:

image

La solución

Con el problema detectado, ya la solución sería un poco más sencilla, al saber que tenía problemas de permisos, específicante de escritura, PowerShell no iba a ser capaz de eliminar la clave (No podía escribir nada encima); así que para no modificar mucho los permisos, símplemente cambié el de Denegar para Establecer Valor (Set Value) a Permitir (Allow):

image

Finalmente, volví a ejecutar la línea de comandos en PowerShell y este fue el resultado:

image

¡Todo blanco! Lo que indica que se había ejecutado correctamente, y además la clave se elimino en efecto sin ningun problema:

image

El pequeño Bug sobre los mensajes de información en las excepciones de PowerShell ya llegó al Equipo de PowerShell para mejorarlo en futuras actualizaciones.

Saludos,

Checho