Introduction
Windows Configuration Designer (WCD) vous permet de créer un package de provisionnement — un fichier .ppkg — qui s'exécute automatiquement lorsqu'il est inséré sur un nouvel appareil Windows pendant l'expérience de démarrage (OOBE). Vous pouvez l'utiliser pour nommer l'appareil, créer un compte administrateur local, rejoindre un réseau sans fil et installer l'agent Level, avant même que l'utilisateur final ne touche le clavier.
Cet article explique comment créer un package de provisionnement qui installe l'agent Level dans le cadre de la configuration d'un nouvel appareil.
⚙️ PRÉREQUIS
Windows Configuration Designer installé (téléchargement gratuit depuis le Microsoft Store)
Un compte Level avec l'autorisation d'ajouter des appareils
Une clé USB pour déployer le package
🎬 VIDÉO
Fonctionnement
WCD produit un fichier .ppkg Windows reconnaît ce format de fichier pendant l'OOBE — lorsqu'un nouvel appareil démarre pour la première fois et atteint l'écran de sélection de la langue/configuration, l'insertion d'une clé USB contenant le fichier .ppkg entraîne la sortie de l'OOBE par Windows et l'exécution du package de provisionnement à la place.
Dans le package, un script PowerShell rejoint un réseau sans fil et installe l'agent Level. L'étape de provisionnement complète ne prend que quelques secondes. Une fois terminée, l'appareil apparaît dans Level et est prêt pour une automatisation ultérieure.
Installer avec Windows Configuration Designer
Étape 1 : Créer un nouveau projet
Ouvrez Windows Configuration Designer.
Cliquez sur Provision Desktop Devices.
Saisissez un nom de projet et choisissez un emplacement de sauvegarde.
Cliquez sur Finish pour ouvrir l'assistant.
Étape 2 : Configurer l'assistant
L'assistant comporte six étapes. Voici ce qu'il faut faire à chacune d'elles.
1 — Configurer l'appareil
Saisissez un modèle de nom d'ordinateur. Une convention courante est CompanyName-%Serial%, qui ajoute le nom de votre entreprise en préfixe au numéro de série de l'appareil.
2 — Configurer le réseau
Vous pouvez configurer un réseau sans fil ici, mais la connexion sans fil peut ne pas être établie au moment où le script d'installation de Level s'exécute. Laissez ce champ vide — le script PowerShell de l'étape 4 gère la configuration sans fil de manière plus fiable.
3 — Gestion des comptes
Configurez un compte administrateur local ici. Si l'appareil doit être joint à un domaine, ignorez la jonction de domaine — celle-ci peut être gérée via une automatisation Level après l'enrôlement.
4 — Ajouter des applications
C'est ici que se produit l'installation de Level. Vous allez ajouter un script PowerShell qui rejoint le réseau sans fil et installe l'agent Level.
5 — Ajouter des certificats
Aucune modification nécessaire.
6 — Terminer
Cliquez sur Create pour générer le fichier .ppkg fichier.
Étape 3 : Préparer le script PowerShell
Copiez le script ci-dessous dans un éditeur de texte et enregistrez-le en tant que fichier .ps1 Mettez à jour trois valeurs avant de sauvegarder :
Ligne 2 : Remplacez
Put Your SSID Herepar le nom de votre réseau sans filLigne 3 : Remplacez
Put Your Wi-Fi Password Herepar votre mot de passe sans filVers la fin : Collez votre commande d'installation Level à l'endroit indiqué (obtenez-la depuis Add new device → Windows → One-line command dans 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
💡 CONSEIL : Le script enregistre sa sortie dans C:\temp\LevelInstall.txt sur l'appareil cible. Vérifiez ce fichier si l'agent Level n'apparaît pas après le provisionnement.
⚠️ AVERTISSEMENT : Le mot de passe sans fil est stocké en texte clair dans le fichier .ps1 et intégré dans le fichier .ppkg. Traitez le package de provisionnement comme un fichier sensible et limitez les personnes qui y ont accès.
Étape 4 : Ajouter le script au package
De retour dans l'assistant WCD à l'étape Add applications :
Cliquez sur + pour ajouter une application.
Donnez-lui un nom (par ex., «Install Level Agent»).
Dans le champ Installer Path naviguez jusqu'à votre fichier
.ps1fichier.Dans le champ Command Line Arguments saisissez :
powershell.exe -executionpolicy bypass -file "your_script.ps1"
Remplacez your_script.ps1 par le nom de fichier réel.
Laissez tous les autres paramètres par défaut et cliquez sur Add.
Étape 5 : Générer et déployer le package
Complétez les étapes restantes de l'assistant et cliquez sur Create sur la page Finish.
Copiez le fichier généré
.ppkgsur une clé USB. Seul le fichier.ppkgest nécessaire — le script.ps1est intégré à l'intérieur.
Pour déployer sur un nouvel appareil :
Mettez l'appareil sous tension. Il démarrera en mode OOBE et affichera l'écran de sélection de la langue.
Ne répondez à aucune invite de l'OOBE.
Insérez la clé USB.
Windows détecte le fichier
.ppkget commence le provisionnement automatiquement.
L'appareil se renomme, crée le compte administrateur local, rejoint le réseau sans fil et installe l'agent Level. Il apparaît ensuite dans votre Device Listing.
ℹ️ REMARQUE : Le processus de provisionnement prend quelques secondes. L'appareil redémarrera une ou deux fois au cours du processus — c'est normal.
FAQ
Puis-je utiliser ceci pour des appareils qui seront joints à un domaine ? Oui — configurez le compte administrateur local dans l'assistant, ignorez l'étape de jonction de domaine et gérez la jonction de domaine ultérieurement via une automatisation Level après l'enrôlement de l'appareil.
Que faire si mon réseau n'utilise pas WPA2 PSK ? Le profil sans fil dans le script est configuré pour WPA2 PSK. Si votre réseau utilise une méthode d'authentification différente (WPA3, 802.1X, etc.), mettez à jour les valeurs
<authentication>et<encryption>dans le profil XML en conséquence.L'appareil a été provisionné mais Level n'apparaît pas — que s'est-il passé ? Vérifiez
C:\temp\LevelInstall.txtsur l'appareil pour consulter le journal d'installation. Causes courantes : le réseau sans fil n'a pas été rejoint avant l'expiration du délai de connectivité, ou un outil AV/EDR a bloqué le téléchargement de Level. Voir Fausses détections AV/EDR et Dépannage hors ligne.Dois-je créer un nouveau package pour chaque groupe d'appareils dans Level ? Oui — la clé d'installation intégrée dans le script détermine dans quel groupe l'appareil se retrouve. Créez un fichier
.ppkgpar groupe, ou utilisez une clé d'installation unique sans groupe et déplacez les appareils ensuite.Puis-je utiliser un réseau filaire plutôt que sans fil ? Oui — supprimez le profil sans fil et les sections
netsh wlandu script et simplifiez la vérification de connectivité pour vérifier uniquement quedownloads.level.ioest accessible.
