Introducción
Windows Configuration Designer (WCD) te permite crear un paquete de aprovisionamiento — un .ppkg archivo — que se ejecuta automáticamente al insertarlo en un nuevo dispositivo Windows durante la experiencia de primer uso (OOBE). Puedes usarlo para nombrar el dispositivo, crear una cuenta de administrador local, unirse a una red inalámbrica e instalar el agente de Level, todo antes de que el usuario final toque el teclado.
Este artículo explica cómo crear un paquete de aprovisionamiento que instala el agente de Level como parte de la configuración de un nuevo dispositivo.
⚙️ REQUISITOS PREVIOS
Windows Configuration Designer instalado (descárgalo gratis desde Microsoft Store)
Una cuenta de Level con permiso para agregar dispositivos
Una unidad USB para implementar el paquete
🎬 VIDEO
Cómo funciona
WCD produce un .ppkg archivo. Windows reconoce este formato de archivo durante OOBE — cuando un nuevo dispositivo arranca por primera vez y llega a la pantalla de idioma/configuración, al insertar una unidad USB con el .ppkg archivo hace que Windows salga de OOBE y ejecute el paquete de aprovisionamiento en su lugar.
En el paquete, un script de PowerShell se une a una red inalámbrica e instala el agente de Level. Todo el paso de aprovisionamiento tarda unos pocos segundos. Una vez completado, el dispositivo aparece en Level y está listo para mayor automatización.
Instalar con Windows Configuration Designer
Paso 1: Crear un nuevo proyecto
Abre Windows Configuration Designer.
Haz clic en Provision Desktop Devices.
Ingresa un nombre de proyecto y elige una ubicación para guardarlo.
Haz clic en Finish para abrir el asistente.
Paso 2: Configurar el asistente
El asistente tiene seis pasos. Esto es lo que debes hacer en cada uno.
1 — Configurar el dispositivo
Introduce una plantilla de nombre de equipo. Una convención habitual es CompanyName-%Serial%, que antepone el nombre de tu empresa al número de serie del dispositivo.
2 — Configurar la red
Puedes configurar una red inalámbrica aquí, pero es posible que la conexión inalámbrica no se haya establecido para cuando se ejecute el script de instalación de Level. Deja esto en blanco — el script de PowerShell del Paso 4 gestiona la configuración inalámbrica de forma más fiable.
3 — Administración de cuentas
Configura una cuenta de administrador local aquí. Si el dispositivo necesita unirse a un dominio, omite ese paso — esto puede gestionarse mediante una automatización de Level después del registro.
4 — Agregar aplicaciones
Aquí es donde ocurre la instalación de Level. Agregarás un script de PowerShell que se une a la red inalámbrica e instala el agente de Level.
5 — Agregar certificados
No se necesitan cambios.
6 — Finalizar
Haz clic en Create para generar el .ppkg archivo.
Paso 3: Preparar el script de PowerShell
Copia el script de abajo en un editor de texto y guárdalo como un .ps1 archivo. Actualiza tres valores antes de guardar:
Línea 2: Reemplaza
Put Your SSID Herecon el nombre de tu red inalámbricaLínea 3: Reemplaza
Put Your Wi-Fi Password Herecon tu contraseña de red inalámbricaCerca del final: Pega tu comando de instalación de Level donde se indique (obtenlo desde Add new device → Windows → One-line command en Level)
param(
[string]$SSID = "Put Your SSID Here",
[string]$PSK = "Put Your Wi-Fi Password Here"
)
# Create temp folder for logging
$TempFolder = 'C:\temp'
if (Test-Path -Path $TempFolder) {
"$TempFolder exists."
} else {
"$TempFolder doesn't exist. Creating it now."
mkdir $TempFolder
}
Start-Transcript -Append "$TempFolder\LevelInstall.txt"
# Create a wireless profile
$guid = New-Guid
$HexArray = $SSID.ToCharArray() | ForEach-Object {
[System.String]::Format("{0:X}", [System.Convert]::ToUInt32($_))
}
$HexSSID = $HexArray -join ""
@"
<?xml version="1.0"?>
<WLANProfile xmlns="http://www.microsoft.com/networking/WLAN/profile/v1">
<name>$($SSID)</name>
<SSIDConfig>
<SSID>
<hex>$($HexSSID)</hex>
<name>$($SSID)</name>
</SSID>
</SSIDConfig>
<connectionType>ESS</connectionType>
<connectionMode>auto</connectionMode>
<MSM>
<security>
<authEncryption>
<authentication>WPA2PSK</authentication>
<encryption>AES</encryption>
<useOneX>false</useOneX>
</authEncryption>
<sharedKey>
<keyType>passPhrase</keyType>
<protected>false</protected>
<keyMaterial>$($PSK)</keyMaterial>
</sharedKey>
</security>
</MSM>
<MacRandomization xmlns="http://www.microsoft.com/networking/WLAN/profile/v3">
<enableRandomization>false</enableRandomization>
<randomizationSeed>1451755948</randomizationSeed>
</MacRandomization>
</WLANProfile>
"@ | Out-File "$TempFolder\$guid.SSID"
netsh wlan add profile filename="$TempFolder\$guid.SSID" user=all
Start-Sleep -Seconds 5
Remove-Item "$TempFolder\$guid.SSID" -Force
netsh wlan connect name=$SSID
# Wait for network connectivity before downloading Level
$timeout = New-TimeSpan -Minutes 2
$endTime = (Get-Date).Add($timeout)
$testSite = "downloads.level.io"
while (!(Test-Connection -ComputerName $testSite -Quiet)) {
Start-Sleep -Seconds 5
if ((Get-Date) -gt $endTime) {
"$testSite connectivity timeout exceeded. Network connectivity not established."
break
}
}
# Paste your Level install command on the line below
# Get it from: Level → Add new device → Windows → One-line command
Stop-Transcript
💡 CONSEJO: El script registra su salida en C:\temp\LevelInstall.txt en el dispositivo de destino. Consulta este archivo si el agente de Level no aparece después del aprovisionamiento.
⚠️ ADVERTENCIA: La contraseña de la red inalámbrica se almacena en texto plano en el .ps1 archivo y está integrado en el .ppkg. Trata el paquete de aprovisionamiento como un archivo sensible y limita quién tiene acceso a él.
Paso 4: Agregar el script al paquete
De vuelta en el asistente de WCD en el Add applications paso:
Haz clic en + para agregar una aplicación.
Asígnale un nombre (p. ej., «Install Level Agent»).
En el Installer Path campo, busca y selecciona tu
.ps1archivo.En el Command Line Arguments campo, introduce:
powershell.exe -executionpolicy bypass -file "your_script.ps1"
Reemplaza your_script.ps1 con el nombre de archivo real.
Deja todas las demás configuraciones en sus valores predeterminados y haz clic en Add.
Paso 5: Generar e implementar el paquete
Completa los pasos restantes del asistente y haz clic en Create en la página Finish.
Copia el
.ppkgarchivo a una unidad USB. Solo el.ppkges necesario — el.ps1script está integrado en su interior.
Para implementar en un nuevo dispositivo:
Enciende el dispositivo. Arrancará en OOBE y mostrará la pantalla de selección de idioma.
No respondas ningún aviso de OOBE.
Inserta la unidad USB.
Windows detecta el
.ppkgarchivo y comienza el aprovisionamiento automáticamente.
El dispositivo cambia su nombre, crea la cuenta de administrador local, se une a la red inalámbrica e instala el agente de Level. Luego aparece en tu Device Listing.
ℹ️ NOTA: El proceso de aprovisionamiento tarda unos pocos segundos. El dispositivo se reiniciará una o dos veces como parte del proceso — esto es normal.
Preguntas frecuentes
¿Puedo usar esto para dispositivos que se unirán a un dominio? Sí — configura la cuenta de administrador local en el asistente, omite el paso de unión al dominio y gestiona la unión al dominio más adelante mediante una automatización de Level después de que el dispositivo se registre.
¿Qué pasa si mi red no usa WPA2 PSK? El perfil inalámbrico del script está configurado para WPA2 PSK. Si tu red usa un método de autenticación diferente (WPA3, 802.1X, etc.), actualiza los
<authentication>y<encryption>valores en el perfil XML en consecuencia.El dispositivo se aprovisionó pero Level no aparece — ¿qué ocurrió? Comprueba
C:\temp\LevelInstall.txten el dispositivo para ver el registro de instalación. Causas comunes: la red inalámbrica no se unió antes de que expirara el tiempo de espera de conectividad, o una herramienta AV/EDR bloqueó la descarga de Level. Consulta Detecciones falsas de AV/EDR y Solución de problemas sin conexión.¿Necesito crear un nuevo paquete para cada grupo de dispositivos en Level? Sí — la clave de instalación integrada en el script determina en qué grupo aterriza el dispositivo. Crea un
.ppkgpor grupo, o usa una clave de instalación única sin grupo y mueve los dispositivos después.¿Puedo usar una red cableada en lugar de inalámbrica? Sí — elimina el perfil inalámbrico y las
netsh wlansecciones del script y simplifica la comprobación de conectividad para solo verificar quedownloads.level.ioes accesible.
