Hace unos meses, expliqué cómo tener un laboratorio de Microsoft Endpoint Configuration Manager (MEMCM) utilizando los Deployment Lab Kit de Microsoft.
La ventaja principal de estos kits es la rapidez de instalación (básicamente es descargar el instalador y ejecutarlo para que se despliguen y se pongan en marcha las máquinas virtuales del laboratorio). Las desventajas principales son que los productos incluidos (Windows Server, SQL Server, etc.) tienen una fecha de caducidad y que el instalador únicamente funciona con Hyper-V, el hipervisor de Microsoft.
En este post se explica cómo crear un laboratorio de Configuration Manager usando el Hydration Kit de Johan Arwidmark. Este método es mucho más flexible, ya que permiti usar versiones de los productos que no tengan caducidad y crear las máquinas virtuales en cualquier hipervisor que permita iniciarlas desde un fichero *.iso
.
Requisitos
Para poder utilizar este kit es necesario disponer de:
- Conectividad a Internet para descargar los diferentes componentes
- Una servidor con Microsoft Deployment Toolkit (MDT)
Nota: El kit contiene un share de MDT (llamado CMLab) con diferentes Task Sequence para instalar cada una de la máquinas virtuales del laboratorio (DC01, CM01, etc.).
Servidor MDT
En este caso hemos usado una instalación de MDT, ya existente en nuestro entorno que tiene las siguientes características:
- Máquina virtual con Windows Server 2016 Build 1607
- MDT 8456 con Hotfix KB4564442
- ADK for Windows 11 version 21H2 + WinPE add-on
- Hipervisor VMware ESXi 6.7 con una red LAN
10.0.0.0/24
para las VM - Router pfSense que proporciona DHCP y salida a Internet mediante NAT
Hydration Kit
El Hydration Kit para Windows Server 2022, SQL Server 2019 y Configuration Manager Current Branch se puede descargar desde el repositorio de GitHub de Johan Arwidmark y su uso es bastante sencillo:
- Descargar el software necesario (Windows Server, SQL Server, Configuration Manager, etc.)
- Instalar el Hydration Kit en el share
CMLab
de MDT - Copiar el software descargado a las ubicaciones correctas del share
CMLab
- Crear el fichero
*.iso
con el Bootable Hydration Kit (MDT Offline Media
) - Crear y desplegar las máquinas virtuales del laboratorio en un hipervisor
Paso 1: Descargar software
Aunque la descarga de software se puede realizar desde cualquier máquina Windows (cliente o servidor), en este caso se relizará en el mismo servidor MDT para facilitar la copia al share CMLab
.
El script Download-SoftwareForHydrationKit.ps1
permite descargar de forma automática todo el software mencionado en este paso, incluyendo Windows Server, SQL Server y Configuration Manager desde Microsoft Evaluation Center.
# Para utilizar versiones de evaluación
.\Download-SoftwareForHydrationKit.ps1 -HydrationKitBase "D:\HydrationKitBase"
# Para utilizar versiones con licencia
.\Download-SoftwareForHydrationKit.ps1 -HydrationKitBase "D:\HydrationKitBase" -UseEvaluation $false
El script creará una estructura de directorios bajo la carpeta indicada como parámetro del mismo (en este caso D:\HydrationKitBase
):
D:\HydrationKitBase
├───Downloads (Software y otros componentes descargados de forma automática)
├───Setup (Componentes listos para ser añadidos al share 'CMLab')
└───Temp (Directorio temporal)
A continuación se indica todo el software necesario para el Hydration Kit:
- Hydration Kit (
HydrationKitWS2022.zip
) - Microsoft Deployment Toolkit (MDT):
- BGInfo
- Windows Server 2022 Standard x64, SQL Server 2019 Standard x64 y Configuration Manager Current Branch 2203 usando alguna de estas opciones:
Nota: Para obtener el fichero
*.iso
de “SQL Server 2019 Standard”, si se ha descargado la versión de evaluación, hay que ejecutar el instalador webSQL2019-SSEI-Eval.exe /Action=Download /MediaPath="D:\HydrationKitBase\Downloads" /MediaType=ISO /Quiet
.
Nota: Configuration Manager requiere únicamente el CU 5, pero es recomendable utilizar la última actualización disponible (CU 16 KB5011644 a fecha de publicación de este artículo).
- SQL Server 2019 Reporting Services
- SQL Server Management Studio
- Pre-requisitos de Configuration Manager
Nota: Para descargar los pre-requisitos hay que ejecutar la aplicación
SMSSETUP\BIN\X64\setupdl.exe
desde los ficheros de instalación de Configuration Manager y proporcionar una carpeta para la descarga.
Nota: Hay que descargar la versión 21H2 desde
Other ADK downloads
. La versión 22H2, liberada en Mayo de 2022, aún no está soportada por Configuration Manager.
Nota: Para descargar el ADK standalone completo, hay que ejecutar
adksetup.exe /layout "D:\HydrationKitBase\Setup\Windows ADK 11" /quiet /ceip off
. Y lo mismo para el WinPE add-on,adkwinpesetup.exe /layout "D:\HydrationKitBase\Setup\Windows ADK 11 WinPE add-on" /quiet /ceip off
.
- SQL Server 2019 Express, como componente opcinal para usarlo en la instalación del servidor
MDT01
Nota: Para obtener el instalador de “SQL Server 2019 Express Core” hay que ejecutar el instalador web
SQL2019-SSEI-Expr.exe /Action=Download /MediaPath="D:\HydrationKitBase\Downloads" /MediaType=Core /Quiet
.
Evaluación vs Licencia
El script descarga las versiones de evaluación de Windows Server, SQL Server y Configuration Manager desde Microsoft Evaluation Center.
Aunque estas versiones son completamente funcionales durante 180 días, si se quiere utilizar las versiones con licencia, será necesario descargar los ficheros *.iso
desde VLSC o MSDN de forma manual y dejarlos en D:\HydrationKitBase\Downloads
.
Evaluación (script) | VLSC (manual) | |
---|---|---|
Windows Server 2022 | WindowsServer2022_x64_en-us_Eval.iso |
SW_DVD9_Win_Server_STD_CORE_2022_2108.1_64Bit_English_DC_STD_MLF_X22-82986.iso |
SQL Server 2019 | SQLServer2019-x64-ENU.iso |
SW_DVD9_NTRL_SQL_Svr_Standard_Edtn_2019Dec2019_64Bit_English_OEM_VL_X22-22109.ISO |
Configuration Manager CB 2023 | MEM_ConfigManager_2203_Eval.exe |
SW_DVD5_MEM_ConfigMgrClt_ML_2203_MultiLang_ConfMgr_MLF_X23-12967.ISO |
Paso 2: Instalar Hydration Kit
Pre-requisitos
Para poder usar Hydration Kit es necesario disponer de un servidor MDT 8456 con Windows ADK for Windows 11 21H2.
Los pasos necesarios para instalar MDT 8456 son los siguientes:
Nota: En este caso, no ha sido necesario realizar esta instalación porque ya se dispone de un servidor, tal como se comentó anteriormente.
- Instalar Windows ADK for Windows 11
- Instalar el WinPE add-on del ADK anterior
- Instalar MDT 8456 x64
- Instalar MDT 8456 HotFix KB4564442 (sustitución del fichero
Microsoft.BDD.Utility.dll
de la instalación de MDT):
$HydrationKitBase = "D:\HydrationKitBase"
$Source = "$HydrationKitBase\Setup\MDT 8456 HotFix"
$Target = "C:\Program Files\Microsoft Deployment Toolkit\Templates\Distribution\Tools"
Copy-Item -Path "$Source\x86\Microsoft.BDD.Utility.dll" -Destination "$Target\x86" -Force
Copy-Item -Path "$Source\x64\Microsoft.BDD.Utility.dll" -Destination "$Target\x64" -Force
Extracción del kit
Para poder instalar el Hydration Kit en el servidor MDT es necesario descomprimirlo y, opcionalmente, adaptarlo a nuestro entorno (cambiar las direcciones IP, el nombre del dominio, las contraseñas, etc.).
Si se ha utilizado el script Download-SoftwareForHydrationKit.ps1
para descargar el software necesario de forma automática, el Hydration Kit ya ha sido extraído en el directorio D:\HydrationKitBase\Setup\HydrationKit
.
Este directorio contiene un par de scripts en PowerShell, la documentación y el directorio Source
con el contenido del share que se instalará en el servidor MDT:
Directory of D:\HydrationKitBase\Setup\HydrationKit
<DIR> docs
1,075 LICENSE
7,091 New-HydrationKitSetup.ps1
3,874 New-LabVMsForHyperV.ps1
26,191 README.md
<DIR> Source
Adaptación al entorno
La adaptación del Hydration Kit a un entorno concreto se puede hacer de alguna de éstas maneras:
- A mano siguiendo las intrucciones del artículo “Customizing the ViaMonstra Hydration Kit” de Johan Arwidmark
- Mediante el script
CustomizeHydrationKit.ps1
de Mattias Benninge referenciado en el artículo “Customizing the Hydration kit, PowerShell style! (probado únicamente en el Hydration Kit para Windows Server 2016) - A mano usando la opción
Search > Find in Files... > Replace in Files
de Notepad++
En este caso, se ha utilizado la opción 3 para buscar en los ficheros *.hta
, *.ini
, *.ps1
, *.txt
, *.vbs
, *.wsf
, *.xml
del directorio D:\HydrationKitBase\Setup\HydrationKit
y:
- Reemplazar
192.168.1
por10.0.0
- Configure-CreateADSubnets.ps1 (1)
- CustomSettings_CM01.ini (3)
- CustomSettings_DC01.ini (8)
- CustomSettings_DP01.ini (3)
- CustomSettings_FS01.ini (3)
- CustomSettings_MDT01.ini (3)
- Reemplazar
Pacific Standard Time
porRomance Standard Time
- CM01\Unattend.xml (1)
- DC01\Unattend.xml (1)
- FS01\Unattend.xml (1)
- MDT01\Unattend.xml (1)
- CustomSettings.ini (1)
- Reemplazar
P@ssw0rd
por una nueva contraseña y apuntarla en KeePass/Bitwarden- Configure-CreateADStructure.wsf (16)
- HYDCMRSPConfig.ps1 (1)
- CustomSettings.ini (1)
- CustomSettings_CM01.ini (1)
- CustomSettings_DC01.ini (1)
- CustomSettings_FS01.ini (1)
- CustomSettings_MDT01.ini (1)
- Deshabilitar el grupo
Install DHCP
en el fichero.\Source\Hydration\Control\DC01\ts.xml
- Comentar las opciones
DHCPxxxxx
en el fichero.\Source\Media\Control\CustomSettings_DC01.ini
To-Do: Adaptar el script
CustomizeHydrationKit.ps1
de Mattias Benninge para que funcione con este Hydration Kit.
Instalación del kit
A continuación se instala el Hydration Kit en el servidor MDT (se necesita disponer de 50GB libres) ejecutando el script New-HydrationKitSetup.ps1
en D:\HydrationKitBase\Setup\HydrationKit
desde un PowerShell con permisos de administrador:
.\New-HydrationKitSetup.ps1 -Path "C:\Shares\CMLab" -ShareName "CMLab"
Si todo funciona correctamente, se creará un Deployment Share llamado CMLab
que apunta al directorio C:\Shares\CMLab\DS
y un directorio C:\Shares\CMLab\ISO
donde generar el fichero *.iso
con el Bootable Hydration Kit (MDT Offline Media
).
Paso 3: Copiar software al Hydration Kit DS
Reference WIM
Antes de copiar el software al Deployment Share, es necesario ejecutar el script Export-WindowsServer2022WIMfromISO.ps1
para obtener una imagen *.wim
de Windows Server 2022 con un único índice.
Este script es una adaptación del script de Johan Arwidmark para utilizar la estructura de software descargado anteriormente.
# Para utilizar versiones de evaluación
.\Export-WindowServer2022WIMfromISO.ps1 -HydrationKitBase "D:\HydrationKitBase"
# Para utilizar versiones con licencia
$ISOName = "SW_DVD9_Win_Server_STD_CORE_2022_2108.1_64Bit_English_DC_STD_MLF_X22-82986.iso"
.\Export-WindowServer2022WIMfromISO.ps1 -HydrationKitBase "D:\HydrationKitBase" -UseEvaluation $false -ISOName $ISOName
Si todo funciona correctamente, se extraerá el índice correspondiente a la imagen Windows Server 2022 SERVERSTANDARD (Desktop Experience) a un fichero REFWS2022-001.wim
en el directorio D:\HydrationKitBase\Setup\ReferenceWIM
.
Además, se copiará el fichero microsoft-windows-netfx3-ondemand-package~31bf3856ad364e35~amd64~~.cab
para evitar problemas con la instalación de .NET Framework 3.5 si las máquinas virtuales no tienen conexión a Internet durante la instalación.
Copiar software al DS
A continuación, se puede ejecutar el script Copy-SoftwareToHydrationKitDS.ps1
para copiar al Deployment Share en C:\Shares\CMLab\DS
todo el sofware descargado anteriormente, de tal forma que que las Task Sequence estén completas y funcionen correctamente.
# Para utilizar versiones de evaluación
.\Copy-SoftwareToHydrationKitDS.ps1 -HydrationKitBase "D:\HydrationKitBase" -CMLab "C:\Shares\CMLab"
# Para utilizar versiones con licencia
$SQLISOName = "SW_DVD9_NTRL_SQL_Svr_Standard_Edtn_2019Dec2019_64Bit_English_OEM_VL_X22-22109.ISO"
$CMISOName = "SW_DVD5_MEM_ConfigMgrClt_ML_2203_MultiLang_ConfMgr_MLF_X23-12967.ISO"
.\Copy-SoftwareToHydrationKitDS.ps1 -HydrationKitBase "D:\HydrationKitBase" -CMLab "C:\Shares\CMLab" -UseEvaluation $false -SQLISOName $SQLISOName -CMISOName $CMISOName
Paso 4: Crear Bootable Hydration Kit
Para generar la MDT Offline Media
que contiene el Bootable Hydration Kit hay que hacer lo siguiente:
- Ejecutar Deployment Workbench
- Expandir
Deployment Shares
y despuésHydration Kit ConfigMgr
- Expandir el nodo
Advanced Configuration
y seleccionar el nodoMedia
- En el panel derecho, hacer click con el botón derecho en el elemento
MEDIA001
y seleccionar Update Media Content
Nota: La actualización de medios puede tardar un poco en ejecutarse, un momento perfecto para tomar un café ;-)
Cuando finalice la actualización de medios, se habrá generado un fichero HydrationCMWS2022.iso
en el directorio C:\Shares\CMLab\ISO
. Este fichero tendrá un tamaño entre 14-16GB (el tamaño puede variar un poco dependiendo de las versiones de software que se hayan añadido).
Paso 5: Crear y desplegar VMs
A continuación se pueden crear las máquinas virtuales en el hipervisor seleccionado (en este caso VMware ESXi) y conectarlas al fichero HydrationCMWS2022.iso
generado en el paso anterior.
To-Do: Utilizar VMware PowerCLI para automatizar la creación de las máquinas virtuales en VMware ESXi.
Si el hipervisor es Hyper-V, se puede utilizar el script New-LabVMsForHyperV.ps1
del directorio D:\HydrationKitBase\Setup\HydrationKit
para crear las máquinas virtuales (más información al final del artículo de Johan Arwidmark).
DC01
La primera máquina que se tiene que desplegar en este laboratorio es la DC01
que será el controlador del dominio corp.viamonstra.com
.
Esta máquina virtual se creará con las siguientes características:
- Name =
DC01
- Compatibility = ESXi 6.7 virtual machine
- Guest OS Family = Windows
- Guest OS Version = Microsoft Windows Server 2016 or later (64-bit)
- Storage =
datastore1
- CPU: 2 cores / 1 socket
- Memory: 2048 MB / Reserve all guest memory (All locked)
- Hard Disk: 100 GB / Thin provisioned
- Network: VLAN correspondiente a la red 10.0.0.0/24
- Datastore ISO file:
datastore1\ISOs\HydrationCMWS2022.iso
Iniciar la máquina virtual DC01
. Después de arrancar desde HydrationCMWS2022.iso
, y después de que WinPE se haya cargado, seleccionar la secuencia de tareas DC01.
Esperar hasta que aparezca el mensaje ‘Hydration completed…’ en la pantalla de la Final Configuration Utility for MDT
. Pulsar sobre el botón Close
para dar por finalizada la instalación y configuración del la máquina.
Post-configuración
A continuación se instalan las VMware Tools para proporcionar información detallada sobre la máquina virtual y permitir las operaciones en el SO invitado (p.ej. apagado elegante, reinicio, etc.):
- Abrir una browser console en ESXi
- Seleccionar
Guest OS > Install VMware Tools
desde el menúActions
- Ejecutar
setup64.exe
desde el DVD que se ha montado automáticamente - Seleccionar la instalación de tipo Complete
- Reiniciar la máquina virtual
Finalmente, se desconecta el fichero *.iso
del Hydration Kit y se deja DC01
en ejecución mienstras se implementan el resto de máquinas virtuales del laboratorio.
CM01
Una vez que el controlador de dominio (DC01
) está en funcionamiento, se puede implementar la máquina virtual CM01
. No hay que olvidar tener DC01
en ejecución mientras se implementa CM01
, ya que ésta se unirá al dominio durante la instalación.
La máquina virtual se creará con las siguientes características:
- Name =
CM01
- Compatibility = ESXi 6.7 virtual machine
- Guest OS Family = Windows
- Guest OS Version = Microsoft Windows Server 2016 or later (64-bit)
- Storage =
datastore1
- CPU: 4 cores / 1 socket
- Memory: 16384 MB / Reserve all guest memory (All locked)
- Hard Disk: 300 GB / Thin provisioned
- Network: VLAN correspondiente a la red 10.0.0.0/24
- Datastore ISO file:
datastore1\ISOs\HydrationCMWS2022.iso
Iniciar la máquina virtual CM01
. Después de arrancar desde HydrationCMWS2022.iso
, y después de que WinPE se haya cargado, seleccionar la secuencia de tareas CM01.
El mensaje ‘Hydration completed…’ en la pantalla de la Final Configuration Utility for MDT
puede tardar un buen rato en aparecer ya que esta máquina virtual es bastante pesada de instalar. Pulsar sobre el botón Close
para dar por finalizada la instalación y configuración del la máquina.
Post-configuración
Después de implementar CM01
, hay que asegurarse de que la máquina tenga acceso a Internet (usando el NAT del hipervisor o instalando un router virtual como el usado en este caso, pfSense).
Abrir Configuration Manager Console y acceder al área de trabajo Administration
. Allí se selecciona el nodo Updates and Servicing
y se pulsa el botón Chek for updates
para instalar las últimas actualizaciones disponibles.
Después de aplicar todas las actualizaciones, generalmente hay que reiniciar el servidor o la consola para que se apliquen correctamente los cambios.
Nota: A fecha de este artículo, hay un HotFix Rollup (KB14244456) del 9 de Junio de 2022. Este Rollup incluye el HotFix (KB14480034) que solucionaba el problema con los registros de los clientes PKI.
A continuación se instalan las VMware Tools siguiendo los mismos pasos que en la máquina anterior y se desconecta el fichero *.iso
del Hydration Kit de la máquina virtual.
MDT01, DP01 y FS01
Estas máquinas virtuales son opcionales y no son necesarias para probar la mayoría de características de MEMCM (más información al final del artículo de Johan Arwidmark):
- MDT01: Servidor MDT
- DP01: Distribution Point
- FS01: File Server
Referencias
Windows Server
- Windows Server documentation
- Windows Server Tech Community
- Get started with Windows Server
- Windows Server deployment, configuration, and administration Learn Path
SQL Server
- Microsoft SQL documentation
- SQL Server Tech Community
- Introducing Microsoft SQL Server 2019 (Ebook, Packt, 489 páginas)
- SQL developer tools