Comment écrire un script Windows pour modifier les paramètres réseau à la volée

  • Owen Little
  • 0
  • 2226
  • 162
Publicité

Cette semaine, je suis tombé sur un problème intéressant. Dans de nombreux bureaux ou environnements de travail, vous devrez peut-être redéfinir vos paramètres réseau pour vous connecter à différents réseaux. Par exemple, certaines personnes apportent leur ordinateur portable à la maison et disposent d'une adresse IP statique spécialement conçue pour cette machine. Cependant, comme le réseau de travail est généralement DHCP, il faut que la personne modifie continuellement les paramètres réseau entre une adresse IP statique ou un DHCP automatique en fonction de leur emplacement..

Un problème plus courant concerne les ingénieurs ou le personnel informatique qui doivent souvent se connecter à des périphériques ou à des machines sur un petit réseau au sein d'un bâtiment. Pour vous connecter à ce réseau isolé, vous devez modifier vos paramètres réseau en IP statique. Plus tard, lorsque vous vous reconnectez au réseau de l'entreprise, vous revenez à DHCP..

Je me trouvais assez souvent dans cette situation et j'étais tellement fatigué de naviguer dans la carte réseau, d'ouvrir les paramètres IP et d'effectuer ces modifications, que j'ai décidé qu'il était grand temps de mettre en place un script VB capable de tout faire en une fois. ou deux clics. Si vous avez suivi avec mes articles de programmation, alors vous savez que j'aime les scripts VB. Une fois, je m'en suis servi pour créer un ordinateur possédé. Créer un ordinateur possédé avec un script Windows effrayant pour Halloween Créer un ordinateur possédé avec un script Windows écrit pour Halloween Il existe de nombreuses farces amusantes que vous pouvez jouer avec vos amis avec un ordinateur. Vous avez probablement déjà vu toutes ces vidéos YouTube effrayantes que les gens se font mutuellement pour une bonne frayeur…, et qui servaient également à automatiser Microsoft SyncToy Comment créer un outil de sauvegarde de données avec SyncToy & VB Script Comment créer un outil de sauvegarde de données Avec SyncToy & VB Script Nous avons couvert de nombreuses solutions de sauvegarde ici chez MUO, et toutes ces solutions sont excellentes, mais si vous travaillez dans un environnement qui se méfie des progiciels tiers gratuits, ou des entreprises… pour les données des sauvegardes.

Il est également possible d'accomplir cette tâche avec un script VB et même de le rendre suffisamment flexible pour qu'il puisse accepter les entrées de l'utilisateur pour l'adresse IP statique. Dans cet article, je vais vous montrer comment procéder en trois sections..

Création d'un script de modification des paramètres réseau

Le script nécessite trois tâches principales pour créer cette petite application permettant de changer les paramètres réseau. La première consiste à utiliser le script pour créer des paramètres IP statiques. La prochaine consiste à créer un script pour activer DHCP. Enfin, le dernier consiste à demander à l'utilisateur quelle tâche il souhaite effectuer, puis à utiliser ces informations pour le réaliser..

Script VB pour définir les paramètres IP statiques

N'oubliez pas que les scripts suivants doivent être enregistrés sous forme de fichier texte avec une extension .wsf pour pouvoir fonctionner sur un PC Windows. Le script suivant modifiera vos paramètres réseau en une adresse IP statique avec un masque de sous-réseau spécifique et une passerelle par défaut, les trois codes étant codés en dur dans le script..

Pour tous les exemples de code répertoriés dans cet article, veillez à ajouter “” au début et “ à la fin, sinon le code ne fonctionnera pas.
Voici le script de changement d'adresse IP statique:

Option Explicit On Error Resume Next Dim objWMIService Dim ob obNetAdapter Dim strComputer Dim arrIP Address Dim arrSubnetMask Dim arrGateway Dim colNetAdapters Dim errEnableStatic Dim errGateways strComputer = "." arrIPAddress = Array ("192.168.1.106") arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Définissez objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2" ) Définissez colNetAdapters = objWMIService.ExecQuery ("Sélectionnez * à partir de Win32_NetworkAdapterConfiguration où IPEnabled = TRUE") pour Chaque objNetAdapter dans colNetAdapters errEnableStatic = objNetAdapter.EnableStatic (arrIPAddress, arrSubnet). " End If errGateways = objNetAdapter.SetGateways (arrGateway) If not pas errGateways = 0 Then WScript.Echo "Échec de l'affectation de la passerelle." Fin si Suivant WScript.Quit

