jueves, 10 de septiembre de 2015

Desinstalar actualizaciones de Windows por consola de comandos

Estaba leyendo sobre varias actualizaciones indeseables de Windows, y decidí validar que no estuviesen instaladas en mi sistema, para lo cual fui a la sección de Actualizaciones de Windows en el Panel de Control.

Sin embargo, me resultó engorroso consultar puntualmente si las actualizaciones de mi interés estaban instaladas o no.

Buscando en Internet, conseguí que el comando para listar todas las actualizaciones instaladas es:
wmic qfe list
Podemos filtrarlo utilizando
wmic qfe list | findstr KB1234567
Podemos redireccionar la salida del comando a un archivo de texto, y ahí consultar más cómodamente con
wmic qfe list > C:\kblist.txt
cat C:\kblist.txt | findstr KB1234567
Para desinstalar una actualización, basta con ejecutar
wusa /uninstall /kb:1234567 /quiet /norestart 

viernes, 4 de septiembre de 2015

Instalación sencilla de Sysinternals

Viniendo de Linux, me resultó particularmente frustrante que al intentar ejecutar el comando "whois" en la consola de comandos de Windows, me indicase que no existía ese ejecutable en mi equipo.

Una rápida búsqueda en Google me lleva a la página de Microsoft de Sysinternals, y allí veo que tengo la opción de descargar "whois" individualmente, o la suite completa. Para no pasar otra vez por una molestia similar, decidí descargar la suite.

Pensé que el archivo ZIP iba a tener algunas indicaciones, o por lo menos recomendaciones, para instalarlos, pero no fue el caso. Es un archivo ZIP que contiene un montón de ejecutables, un archivo LEEME, acuerdos de usuario final, y algunos archivos de ayuda para las aplicaciones.

Otra búsqueda en Google, me lleva a varios instaladores desarrollados por terceros -lo cual no me inspira mucha confianza- y algunos guiones de comandos en algunos foros para crear accesos directos en el menú inicio -lo cual no me interesa.

Finalmente, decidí abrir CMD como administrador, ejecutar el comando
mkdir "C:\Program Files\Sysinternals"
Copiar el contenido descomprimido del archivo zip dentro de esa carpeta, y luego agregarla a PATH, para que sea ejecutable desde la consola sin tener que indicar la ruta completa del ejecutable. Para eso ejecuté:
setx PATH "%PATH%;C:\Program Files\Sysinternals"
Listo. Ahora puedo ingresar whois ejemplo.com desde la consola. La primera vez que se ejecuta pide aceptar un acuerdo de usuario final.