Introduction
Windows Configuration Designer (WCD) vous permet de créer un package de provisionnement — un fichier.ppkgfichier — qui s'exécute automatiquement lorsqu'il est inséré sur un nouveau périphérique Windows lors de l'expérience de premier démarrage (OOBE). Vous pouvez l'utiliser pour nommer le périphérique, créer un compte administrateur local, rejoindre un réseau sans fil et installer l'agent Level, le tout avant que l'utilisateur final ne touche jamais le clavier.
Cet article décrit comment créer un package de provisionnement qui installe l'agent Level dans le cadre de la configuration du nouveau périphérique.
⚙️ PRÉREQUIS
Windows Configuration Designer installé (télécharger gratuitement sur le Microsoft Store)
Un compte Level avec la permission d'ajouter des appareils
Une clé USB pour déployer le package
🎬 VIDEO
How It Works
WCD produces a .ppkgfichier. Windows reconnaît ce format de fichier lors de OOBE — lorsqu'un nouveau périphérique démarre pour la première fois et atteint l'écran de sélection de langue/configuration, l'insertion d'une clé USB avec le.ppkgLe fichier provoque Windows pour quitter OOBE et exécuter le package de provisionnement à la place.
Dans le package, un script PowerShell rejoint un réseau sans fil et installe l'agent Level. Toute l'étape de provisionnement prend quelques secondes. Une fois terminé, l'appareil apparaît dans Level et est prêt pour une automatisation supplémentaire.
Installer avec Windows Configuration Designer
Étape 1 : Créez un nouveau projet
Ouvrez Windows Configuration Designer.
Cliquez sur Provision Desktop Devices.
Entrez un nom de projet et choisissez un emplacement d'enregistrement.
Cliquez sur Finishpour ouvrir l'assistant.
Étape 2 : Configurez l'assistant
L'assistant a six étapes. Voici ce qu'il faut faire à chacun.
1 — Configurer l'appareil
Entrez un modèle de nom d'ordinateur. Une convention courante estCompanyName-%Serial%, qui ajoute le nom de votre entreprise 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 Level s'exécute. Laissez ceci vide — le script PowerShell à 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 au domaine, ignorez la jonction de domaine — cela peut être géré via une automatisation Level après l'inscription.
4 — Ajouter des applications
C'est là que l'installation de Level se produit. Vous allez ajouter un script PowerShell qui joint le réseau sans fil et installe l'agent Level.
5 — Ajouter des certificats
Aucun changement nécessaire.
6 — Finish
Cliquez sur Create to generate the .ppkg file.
Étape 3 : Préparez le script PowerShell
Copiez le script ci-dessous dans un éditeur de texte et enregistrez-le comme un.ps1fichier. Mettez à jour trois valeurs avant d'enregistrer :
Line 2: Replace
Put Your SSID Hereavec votre nom de réseau sans filLine 3: Replace
Put Your Wi-Fi Password Hereavec votre mot de passe sans filNear the end:Collez votre commande d'installation Level où indiqué (obtenez-la à partir deAjouter un nouvel appareil → Windows → Commande d'une ligne 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:Le script enregistre sa sortie àC:\temp\LevelInstall.txtsur 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 brut dans le.ps1fichier et intégré dans le.ppkg. Traitez le package de provisionnement comme un fichier sensible et limitez qui y a accès.
Étape 4 : Ajoutez le script au package
Retour à l'assistant WCD sur leAjouter des applications step:
Cliquez sur +pour ajouter une application.
Donnez-lui un nom (par exemple, Installer l'agent Level).
In the Installer Pathchamp, accédez à et sélectionnez votre
.ps1file.In the Arguments de ligne de commande field, enter:
powershell.exe -executionpolicy bypass -file "your_script.ps1"
Replace your_script.ps1avec le nom de fichier réel.
Laissez tous les autres paramètres à leurs valeurs par défaut et cliquezAdd.
Étape 5 : Générez et déployez le package
Complétez les étapes d'assistant restantes et cliquezCreatesur la page Terminer.
Copiez le
.ppkgfichier généré sur une clé USB. Seul le.ppkgis needed — the.ps1le script est intégré à l'intérieur.
Pour déployer sur un nouveau périphérique :
Mettez sous tension l'appareil. Il démarre dans OOBE et affiche l'écran de sélection de langue.
Ne répondez pas aux invites OOBE.
Insérez la clé USB.
Windows détecte le
.ppkgfichier et 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 LevelDevice Listing.
ℹ️ REMARQUE :Le processus de provisionnement prend quelques secondes. L'appareil redémarrera une ou deux fois dans le cadre du processus — c'est normal.
FAQ
Puis-je l'utiliser pour les 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'inscription de l'appareil.
Que se passe-t-il 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 le
<authentication>and<encryption>valeurs dans le profil XML en conséquence.L'appareil a été approvisionné mais Level n'apparaît pas — qu'est-il passé ? Check
C:\temp\LevelInstall.txtsur l'appareil pour le journal d'installation. Les causes courantes : le réseau sans fil n'avait pas été rejoint avant l'expiration du délai d'expiration de la connectivité, ou un outil AV/EDR a bloqué le téléchargement de Level. VoirFausses détections AV/EDR and Dépannage hors ligne.Dois-je créer un nouveau package pour chaque groupe d'appareils dans Level ?Oui — la clé d'installation incorporée dans le script détermine dans quel groupe l'appareil atterrit. Créez un séparé
.ppkgpar groupe, ou utilisez une seule clé d'installation sans groupe et déplacez les appareils après.Puis-je utiliser un réseau filaire à la place d'un réseau sans fil ?Oui — supprimez le profil sans fil et
netsh wlansections du script et simplifiez la vérification de connectivité pour simplement vérifier quedownloads.level.iois reachable.
