Eventos con origen “bowser” en el registro de eventos de Windows

Si alguna vez estas revisando el registro de eventos de Windows y vez entradas con el origen bowser no te asustes, ni es un virus, ni es un typo de los desarrolladores de windows, ni nada raro.

Simplemente es algo que quedó en el código de Windows desde los días de NT 3.1. Bowser es “la parte del modo kernel del servicio Computer browser”.

La historia completa está aquí

TIL 🙂

Reparar tareas programadas corruptas en Windows 7

Hace unos días actualicé mi portátil de casa de Windows 7 a Windows 10 para probarlo y enterarme un poco de qué estaba hablando todo el mundo. La verdad es que fue una experiencia bastante buena, la instalación se hizo sin problemas y todo corría bastante bien en mi “abuelo” de hace cuatro años.

Desafortunadamente, tuve varios problemas de compatibilidad con algunos programas y tuve que volver a Windows 7. Otra experiencia bastante buena, todo funcionaba sin problemas o eso pensaba yo.

Hasta que llegó el domingo y el equipo no me pidio hacer el backup semanal. Mm… raro, raro.

Voy a ver las tareas programadas y me aparece el siguiente error:

error tareas programadas

Le doy a Aceptar y el mismo error me aparece para las siguientes tareas:

  • ActivateWindowsSearch
  • AutoWake
  • BackgroundConfigSurveyor
  • ConfigureInternetTimeService
  • DispatchRecoveryTasks
  • ehDRMInit
  • GadgetManager
  • HotStart
  • InstallPlayReady
  • IpAddressConflict1
  • mcupdate
  • mcupdate_scheduled
  • MediaCenterRecoveryTask
  • ObjectStoreRecoveryTask
  • OCURActivate
  • OCURDiscovery
  • PBDADiscovery
  • PBDADiscoveryW1
  • PBDADiscoveryW2
  • PvrRecoveryTask
  • PvrScheduleTask
  • RacTask
  • RecordingRestart
  • RegisterSearch
  • ReindexSearchRoot
  • SessionAgent
  • SystemDataProviders
  • UpdateRecordPath
  • Windows Backup Monitor
  • WindowsParentalControls

Fuck… Algo está mal.

Buscando en la web me di cuenta de que muchas personas tenían este mismo problema y que lo solían resolver restaurando desde un punto de restauración. El problema es que los míos ya se habían borrado.

Apoyándome en este KB logré solucionar el problema.

Al parecer, cuando Windows 7 pasa a Windows 10 o viceversa (no se exáctamente cuándo), se cambian los GUID de las tareas programadas, junto con sus archivos XML correspondientes. Y cuando se hace la marcha atrás estos cambios no se revierten, quedando todas las referencias de las tareas programadas mal.

Exportando el registro de mi equipo y comparándolo con el del trabajo se ve claramente el problema:

Casa:

error tareas programadas casa

Trabajo:

error tareas programadas trabajo

El hash sigue siendo el mismo, pero el trigger cambia. Esto no tiene mucho sentido si sigue siendo la misma tarea, ¿no?.

Los XML correspondientes también eran ligeramente diferentes (un backslash de más):

error tareas programadas xml

Para resolver todo hice lo siguiente:

OJO, NO SIGAS ESTOS PASOS A MENOS QUE SEPAS BIEN LO QUE ESTÁS HACIENDO.

  1. Abrir una sesión de consola como SYSTEM usando psexec. Para esto hay que ejecutar psexec -i -s -d cmd. Esto es porque la mayoría de las cosas que hay que hacer están restringidas a este usuario.
  2. Exportar los archivos XML por si acaso. xcopy /e c:\windows\system32\tasks\ c:\backuptasks
  3. Desde la ventana de cmd de SYSTEM abrir regedit y exportar el registro por si acaso. La clave a exportar es HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\
  4. Hacer una copia del registro exportado que es el que vamos a editar.
  5. En el registro exportado reemplazar los valores de Path, Hash, Triggers y DynamicInfo por los valores por defecto. Estos valores los puedes ver en este archivo. Hay que tener mucho cuidado de no cambiar el GUID.
  6. Parar el servicio Programador de Tareas. net stop schedule
  7. Reemplazar los XML por los originales. Los originales los puedes descargar desde aquí
  8. Importar el archivo de registro editado.
  9. Iniciar el servicio Programador de Tareas.
  10. Reiniciar el equipo.
    • Si algo sale mal y las tareas siguen apareciendo como corruptas hay que hacer lo siguiente:

      1. Abrir una consola como SYSTEM.
      2. Parar el servicio Programador de Tareas.
      3. Importar el registro de backup
      4. Restaurar los XML a los que se les hizo backup
      5. Iniviar el servicio Programador de Tareas
      6. Reiniciar

      Como lo dije arriba, esto es muy peligroso porque estás tocando el registro de Windows como SYSTEM (MAL!) y si no tienes cuidado te puedes cargar todo el sistema operativo.

      Si tienes dudas con algo de esto es mejor que reinstales Windows.