Vous venez de passer des heures à écrire un script chargé de supprimer automatiquement les anciens comptes utilisateur inactifs dans l’AD (Active Directory). Bien que vous soyez débutant en code VBScript, la suppression manuelle des anciens comptes d’AD chaque mois était une telle corvée que vous vous êtes résolu à écrire ce script. Plein d’espoir, vous l’exécutez sur votre réseau de test… pour le voir s’arrêter prématurément. Pas croyable ! Où est l’anomalie ? Les raisons sont multiples. Cependant, le principe de Pareto (c’est-à-dire, la règle des 80/20) veut que la plus grande partie des erreurs de script (80 % environ) provient d’un petit nombre de causes possibles (20 % environ).Plusieurs experts en scripting ont récemment parlé des erreurs courantes qu’ils trouvent quand ils examinent le code VBScript sur le terrain. D’après ces experts et à en croire divers articles, les erreurs de syntaxe VBScript les plus courantes (c’est-à-dire, celles qui surviennent quand le code transgresse les règles grammaticales du langage VBScript) et les erreurs à l’exécution (c’est-à-dire, les erreurs qui se produisent quand un script tente d’effectuer une action que le système ne peut pas exécuter) surviennent quand les auteurs de scripts utilisent des variables, des instructions de traitement d’erreurs, des guillemets et des caractères spéciaux et réservés.
Quand de bons scripts dérapent
Pendant plusieurs heures, vous avez produit des lignes de code qui capturent l’information pour chaque imprimante de votre réseau multisite. Votre tête est pleine de monikers WMI (Windows Management Instrumentation), de constantes VBScript, de strComputer, de colPrinters et de variables d’impression. Et vos yeux sont fatigués de fixer l’écran. Finalement, quand vous utilisez colPrinter dans la dernière instruction For Each… Next, vous savez que c’est enfin la dernière ligne droite. Vous bouclez rapidement le script et le testez, mais le script se termine de façon abrupte et votre espoir de rentrer tôt à la maison s’évanouit.
Que s’est-il produit ? Exactement ce que vous venez de lire. Le paragraphe précédent contient une erreur trop fréquente dans les scripts : la faute d’orthographe. Dans un cas, le nom de la variable de colonne comportait la lettre s (colPrinters) mais, dans l’autre cas, le s était absent (colPrinter). C’est peu, mais ça suffit.
« Il me semble que le problème le plus fréquent est le non usage du motclé Option Explicit, puis de voir le script échouer parce qu’il utilise une variable qui ressemble beaucoup à celle qu’il est supposé utiliser », déclare Michael Otey, président de TECA, une firme de développement et conseil en logiciel et directeur technique de Windows IT Pro. Ce même problème était aussi en tête du palmarès des autres experts en scripting, y compris Steve Seguis, CEO et architecte logiciel en chef de SCRIPTMATION, une firme d’automatisation de systèmes d’entreprise. Selon lui : « L’un des problèmes les plus courants que j’ai rencontré avec le code VBScript est celui de variables mal orthographiées ». Par exemple, on utilise une variable appelée oUser dans un endroit puis on essaie de la lire sous la forme oUsr dans un autre. Or, il est facile de corriger ce genre de problème en forçant la déclaration de variables à l’aide de Option Explicit ».
VBScript peut vous aider à éviter les fautes d’orthographe. Pour utiliser une variable dans le code VBScript, il suffit de lui attribuer une valeur. Inutile de définir explicitement (c’est-à-dire de déclarer) les variables que vous utilisez. Cependant, tout comme la consommation de légumes ou l’exercice physique quotidien, c’est dans votre intérêt même si ce n’est pas obligatoire. Pour déclarer des variables explicitement, il suffit de placer l’instruction Option Explicit au début du script pour bien signifier au moteur de scripting votre intention de n’autoriser que les variables que vous avez déclarées explicitement avec des instructions Dim, Private, Public et ReDim. Si le moteur de scripting rencontre une variable non déclarée, il vous envoie le message d’erreur Variable is undefined (numéro d’erreur 500), suivi du nom de la variable non déclarée.
Cette simple petite ligne peut vous épargner des dizaines d’heures de débogage laborieux. S’il y a plus d’une variable non définie, le message d’erreur ne mentionne que la première qu’il rencontre. En VBScript, toutes les chaînes doivent être mises entre guillemets (« »).
Téléchargez cette ressource
Créer des agents dans Microsoft 365 Copilot
Insight vous guide dans l’utilisation de la nouvelle expérience de création d’agents dans Microsoft Copilot Studio, disponible dans Copilot Chat. Découvrez les étapes clés pour concevoir, configurer et déployer ces nouveaux agents et injecter la puissance de l’IA directement dans le flux de travail.
Les articles les plus consultés
Les plus consultés sur iTPro.fr
- Gouvernance, cybersécurité et agents IA : trois défis clés à relever pour réussir la transition en 2026
- Top 5 des évolutions technologiques impactant la sécurité 2026
- Tendances 2026 : l’IA devra prouver sa rentabilité
- L’identité numérique : clé de voûte de la résilience et de la performance en 2026
Articles les + lus
CES 2026 : l’IA physique et la robotique redéfinissent le futur
Les 3 prédictions 2026 pour Java
Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
Face à l’urgence écologique, l’IT doit faire sa révolution
D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
À la une de la chaîne Tech
- CES 2026 : l’IA physique et la robotique redéfinissent le futur
- Les 3 prédictions 2026 pour Java
- Semi-conducteurs : comment l’Irlande veut contribuer à atténuer la pénurie mondiale de puces
- Face à l’urgence écologique, l’IT doit faire sa révolution
- D’ici 2030, jusqu’à 90 % du code pourrait être écrit par l’IA, pour les jeunes développeurs, l’aventure ne fait que commencer
