Aprovisionar un Área de trabajo de Windows To Go utilizando PowerShell.

1537_Win8Logo_01_008485DD

Hola a todos,

Ya han sido dos largos meses, y un poco más, desde que escribí mi último artículo en el Blog anunciando y agradecimiento el reconocimiento de MVP. Antes que nada, quiero pedir disculpas por esa larga ausencia, pero debido a la gran cantidad de trabajo que se vino con el lanzamiento, el estudio, y algo de descanso, decidí parar un tiempo para escribir.

Ya estoy de vuelta, y aunque por ahora no con la misma recurrencia, empezaré a compartir con ustedes poco a poco, varios artículos en torno a Windows 8 de algunas experiencias y conocimientos que he ido adquiriendo hasta ahora con la interacción del producto.

Dicho esto, quiero tratar de dedicar los próximos artículos a diferentes escenarios y necesidades a Windows To Go.
Ya vimos que básicamente, Windows To Go (WTG), se trata de instalar Windows 8 Enterprise en un dispositivo USB compatible, que puede ser Memoria de almacenamiento, o bien, un Disco extraible. Las dos formas más comunes para aprovisionar un Windows To Go, es haciéndolo manualmente, o bien, a través del asistente incluido en Windows 8 Enterprise.

Sin embargo, hay una forma adicional de aprovisionar un Área de trabajo de Windows To Go, que incluso, puede ser más utilizada que las dos anteriores. Windows To Go puede ser aprovisionado utilizando el sorprendente PowerShell incluido en Windows. En lo que sigue de este artículo, mostraré el paso a paso para realizar crear nuestro Windows To Go con los parámetros propios de PowerShell.

Requerimientos

– Un Equipo técnico en lo posible, con Windows 8 instalado, desde donde se pueda ejecutar PowerShell y aprovisionar el dispositivo.

– Un medio, o los archivos de instalación de Windows 8 Enterprise. Si aún no disponen de él, pueden descargar una versión de evaluación desde el sitio oficial:
http://technet.microsoft.com/es-ES/evalcenter/hh699156.aspx?ocid=wc-bl-sprblog

– Un dispositivo, o disco duro USB 3.0 y con suficiente espacio para instalar Windows 8.

*Nota: Técnicamente, es posible aprovisionar un Windows To Go en un dispositivo USB 2.0, pero la velocidad de escritura será considerablemente más lenta, por lo que la experiencia no sería muy satisfactoria.

Preparando el dispositivo con PowerShell

En el Equipo técnico con Windows 8, desde la Pantalla de Inicio, digitar PowerShell y sobre el resultado de Windows PowerShell, clic derecho y seleccionar “Ejecutar como administrador” en la parte inferior.

*Nota: También se puede ejecutar como administrador con la combinación de teclas: CTRL + SHIFT + ENTER.

Insertar el dispositivo en el que se vaya a preparar Windows To Go, y desde PowerShell, ejecutar: Get-Disk

Esto nos mostrará los discos reconocidos por Windows:

image

Debemos verificar muy bien cuál es el número que corresponde a nuestro disco USB. Para este artículo, por ejemplo, es el número “1”, que tiene como nombre Kingston DT Ultimate USB Device.

Ejecutamos: Clear-Disk <NúmeroDisco> –RemoveData –Confirm:$False

Donde <NúmeroDisco> es el que hace referencial al disco USB que se desea dar formato para aprovisionar Windows To Go. Para mi caso, que el disco tiene como número el “1”, el comando sería:

Clear-Disk 1 -RemoveData –Confirm:$False

image

*Nota: –RemoveData limpiará completamente el disco, y –Confirm:$False, se evitará tener que confirmar la operación para que PowerShell haga la tarea solo.

Ejecutamos: Initialize-Disk <NúmeroDisco> –PartitionStyle MBR

Donde <NúmeroDisco> es el que hace referencial al disco USB que se desea dar formato para aprovisionar Windows To Go. Para mi caso, que el disco tiene como número el “1”, el comando sería:

Initialize-Disk 1 –PartitionStyle MBR

image

Hasta aquí, solo hemos limpiado el disco completamente, y lo hemos inicializado como MBR, el siguiente paso es crear la partición del sistema, y asignarle un espacio para que pueda guardar los archivos de arranque necesarios, para esto, ejecutamos:

$SystemPartition= New-Partition <NúmeroDisco> –Size (350MB) – IsActive

Donde <NúmeroDisco> pertenece al número que Windows le asignó al dispositivo, y como información adicional, estamos creando una variable $SystemPartition para poder hacer referencia siempre a la partición del sistema desde PowerShell.

Para este artículo, que el disco de la USB que es el número “1”, el comando completo sería:

$SystemPartition= New-Partition 1 –Size (350MB) –IsActive

image

Una vez creada la partición del sistema, se debe darle un formato en el que Windows pueda escribir, e instalarse. Para esto, ejecutamos:

Format-Volume –NewFileSystemLabel “System” –FileSystem FAT32 –Partition $SystemPartition

image

*Nota: Con el comando anterior, les pedirá una confirmación para ejecutar la acción, si quieren obviar esto como cuando se limpió el disco en el segundo paso, se debe agregar el mismo parámetro al final: –Confirm:$False

Después de esto, debemos crear y particionar el volumen donde se instalará Windows. Ejecutamos:

$OSPartition= New-Partition <NúmeroDisco> –UseMaximumSize

Donde <NúmeroDisco> corresponde al número del disco que Windows asignó cuando se conectó el dispositivo. Para mi caso, y como lo he utilizando durante todo el artículo, ya que el número de mi USB es el “1”, el comando completo quedaría así:

