Você está na página 1de 4

Apuntes para un artculo

Cuando ocurre un apagado intempestivo de la mquina, mientras se estn instalando actualizaciones,


muchas veces se corrompe la integridad del almacn de componentes de Windows (CBS).
Para repararlo hay una herramienta de Microsoft que parece una actualizacin ms, pero no lo es. Se
llama Check System Update Readyness (CheckSUR).
Al ejecutarla por primera vez, esta herramienta genera un log donde seala cuales son los archivos que
tienen problemas. Estos archivos pueden ser de dos clases: Manifiestos o Paquetes.
Para solucionar el problema es necesario copiar a unas carpetas especficas los archivos indicados por
la herramienta en el paso anterior y ejecutar por segunda vez la herramienta. De esta manera la propia
herramienta reemplazar los archivos y el almacn de componentes de Windows (CBS) recuperar su
integridad.
Segn se describe en el artculo kbzzzzzz hay una versin de la herramienta CheckSUR para los
siguientes sistemas operativos:
- Windows 7 x86
- Windows 7 x64
- Windows 2008 RTM/R2 x86
- Windows 2008 RTM/R2 x64
- Windows 8/8.1 x86
- Windows 8/8.1 x64
Lo automatizable:
------------------------------La idea es tratar de automatizar lo ms posible el proceso de identificacin y reparacin del CBS.
Pasos
1. Ejecutar la herramienta para identificar archivos con problemas.
2. Identificar el sistema operativo del equipo.
3. Copiar archivos necesarios desde el repositorio central.
4. Ejecutar la herramienta para reparar los archivos daados.
5. Mostrar informe de acciones.
Este algoritmo obliga a correr la herramienta al menos dos veces. Pero NO ES NECESARIO EJECUTAR LA
HERRAMIENTA DOS VECES: SI SOSPECHAS QUE HAY PROBLEMAS CON EL CBS, SIMPLEMENTE CREA EL
VINCULO SIMBOLICO CON EL REPOSITORIO CENTRAL (ASI EVITAS TENER QUE IDENTIFICAR LOS
ARCHIVOS CORRUPTOS) Y EJECUTAS LA HERRAMIENTA, SI HUBIERA ALGUN ARCHIVO CORRUPTO LA
HERRAMIENTA LO BUSCAR EN EL REPOSITORIO CENTRAL AUTOMATICAMENTE REPARANDOLO DE
FORMA INMEDIATA.

Los pasos se reducen a solo cuatro:


1. Identificar la versin del sistema operativo local.
2. Crear dos vnculos simblicos con el repositorio central, uno para los manifiestos y otro para los
paquetes.
3. Ejecutar la herramienta.
4. Mostrar resumen de la herramienta.
Para crear los vnculos simblicos es necesario saber lo siguiente:
-

El nombre de la ubicacin local del vnculo.


El nombre de la ubicacin en red del contenido.

Las ubicaciones locales son:


Para los manifiestos:
Para los paquetes:

%WinDir%\TEMP\Winsxs\manifests\
%WinDir%\TEMP\Winsxs\packages\

Las ubicaciones de red son:


- Para windows 7 x86 Pro:
Para los manifiestos: \\WSUS01\W7Files\x86Pro\manifests\
Para los paquetes:
\\WSUS01\W7Files\x86Pro\packages\
- Para windows 7 x86 Ult:
Para los manifiestos: \\WSUS01\W7Files\x86Ult\manifests\
Para los paquetes:
\\WSUS01\W7Files\x86Ult\packages\
- Para windows 7 x64 Pro:
Para los manifiestos: \\WSUS01\W7Files\x64Pro\manifests\
Para los paquetes:
\\WSUS01\W7Files\x64Pro\packages\
- Para windows 7 x64 Ult:
Para los manifiestos: \\WSUS01\W7Files\x64Ult\manifests\
Para los paquetes:
\\WSUS01\W7Files\x64Ult\packages\
No s si sern necesarias tantas carpetas, talvez solo es necesaria una por plataforma o una por
variante de Windows 7 (Pro, Ult, Str, Hom), no lo s. Supongo que comparando el contenido de las
carpetas podr distinguir si pueden ser iguales o no.
Los vnculos simblicos se crean mediante la herramienta de lnea de comandos MkLink, cuya sintaxis
es:

Para saber el tipo de sistema operativo podemos usar la funcin Systeminfo de la siguiente manera:
Versin del sistema: (Espaol)
Systeminfo | find Nombre del sistema operativo Microsoft Windows 8.1 Pro
Versin del sistema: (Ingles)
Systeminfo | find Nombre del sistema operativo Microsoft Windows 8.1 Pro
Tipo de plataforma: (Espaol)
Systeminfo | find Tipo de sistema x64-based PC
Tipo de plataforma: (Ingles)
Systeminfo | find Tipo de sistema x64-based PC
De estas dos cadenas podemos formar el nombre de la carpeta necesario, en este caso sera:
W8.1Files\x64Pro\
Para determinar el idioma de la instalacin se puede usar la misma funcin Systeminfo
Por ejemplo:
Configuracin regional del sistema:
Idioma de entrada:

es-mx;Espaol (Mxico)
es-mx;Espaol (Mxico)

Para mostrar el progreso y el resultado de la herramienta es necesario utilizar la aplicacin Tail for
Win32 y abrir el archivo %WinDir%\Logs\CBS\CheckSUR.log

Con estos elementos ya es posible escribir un script que automatice todas las operaciones de
comprobacin y reparacin del CBS con un solo click.