Jubilar Windows XP
Cada vez quedan menos PC con Windows XP, home o professional, lo más habitual es substituir estas máquinas por otra con Windows 7 o 8, o por necesidades del software por otro XP en un hardware más nuevo.
El proceso es entretenido y algunas veces se trata más de arqueología digital y indagaciones propias de Sherlock Holmes, sobretodo si el hardware ya ha muerto.
En este artículo nos centraremos en un super-script que nos ayude en la substitución de un PC con Windows XP a otro PC con Windows 7. Pero también nos servirá para cualquier otro caso parecido.
El administrador de sistemas vago, es el mejor, ya que no tiene ganas de hacer siempre todos los pasos repetitivos, sobretodo cuando hay que cambiar muchos PCs en la empresa. Lo que hace, es un script para automatizarlo todo.
Claramente el primer caso lleva mucho tiempo para documentarlo y crear el script, pero todos los demás casos son con un simple click.
Vamos a Jubilar un Windows XP.
Intentaremos no dejarnos nada puesto después apagaremos ese XP para siempre y algunos programas pueden necesitar algún detalle del que ahora mismo no sabemos nada.
Crearemos un fichero llamado jubilar-xp.bat donde meteremos todos los comandos, también necesitaremos tres subcarpetas, una llamada resultado, otra bin para los ejecutables de los programas que usaremos y otra llamada scripts para otros menesteres.
Guardamos las variables de entorno y las unidades de red mapeadas actualmente:
set >resultado\set.txt
net use >resultado\unidades-net-use.txt
Por si no es nuestro PC, nos lo han dejado abierto y no sabemos la contraseña del usuario actual, la sacamos directamente con ayuda del programa mimikatz el cual bajaremos y descomprimiremos en el subdirectorio bin.
Como mimikatz no admite parametros, creamos en la carpeta scripts el archivo de texto: exportar-password-usuario.txt con los siguientes comandos:
privilege::debug
sekurlsa::logonPasswords full
exit
En jubilar-xp.bat metemos lo siguiente:
type scripts\exportar-password-usuario.txt |bin\mimikatz.exe >resultado\password-usuario-windows.txt
Los certificados, malditos certificados de Internet Explorer, cuantos problemas pueden llegar a dar. En el fin de la vida de un Windows XP todavía nos pueden dar un último dolor de cabeza. Vamos a atajarlo de raiz.
Vamos a automatizar la exportación de todos los certificados que tengamos en Internet Explorer, incluso aquellos que no se pueden exportar. Así es. Incluso los que no se pueden.
Recurrimos de nuevo a mimikatz, que ya hemos descargado en pasos anteriores.
En el subdirectorio scripts creamos el fichero de texto exportar-certificados.txt con lo siguiente:
privilege::debug
crypto::patchcapi
crypto::exportCertificates
exit
En jubilar-xp.bat el comando:
type scripts\exportar-certificados.txt |bin\mimikatz.exe
move CERT*.* resultado
Esto exportará todos los certificados y los moverá a la carpeta resultado , atención porque para importarlos en el nuevo sistema, todos tendrán el mismo password: mimikatz
Vamos al correo electrónico, supongamos que usa Microsoft Outlook 2003, aunque puede usar Outlook Express o otras versiones de Office.
Necesitaremos los datos de la cuenta sea Exchange o pop3 y sobre todo necesitamos el password, en lugar de preguntar al usuario si sabe el password del correo, vamos a extraerlo. El password y todos los datos de la cuenta, para que sea una simple tarea de copiar-pegar en el nuevo equipo. Para esto usaremos el programa Mail PassView de Nirsoft.
Nos bajamos el ejecutable mailpv.exe y lo metemos en el subdirectorio bin.
En el script principal jubilar-xp.bat entramos lo siguiente:
bin\mailpv.exe /stext resultado\correo.txt
Con esto pasamos a un fichero de texto todos los datos de las cuentas de correo y sobretodo vemos las contraseñas.
Tal vez necessitemos volver a instalar Microsoft Office o la clave de Windows XP si hay que instalarlo todo con las mismas licencias en otro hardware. Si no vemos la pegatina con el número de serie de Windows o no encontramos la caja del CD de office original con el código correspondiente, vamos a sacarlo directamente con otro buen programa de Nirsoft, Produkey.
Dejamos el ejecutable en bin y añadimos a jubilar-xp.bat lo siguiente:
bin\produkey.exe /stext resultado\claves-win-office.txt
Otro problema que se da habitualmente en los portátiles, son las redes Wi-Fi, seguro que tenemos almacenadas en ese equipo varias, la de casa, la del trabajo y las de todos los sitios a los que vamos alguna vez, para eso vamos a exportar todas las redes Wi-Fi (las que esten configuradas con el programa de Windows XP y no con algún software propio del fabricante) en dos formatos, uno en modo texto para ver las contraseñas y otro para poder luego importarlas todas en Windows 7.
El programa a usar es WirelessKeyView y no voy a detallarlo ya que está muy bien explicado en la web de NoQuest.com.
Como en otros casos bajariamos en bin el ejecutable y añadimos a jubilar-xp.bat :
mkdir resultado\wi-fi
bin\wirelesskeyview.exe /stext resultado\wi-fi\wi-fi.txt /export resultado\wi-fi\wi-fi-para-importar-wirelesskeyview.txt
Con esto veremos todos los passwords de redes Wi-Fi almacenados y luego podremos usar el mismo programa para importarlo todo lo que hay en la carpeta wi-fi.
Configuración de la red local.
Guardaremos la IP actual, mascara, los DNS, puerta de enlace, y sabremos si la IP está en manual o por DHCP.
Esto lo guardamos por si hay algún NAT en la red que apunte a esa IP o si por algún motivo necesitamos que el nuevo equipo tenga la misma IP que el que vamos a jubilar.
wmic nicconfig where ipenabled='true' get description,ipaddress,ipsubnet,defaultipgateway,dnsserversearchorder,macaddress,dhcpenabled,dhcpserver /format:list >resultado\red.txt
Otra cuestión a tener en cuenta son las impresoras instaladas actualmente, ya que el nuevo PC seguramente deberá tener las mismas.
Algunas pueden estar conectadas vía red con cierta IP, otras compartidas en un servidor y otras pueden necesitar cierta versión del controlador, PCL5, PCL6, PS.
Vamos a volcar toda esa información en un archivo de texto:
wmic printer get caption,drivername,portname,sharename,default /format:list >resultado\impresoras.txt
Carpetas compartidas.
Con esto nos referimos a carpetas que este PC al que estamos jubilando tenga compartidas para que desde los otros equipos se pueda entrar.
Nos puede interesar mantener esto en el nuevo equipo, por lo que si al nuevo le ponemos la misma IP y/o nombre de equipo, no sea necesario cambiar nada en ningún otro equipo de la red.
wmic share list brief /format:list >resultado\recursos-compartidos.txt
Drivers instalados.
Si Windows no lo detecta automáticamente, es un problema volver a buscar el CD o la web de algún periférico.
Otras veces esto no nos servirá de nada, por ejemplo al pasar de Windows XP 32 bit a un Windows 7 64 bit.
Pero por si acaso usaremos el programa Double Driver para exportar todos los drivers instalados, incluso tarjetas de vídeo, red, etc a una carpeta.
Lo descargamos y tendremos el ddc.exe en bin, añadimos a jubilar-xp.bat :
bin\ddc.exe b /target:»%cd%\resultado\drivers-extraidos»
Para finalizar generaremos una lista con todos los programas instalados en el Windows XP para tener en cuenta si hay que traspasar la licencia o los datos de alguno de ellos.
Para generar esto y no dejarnos nada, lo consultamos en la lista de agregar/quitar programas y también en el registro directamente. Quedando así dos listas separadas.
wmic product get name,version >resultado\programas-instalados-1.txt
reg query "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall" /s | findstr /B ".*DisplayName" >resultado\programas-instalados-2.txt
¿Y los datos?
Este script es para guardar las configuraciones principales, para los datos, hay que hacerlo manualmente, normalmente guardando la carpetas:
C:\documents and settings\usuario\mis documentos
C:\documents and settings\usuario\escritorio
C:\documents and settings\usuario\favoritos
Y alguna otra que esté en C:\ o en C:\Archivos de programa, bastará.
Más cosas a guardar.
Está claro que cada PC es un mundo y se podrían guardar más cosas, número de serie del antivirus, configuraciones concretas del algún programa, etc. Seria un no parar. A grosso modo este script ayudará a más de uno y este es el motivo de compartirlo aquí.
Se aceptan mejoras del mismo!.
Ahh, y para el que lo quiera bajar aquí