$OSPartition= New-Partition 1 –UseMaximumSize

image

*Nota: $OSPartition, representa de nuevo una variable de PowerShell que referenciará a la partición donde se instalará Windows, y el parámetro de –UseMaximumSize, nos ayudará a tomar todo el espacio disponible en el disco USB.

Formatiamos la partición para asignarle el sistema de archivos NTFS y poder instalar Windows allí (Podría ser FAT32 también), para esto, ejecutamos:

Format-Volume –NewFileSystemLabel “Windows” –FileSystem NTFS –Partition $OSPartition –Confirm:$False

image

Ahora le asignamos letras a ambas particiones (La del Sistema y la de Windows) para poderlas referenciar más adelante. Para esto, ejecutamos:

Set-Partition –InputObject $SystemPartition –NewDriveLetter “S”

Después, ejecutamos:

Set-Partition –InputObject $OSPartition –NewDriveLetter “W”

image

*Importante: Las letras “S” y “W” corresponden a dos que no se hayan asignado ya en nuestro sistema operativo; si alguna de nuestras particiones o unidades locales ya tiene alguna de estas dos, debemos cambiarlas por otras que no estén siendo usadas en los comandos anteriores.

Para poder reproducir el comportamiento natural de Windows To Go al conectarse a un equipo con un sistema operativo en línea (Desde Windows), e impedir que se le asigne letra de unidad al dispositivo, debemos ejecutar el siguiente comando:

Set-Partition –InputObject $OSpartition –NoDefaultDriveLetter $TRUE

image

*Nota: Este último parámetro prevalece aún después de formatear el dispositivo y querer usarlo como almacenamiento masivo, así que en ese caso, se debe volver a ejecutar el mism, pero con el $FALSE para que Windows le asigne letras de unidad normalmente.

Aprovisionando Windows To Go

Hasta este punto, el dispositivo ya está listo para recibir una instalación de Windows 8, en los siguientes pasos, lo aprovisionaremos desde el medio de Windows 8, y le agregaremos otras configuraciones adicionales para que pueda arrancar bien, y no tenga comunicación con los discos físicos locales.

Para instalar Windows 8 en el dispositivo, ejecutamos:

Dism /Apply-Image /ImageFile<Directorio8>install.wim /Index:1 /ApplyDir:W:

Donde <Directorio8> es la unidad correspondiente al medio que tiene los archivos de instalación de Windows 8, y la referencia a la imagen (.WIM). Por ejemplo, para este caso, que la unidad que tiene los archivos de instalación es la “D”, el comando sería:

Dism /Apply-Image /ImageFile:D:Sourcesinstall.wim /Index:1 /ApplyDir:W:

image

*Nota 1: La letra “W”, corresponde a la unidad que asignamos para Windows utilizando PowerShell en los pasos anteriores, si se le dio otra letra diferente a la que muestra este post, se debe cambiar también en el comando de Dism.

*Nota 2: El procedimiento puede tardar o no, dependiendo del peso de la imagen, y en general, de la velocidad de escritura y lectura del dispositivo USB.

Para que Windows pueda arrancar correctamente en equipos con UEFI, BIOS y diferentes arquitecturas, es necesario copiar los archivos de arranque a la partición que hayamos definido como del Sistem (“System”). Ejecutamos entonces:

W:WindowsSystem32bcdboot W:Windows /f ALL /s S:

image

*Nota: Las letras “W” y “S” pueden variar, de acuerdo a la partición que hayan asignado en los pasos de preparación para el dispositivo.

Finalmente, debemos aplicar la política de SAN a nuestro Windows To Go, para que cada vez que se inicie en un nuevo equipo, no se vean los discos locales predeterminadamente, y que además, estén en estado de Desactivados.

Para esto, básicamente utilizaremos un Archivo de autorespuesta (XML) que se aplicará, y Windows leerá en cada inicio.

Deben descargar el archivo SANPS.zip desde aquí:

Descomprimir el archivo para que tenga la extensión .XML, es decir: SANPS.xml.

Luego, copiar el archivo físico a la partición que corresponde a la de Windows en la raíz del dispositivo USB, en este caso la “W” y ejecutar el siguiente comando:

Dism.exe /Image:W: /Apply-Unattend:W:SANPS.xml

image

¡Todo listo! El siguiente gran paso, es finalmente desconectar de forma segura el dispositivo del equipo donde se aprovisionó, e iniciar desde él en cualquier otro equipo que cumpla con los requisitos mínimos para correr Windows 7 y Windows 8 (Son los mismos).

*Nota: Recordemos que desde Windows 8, se puede iniciar fácilmente desde el Windows To Go con solo buscar el asistente para cambiar las opciones de arranque de Windows To Go desde la Pantalla de Inicio:

image

En equipos que tengan instalado Windows 7 o inferiores, se debe entrar a la BIOS, o utilizar los parámetros de arranque (Normalmente con la tecla F12) y seleccionar el boot desde el dispositivo USB correspondiente a Windows To Go (Donde se instaló).

Al iniciar, podremos verificar que todas las configuraciones se hayan aplicado, como por ejemplo, que no aparezcan las unidades y particiones locales, y sólo se vea la de Windows To Go, con su respectiva etiqueta:

WTG1

*Nota: El tamaño de Windows, está representado por el del dispositivo USB y no del disco local, en este caso, 32 GB (29.4 GB visibles).

En los próximos artículos, exploraremos un poco más en Windows To Go, aprendiendo a cifrarlo con BitLocker manualmente, y agregando personalizaciones más avanzadas a la imagen que se despliega.

Saludos,

Checho

Una respuesta a “Aprovisionar un Área de trabajo de Windows To Go utilizando PowerShell.”

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *