30 agosto, 2014

Desinstalar software local o remoto a través de una CMD de Windows

Recientemente buscando la forma de poder desinstalar aplicaciones de forma local y remota solo haciendo uso a través de una shell de Windows Command Prompt. Encontré una forma de poder hacerlo de forma muy fácil y sin hacer uso de tools externas.

Para poder hacer esto haremos uso de la herramienta de comandos WMIC ("Windows Management Instrumentation Command-line"), integrada en Windows 7.
Deberemos tener iniciado el servicio WMI de Windows, podremos iniciarlo de forma rápida abriendo una consola con privilegios y escribiendo: net start winmgmt.

Para poder desinstalar una aplicación de un equipo remoto de la red o un dominio, podemos hacer uso de PsExec, una herramienta de linea de comandos incluida en la suite PSTools, de la cual ya había comentado en este blog como descargarla y usarla.
Una vez descarga en nuestro equipo local, simplemente tendríamos que ejecutar una CMD de un equipo remoto con PsExec y seguir el procedimiento como si fuese un equipo local, ya que esa CMD es la que equipo remoto al que nos conectamos.

En una CMD de nuestro equipo local escribimos:
psexec \\EquipoRemoto -u UserAdmin -p Password cmd.exe
Donde: EquipoRemoto es el nombre o IP del equipo remoto al que nos queremos conectar, UserAdmin sería un usuario con privilegios de administrador y Password es la contraseña del usuario UserAdmin, acto seguido indicamos la aplicación a ejecutar de forma remota, que para este caso usaremos cmd.exe.

En este ejemplo escogí la aplicación "Passware Kit Enterprise 9.7" para desinstalarla de forma local, pero como ya dije el procedimiento sería el mismo para un equipo remoto una vez tengamos iniciada la consola cmd del equipo remoto en cuestión.

[1] - Como podemos ver la aplicación que quiero desinstalar se visualiza en Progamas y características del Panel de Control de Windows. (esto en el caso de hacerlo de forma local).

Figura 1: Passware Kit Enterprise 9.7 se visualiza instalado en "Programas y características".

[2] - Abrimos una CMD local con altos privilegios administrativos (Tecla Windows+R: escribimos cmd.exe). Una vez abierta escribimos en consola: wmic, y accedemos al modo interactivo del comando, que se nos mostrará con el siguiente prompt: wmic:root\cli>, seguidamente escribimos:
product get name
Para mostrar la lista de aplicaciones instaladas en el equipo y reconocibles.

Nota: Si queremos mostrar más información, como el proveedor y la versión del producto a desinstalar, podemos usar la siguiente sintaxis.
node:NOMBRE_PC product get name,version,vendor
Donde "NOMBRE_PC" es el nombre del equipo local. Aunque si habíamos accedido por una cmd.exe remota a otro equipo, será el nombre del equipo remoto.

En este caso para simplificar e usando la primera sintaxis mencionada.
Vemos como se aparece la aplicación que quiero desinstalar, en este caso Passware Kit Enterprise 9.7.

Figura 2: Lista del software instalado en el equipo. (vemos que se muestra Passware Kit Enterprise 9.7).

[3] - Para desinstalar dicha aplicación escribimos:
product where name="NombreExactoDeLaAplicacion" call uninstall
Donde: NombreExactoDeLaAplicacion, es el nombre tal cual se muestra en la lista de aplicaciones (respetando mayúsculas, minúsculas y espacios).
Nos preguntará si estamos seguros de desinstalar la aplicación, presionamos la letra Y para confirmar.

Para verificar que realmente se desinstaló podemos, listar de nuevo las aplicaciones hasta ver que no aparece en la lista o nuevamente desinstalar la aplicación ya desinstalada, en este caso nos mostrará que "No hay instacias disponibles" lo que ya nos da a entender que se desinstaló de nuestro sistema.

Figura 3: Seleccionamos Passware Kit Enterprise 9.7 y lo desinstalamos, después comprobamos que se desinstaló.

[4] - Por último podemos hacer una última comprobación en Programas y características del Panel de control de Windows y comprobar que no se visualiza. (esto en el caso de hacerlo de forma local).

Figura 4: Finalmente comprobamos en "Programas y características" que Passware Kit Enterprise 9.7 ya no se visualiza.


Por comprobaciones que hice aclaro que, esta desinstalación es exactamente igual que hacerlo de forma gráfica, es decir que esto, nos tendría más utilidad para llevar a cabo desinstalaciones a equipos remotos de forma subyacente al usuario final, a nivel administrativo.

Respecto a si es una desinstalación más o menos limpia, eso dependerá del proceso de programación que tenga software de fabricante dado. Habrá aplicaciones que se desinstalen completamente, sin dejar rastros de carpetas ni rastros en el registro de Windows y habrá otras que no.

