Lo primero de todo, comentar que se trata de una solución NO SOPORTADA, pero bueno, esto es como todo, si no te queda otra, de perdidos al río.
Esta pequeña utilidad, se limita a interpretar mínimamente el fichero de configuración XML de la Máquina Virtual Hyper-V que se desea adjuntar, de tal modo, que sea capaz de generar un Script con los comandos de sistema operativo necesarios para adjuntar dicha Máquina Virtual.
Para identificar qué comandos tenía que ejecutar, seguí las indicaciones de David Cervigón en su post Cómo registrar a mano Máquinas Virtuales en Hyper-V.
Antes de desarrollar esta pequeña utilidad, estuve haciendo pruebas sobre Windows Server 2008 y sobre Windows Server 2008 R2, que documenté en los siguientes post:
En las pruebas de Windows Server 2008 R2, tuve que reiniciar el host después de ejecutar el Script, para que me reconociese correctamente las Máquinas Virtuales en Hyper-V, pero por lo demás fue OK.
Poco más que decir de momento, salvo pasar a incluir las breves especificaciones de esta utilidad y el enlace de descarga.
VMAttach Beta 0.1 - 26 de Febrero de 2010
Genera un Script con los comandos mklink e icacls necesarios, para adjuntar una Máquina Virtual Hyper-V. Para ello, tiene en cuenta lo siguiente:
- La ruta del fichero XML especificado, para crear el enlace simbólico correspondiente a la Máquina Virtual y concederle los permisos NTFS necesarios.
- El GUID de la Máquina Virtual obtenido del interior del XML. Permite comprobar que se trata de un XML de una Máquina Virtual (una comprobación grosera, pero menos da una piedra ;-), y se utiliza para construir la ruta del fichero del enlace simbólico.
- La ruta completa de cada Disco Duro Virtual (VHD). Se utiliza para conceder los permisos NTFS necesarios sobre los ficheros VHD.
En las pruebas realizadas con VMAttach Beta 0.1 sobre Windows Server 2008, se ha conseguido generar el Script con éxito, y ejecutarlo manualmente con éxito. Sin embargo, al intentar ejecutar el Script directamente desde VMAttach, fallaba la concesión de permisos NTFS. No he encontrado el motivo (si a alguien le suena este síntoma, please ;-)
No se han realizado pruebas sobre Windows Server 2008 R2, aunque en principio, la forma de construir el Script es idéntica, por lo que debería funcionar OK. Queda la duda de si es necesario reiniciar el Host o sólo el servicio de gestión, tras la ejecución del Script.
[Actualizado 18/03/2010: Ayer por la noche estuve haciendo pruebas, para adjuntar varias Máquinas Virtuales sobre un Windows Server 2008 con esta versión de VMAttach. Observé que la creación del enlace simbólico con mklink se realizaba satisfactoriamente en todos los casos, pero la concesión de permisos con icacls cascaba. Tras varias pruebas más, observé lo siguiente: La creación de los enlaces simbólicos se realizaba con éxito, pero las Máquinas Virtuales no aparecían en la consola de Hyper-V, aún refrescando y reiniciando el servicio. Sin embargo, esperando un ratico, de pronto las Máquinas Virtuales añadidas (en mi caso eran seis) empiezan a manar, primero aparecieron tres y un poco más tarde (escasos minutos) las otras tres. Ahora que ya aparecen las Máquinas Virtuales en el Hyper-V Manager, al conceder los permisos con icacls, funciona a la primera. ¿Será cuestión de tiempo? Quizás... pero por si no encuentro una solución, que lo podáis tener en cuenta. Fin Actualización 18/03/2010]
Si se desea, es posible modificar el Script generado antes de ejecutarlo, si fuese de utilidad (ej: utilizar diferentes rutas de ficheros VHD, etc.)
En ningún momento se modifica el fichero de configuración XML de la Máquina Virtual de Hyper-V. Tan sólo se crea un enlace simbólico y se conceden permisos NTFS, por lo debería ser posible realizar la Marcha Atrás (eliminar el enlace simbólico y los permisos NTFS).
Por último, aquí va una imagen capturada, para hacerse una idea.
Como siempre, espero que os sea útil...