Introducción
Windows Configuration Designer (WCD) le permite crear un paquete de aprovisionamiento — un.ppkgarchivo — que se ejecuta automáticamente cuando se inserta en un nuevo dispositivo Windows durante la experiencia lista para usar (OOBE). Puede usarlo para nombrar el dispositivo, crear una cuenta de administrador local, unirse a una red inalámbrica e instalar el agente Level, todo antes de que el usuario final toque jamás el teclado.
Este artículo explica cómo crear un paquete de aprovisionamiento que instala el agente Level como parte de la configuración del nuevo dispositivo.
⚙️ REQUISITOS PREVIOS
Windows Configuration Designer instalado (descargar gratis desde Microsoft Store)
Una cuenta de Level con permiso para agregar dispositivos
Una unidad USB para implementar el paquete
🎬 VIDEO
How It Works
WCD produces a .ppkgarchivo. Windows reconoce este formato de archivo durante OOBE — cuando un nuevo dispositivo se enciende por primera vez y llega a la pantalla de selección de idioma/configuración, insertar un stick USB con el.ppkgEl 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 Level. Todo el paso de aprovisionamiento toma algunos segundos. Una vez completado, el dispositivo aparece en Level y está listo para una automatización adicional.
Instalar con Windows Configuration Designer
Paso 1: Crear un nuevo proyecto
Abra Windows Configuration Designer.
Haga clic en Provisionar dispositivos de escritorio.
Ingrese un nombre de proyecto y elija una ubicación para guardar.
Haga clic en Finishpara abrir el asistente.
Paso 2: Configurar el asistente
El asistente tiene seis pasos. Aquí está lo que debe hacer en cada uno.
1 — Configurar dispositivo
Ingrese una plantilla de nombre de computadora. Una convención común esCompanyName-%Serial%, que antepone su nombre de empresa al número de serie del dispositivo.
2 — Configurar red
Puede configurar una red inalámbrica aquí, pero es posible que la conexión inalámbrica no se establezca en el momento en que se ejecuta el script de instalación de Level. Déjelo en blanco — el script de PowerShell en el Paso 4 maneja la configuración inalámbrica de manera más confiable.
3 — Administración de cuentas
Configure una cuenta de administrador local aquí. Si el dispositivo necesita unirse a un dominio, omita el paso de unión de dominio — eso se puede manejar mediante una automatización de Level después de la inscripción.
4 — Agregar aplicaciones
Aquí es donde sucede la instalación de Level. Agregará un script de PowerShell que se une a la red inalámbrica e instala el agente Level.
5 — Agregar certificados
No se requieren cambios.
6 — Finish
Haga clic en Create to generate the .ppkg file.
Paso 3: Preparar el script de PowerShell
Copie el siguiente script en un editor de texto y guárdelo como.ps1archivo. Actualice tres valores antes de guardar:
Line 2: Replace
Put Your SSID Herecon su nombre de red inalámbricaLine 3: Replace
Put Your Wi-Fi Password Herecon su contraseña inalámbricaNear the end:Pegue su comando de instalación de Level donde se indica (obténgalo deAgregar nuevo dispositivo → Windows → Comando de una línea in 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
💡 TIP:El script registra su salida aC:\temp\LevelInstall.txten el dispositivo de destino. Verifique este archivo si el agente Level no aparece después del aprovisionamiento.
⚠️ ADVERTENCIA:La contraseña inalámbrica se almacena en texto sin formato en el.ps1archivo e incrustado en el.ppkg. Trate el paquete de aprovisionamiento como un archivo sensible y limite quién tiene acceso a él.
Paso 4: Agregar el script al paquete
Volviendo al asistente de WCD en elAgregar aplicaciones step:
Haga clic en +para agregar una aplicación.
Asígnele un nombre (por ejemplo, Instalar Agente Level).
In the Installer Pathcampo, navegue a y seleccione su
.ps1file.In the Argumentos de línea de comando field, enter:
powershell.exe -executionpolicy bypass -file "your_script.ps1"
Replace your_script.ps1con el nombre de archivo real.
Deje todas las demás configuraciones en sus valores predeterminados y haga clicAdd.
Paso 5: Generar e implementar el paquete
Complete los pasos de asistente restantes y haga clicCreateen la página Finalizar.
Copie el
.ppkgarchivo generado a una unidad USB. Solo el.ppkgis needed — the.ps1script está incrustado dentro.
Para implementar en un nuevo dispositivo:
Encienda el dispositivo. Se iniciará en OOBE y mostrará la pantalla de selección de idioma.
No responda a ninguna solicitud de OOBE.
Inserte la unidad USB.
Windows detecta el
.ppkgarchivo e inicia el aprovisionamiento automáticamente.
El dispositivo se renombra a sí mismo, crea la cuenta de administrador local, se une a la red inalámbrica e instala el agente Level. Luego aparece en su LevelDevice Listing.
ℹ️ NOTA:El proceso de aprovisionamiento toma algunos segundos. El dispositivo se reiniciará una o dos veces como parte del proceso — esto es lo esperado.
FAQ
¿Puedo usarlo para dispositivos que se unirán a un dominio?Sí — configure la cuenta de administrador local en el asistente, omita el paso de unión de dominio y maneje la unión de dominio más tarde mediante una automatización de Level después de que el dispositivo se inscriba.
¿Qué pasa si mi red no usa WPA2 PSK?El perfil inalámbrico en el script está configurado para WPA2 PSK. Si su red usa un método de autenticación diferente (WPA3, 802.1X, etc.), actualice el
<authentication>and<encryption>valores en el perfil XML en consecuencia.El dispositivo fue aprovisionado pero Level no aparece — ¿qué pasó? Check
C:\temp\LevelInstall.txten el dispositivo para 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. VerDetecciones falsas de AV/EDR and 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 incrustada en el script determina en qué grupo aterriza el dispositivo. Crear un separado
.ppkgpor grupo, o use una sola clave de instalación sin grupo y mueva dispositivos después.¿Puedo usar una red cableada en lugar de inalámbrica?Sí — elimine el perfil inalámbrico y
netsh wlansecciones del script y simplifique la verificación de conectividad para simplemente verificar quedownloads.level.iois reachable.