Ce script utilise le service Windows WMI de Windows pour atteindre l'objectif de modification des paramètres. Vous pouvez voir les trois variables de tableau fixes chargées avec les adresses IP, puis où le script vérifie la “activée” carte réseau. Ensuite, il utilise le “EnableStatic” et “SetGateways” méthodes pour effectuer les modifications requises. Lorsque j'exécute le script sur mon réseau domestique (où j'ai besoin de DHCP), vous pouvez voir où le script a correctement modifié les paramètres de mon adaptateur et j'ai perdu ma connexion Internet..

Après avoir prouvé que la partie statique du script fonctionne, il est temps d'écrire le script qui configurera l'adaptateur sur DHCP afin qu'il détecte automatiquement l'adresse IP du réseau. Voici le script que vous pouvez utiliser pour le faire.

Option Explicit On Error Resume Next Dim objWMIService Dim objNetAdapter Dim strComputer Dim errEnable strComputer = "." Définissez objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Définissez colNetAdapters = objWMIService.ExecQuery ("sélectionnez * dans Win32_NetworkAdapterConfiguration où IPEnabled = TRUE") ) Suivant WScript.Quit

Comme vous pouvez le constater, ce script est beaucoup plus simple. Il utilise également WMI, mais la seule fonction requise est “EnableDHCP”. Ceci est effectué sur la carte réseau actuellement activée. Après avoir enregistré et exécuté ce script, les paramètres de ma carte d’adaptateur sont redevenus DHCP et ma connexion Internet a de nouveau fonctionné..

Donc, maintenant que vous avez le code pour exécuter les deux actions importantes, la partie suivante de cette astuce consistera à demander à l’utilisateur de saisir exactement quelle adresse IP statique il souhaite. Pour réactiver DHCP, vous pouvez demander à l'utilisateur de saisir le mot. “AUTO” pour détecter automatiquement l'IP.
Voici à quoi ressemble ce nouveau script complet intégrant les deux scripts ci-dessus.

Option Explicit On Error Resume Next Dim objWMIService Dim objNetAdapter Dim strComputer Dim arrIPAddress Dim arrSubnetMask Dim arrGateway Dim colNetAdapters Dim errEnableStatic Dim errGateways Dim strInput Dim errFailed errFailed = 0 strInput = InputBox (Adresse de type Adresse statique "). Alors strComputer = "." Définissez objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Définissez colNetAdapters = objWMIService.ExecQuery ("sélectionnez * dans Win32_NetworkAdapterConfiguration où IPEnabled = TRUE") ) Si pas errEnable = 0 alors WScript.Echo "Echec de la définition de DHCP." errFailed = 1 End If Next Else strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Array ("192.168.1.1") Définir objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Définir colNetAdapters = objWMIService.ExecQuery ("Sélectionnez * à partir de Win32_NetworkAdapterConfiguration où IPEnabled = TRUE") pour chaque objNetAdapter dans colNetAdapters errEnableStatic = objNetAdapter.EnableStatic (arrIPAddress, arrSubnetMask) si non errFailed = 1 End If errGateways = objNetAdapter.SetGateways (arrGateway) Si pas errGateways = 0 alors WScript.Echo "Échec de l'affectation de la passerelle." errFailed = 1 End If Next End If If errFailed = 0 Alors WScript.Echo "Paramètres IP modifiés avec succès". Fin si WScript.Quit

Ce script utilise la fonction InputBox pour obtenir l’adresse IP statique ou le “AUTO” commande de l'utilisateur.

Si autre chose que “AUTO” est tapé dans le champ, qui sera utilisé comme chaîne IP statique dans la section de code qui utilise WMI pour définir les paramètres IP statiques de la carte réseau. Il y a aussi un chèque pour le “0” confirmation disant que tout s'est bien passé.

En vérifiant les paramètres de ma carte réseau après avoir exécuté le script, j'ai confirmé que le script avait effectivement modifié les paramètres d'adresse IP statique..

Maintenant, testons le script AUTO. Taper AUTO satisfait à la première condition de la “SI” déclaration vérifiant pour AUTO. Ceci exécute le script alternatif qui active DHCP.

Après avoir exécuté ceci, je suis entré dans les paramètres de mon adaptateur et bien sûr, il a été réinitialisé pour Obtenir une adresse IP automatiquement.

Bien que la tâche puisse être assez simple pour aller dans les paramètres de votre carte réseau et passer en statique ou en DHCP, si vous devez le faire très souvent, cela peut devenir très pénible. Vous pouvez le faire depuis une ligne de commande en utilisant “Netsh”, mais encore une fois, vous devez vous rappeler la syntaxe de la commande.

L'utilisation du script ci-dessus vous permet de créer un utilitaire simple et rapide que vous pouvez utiliser à tout moment pour modifier vos paramètres réseau à la volée..

Vous pensez pouvoir essayer ce script Windows? D'autres idées pour le peaufiner et le rendre encore meilleur? Partagez vos pensées et suggestions dans la section commentaires ci-dessous.

Crédit d'image: codes binaires via Shutterstock




Personne n'a encore commenté ce post.

De la technologie moderne, simple et abordable.
Votre guide dans le monde de la technologie moderne. Apprenez à utiliser les technologies et les gadgets qui nous entourent chaque jour et à découvrir des choses intéressantes sur Internet.