Por último, decir que en ocasiones puede que la lista de aplicaciones mostradas NO SEAN TODAS las que realmente están instaladas en el equipo. Ya que habrá casas comerciales u otros factores que harán que impidan que se listen con WMIC.
Con lo cual aquí aconsejo realizar esto por directivas GPO o haciendo uso de aplicaciones de terceros, como por ejemplo Symantec Altiris.

Saludos!

21 agosto, 2014

Importar ficheros .NK2 en MS Outlook

Ya hablara en una entrada anterior sobre los ficheros .NK2 de MS Outlook: http://www.zonasystem.com/2014/08/nk2edit-visualizareditar-el-contenido.html.

Los ficheros .nk2 almacenan información de los contactos de correo electrónico, por lo que guarda estos contactos para generar una lista en la cual se agiliza la búsqueda de contactos en el momento de enviar correos electrónicos a través de MS Outlook, de modo que podemos seleccionar el/los destinatario/s más facilmente sin necesidad de recorar las direcciones emails examente.

Figura 1: Ejemplo de MS Outlook 2010 visualizando contactos cacheados que contengan la letra "i".

¿En donde se guarda y como se carga un fichero .nk2 en MS Outlook 2003 y 2007 en Windows XP?.
El path por defecto donde se almacena este fichero:
%USERPROFILE%\Datos de programa\Microsoft\Outlook\Outlook.nk2
(Donde %USERPROFILE% sería: C:\Documents and Settings\USUARIO, y "Usuario" sería la carpeta del usuario que queremos acceder).

Para cargar un nuevo fichero .nk2 en Outlook 2003 o 2007 bajo un Windows XP:
[1] - Cerraremos MS Outlook.
[2] - Copiamos y sobrescribimos el fichero .nk2 en el lugar por defecto mencionado.
[3] - Abrimos de nuevo MS Outlook y ya tendremos cargado dicho fichero.

¿En donde se guarda y como se carga un fichero .nk2 en MS Outlook 2010 y 2013 en Windows Vista en adelante?.
El path por defecto donde se almacena este fichero:
%APPDATA%\Microsoft\Outlook\Outlook.nk2
(Donde %APPDATA% sería: C:\Usuarios\USUARIO\AppData\Roaming,y "Usuario" sería la carpeta del usuario que queremos acceder).

Para cargar un nuevo fichero .nk2 en Outlook 2010 o 2013 bajo un Windows 7/8:
[1] - Cerraremos MS Outlook.
[2] - Copiamos y sobrescribimos el fichero .nk2 en el lugar por defecto mencionado.
[3] - Abrimos una ventana "Ejecutar" (tecla Windows+R o Inicio > Ejecutar).
[4] - Y en en la casilla de texto escribimos: outlook.exe /importnk2.
Aceptamos y esto debe importar el archivo .nk2 en el perfil de Outlook 2010/2013.
[5] - Abrimos de nuevo MS Outlook y comprobamos que se nos cargase el fichero adecuadamente.

Tras importar el archivo .nk2, su contenido se combina con la memoria caché de sobrenombre existente que está actualmente almacenada en su buzón.

El nombre del archivo .nk2 se añade una extensión de nombre de archivo .old la primera vez que se inicie Outlook 2010 (ejemplo: Outlook.nk2.old).
Por tanto, si queremos volver a importar un archivo .nk2, tendremos que quitar la extensión de nombre de archivo .old. De modo que quede solo con la extensión .nk2.

Más información sobre otros ficheros ubicados en este path y que son de configuraciones de Outlook: https://support.office.com/es-es/article/%C2%BFD%C3%B3nde-guarda-Microsoft-Outlook-2010-mi-informaci%C3%B3n-y-mis-configuraciones-e178f6d6-1515-4c7e-8202-6c7f4794c0a3

Saludos!

20 agosto, 2014

NK2Edit: Visualizar/editar el contenido de ficheros .NK2

NK2Edit, es una sencilla herramienta desarrollada por nirsoft.net, la cual nos permite ver y editar el contenido interno de ficheros .nk2.

Dichos ficheros almacenan la información de los contactos de correo electrónico que ya hubiésemos usando en MS Outlook, de modo que cuando escribimos el inicio de un nombre/apellido en la casilla de "enviar a:" en un nuevo mensaje de correo, este nos despliega un menú contextual en el que nos muestra los contactos ya usados, es decir, los contactos ya cacheados, ya que hace uso del fichero nk2 para ello.

Figura 1: NK2Edit visualizando el contenido de un fichero .nk2 de MS Outlook.

Ahora si queremos ver y/o modificar el contenido de dichos ficheros simplemente editamos y guardamos.

Saludos!
Entradas Relacionadas