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 emportent leur ordinateur portable avec elles et ont une adresse IP statique configurée spécifiquement pour cette machine. Cependant, comme le réseau de travail est généralement DHCP, cela nécessite que la personne continue de changer les paramètres réseau entre une adresse IP statique ou DHCP automatique selon l'endroit où ils se trouvent.
Un problème plus courant concerne les ingénieurs ou le personnel informatique qui ont souvent besoin de se connecter à des appareils ou des machines sur un petit réseau dans un bâtiment. Pour vous connecter à ce réseau isolé, vous devez modifier vos paramètres réseau en une adresse IP statique. Plus tard, lorsque vous vous reconnectez au réseau d'entreprise, il revient à DHCP.
Je me suis retrouvé assez souvent dans cette situation et je me suis tellement fatigué de naviguer sur la carte réseau, ouvrant les paramètres IP et faire ces modifications, que j'ai décidé qu'il était grand temps de mettre en place un script VB qui ferait tout en un ou deux clics. Si vous avez suivi mes articles de programmation, vous savez que j'aime les scripts VB. Je l'ai utilisé pour
créer un ordinateur possédé Créez un ordinateur possédé bizarre avec le script Windows pour HalloweenIl y a beaucoup de farces amusantes que vous pouvez jouer avec vos amis avec un ordinateur. Vous avez probablement vu toutes ces vidéos YouTube effrayantes que les gens se transmettent pour faire peur ... Lire la suite , et aussi utilisé pour automatiser Microsoft SyncToy Comment créer un outil de sauvegarde de données avec SyncToy et le script VBNous avons couvert de nombreuses solutions de sauvegarde ici à MUO, et toutes ces solutions sont excellentes, mais si vous travaillez dans un environnement qui se méfie des logiciels gratuits tiers ou des entreprises ... Lire la suite pour les sauvegardes de données.Il est également possible d'accomplir cette tâche avec le script VB, et il est même possible de le rendre suffisamment flexible pour qu'il puisse accepter l'entrée utilisateur pour l'adresse IP statique. Dans cet article, je vais vous montrer comment le faire en trois sections.
Création d'un script de modification des paramètres réseau
Il y a trois tâches principales que vous devez accomplir avec le script afin de créer cette petite application pour changer les paramètres réseau. La première consiste à utiliser le script pour créer des paramètres IP statiques. La prochaine consiste à proposer un script pour activer DHCP. Enfin, la dernière consiste à demander à l'utilisateur quelle tâche il souhaite effectuer, puis à utiliser ces commentaires pour l'accomplir.
Script VB pour définir les paramètres IP statiques
N'oubliez pas que les scripts suivants doivent être enregistrés en tant que fichier texte avec une extension .wsf pour fonctionner sur un PC Windows. Le script suivant changera vos paramètres réseau en une adresse IP statique avec un masque de sous-réseau spécifique et un pare-feu par défaut, les trois étant codés en dur dans le script.
Pour tous les exemples de code répertoriés dans cet article, assurez-vous d'ajouter "
Voici le script de changement d'adresse IP statique:
Option Explicit On Error Resume Next Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. 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") Set objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Définissez colNetAdapters = objWMIService. ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = TRUE") Pour chaque objNetAdapter dans colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Si non errEnableStatic = 0 Alors WScript. Echo "Échec de l'attribution de l'IP / du sous-réseau". End If errGateways = objNetAdapter. SetGateways (arrGateway) Sinon errGateways = 0 Alors WScript. Écho «Échec de l'attribution de la passerelle». Fin si suivant. WScript. Quitter
Ce script utilise le service Windows WMI dans Windows pour atteindre l'objectif de modification des paramètres. Vous pouvez voir les trois variables de tableau fixe chargées avec les adresses IP, puis où le script vérifie la carte réseau «activée» active. Il utilise ensuite les méthodes "EnableStatic" et "SetGateways" 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 réussi à modifier mes paramètres d'adaptateur et j'ai perdu ma connexion Internet.
Après avoir prouvé que la partie IP statique du script fonctionne, il est temps d'écrire le script qui définira l'adaptateur sur DHCP afin qu'il détecte automatiquement l'IP du réseau. Voici le script que vous pouvez utiliser pour ce 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 ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = TRUE") Pour chaque objNetAdapter dans colNetAdapters errEnable = objNetAdapter. EnableDHCP () Suivant WScript. Quitter
Comme vous pouvez le voir, ce script est beaucoup plus simple. Il utilise également WMI, mais la seule fonction requise est «EnableDHCP». Cette opération est effectuée sur la carte réseau actuellement activée. Après avoir enregistré et exécuté ce script, les paramètres de ma carte adaptateur sont redevenus DHCP et ma connexion Internet fonctionnait à nouveau.
Donc, maintenant que vous avez le code pour effectuer les deux actions importantes, la prochaine partie de cette astuce consistera à prendre les informations de l'utilisateur pour déterminer exactement quelle adresse IP statique il souhaite. Pour réactiver DHCP, vous pouvez demander à l'utilisateur d'entrer 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 ("Type Adresse IP statique ou AUTO") Si strInput = "AUTO" Alors strComputer = "." Définir objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Définir colNetAdapters = objWMIService. ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = TRUE") Pour chaque objNetAdapter dans colNetAdapters errEnable = objNetAdapter. EnableDHCP () If Not errEnable = 0 Then WScript. Écho «Échec de la configuration du DHCP». errFailed = 1 End If Next. Sinon strComputer = "." arrIPAddress = Array (strInput) arrSubnetMask = Array ("255.255.255.0") arrGateway = Tableau ("192.168.1.1") Définir objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Définir colNetAdapters = objWMIService. ExecQuery ("Select * from Win32_NetworkAdapterConfiguration where IPEnabled = TRUE") Pour chaque objNetAdapter dans colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Si non errEnableStatic = 0 Alors WScript. Echo "Échec de l'attribution de l'IP / du sous-réseau". errFailed = 1 End If errGateways = objNetAdapter. SetGateways (arrGateway) Sinon errGateways = 0 Alors WScript. Écho «Échec de l'attribution de la passerelle». errFailed = 1 End If Next End If If errFailed = 0 Then WScript. Echo «Paramètres IP modifiés avec succès». Fin si WScript. Quitter
Ce script utilise la fonction InputBox pour obtenir l'adresse IP statique ou la commande «AUTO» de l'utilisateur.
Si autre chose que «AUTO» est tapé dans le champ, cela 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 également une vérification pour la confirmation «0» indiquant 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 IP statiques.
Maintenant pour tester le script AUTO. Taper AUTO satisfait la première condition de l'instruction "IF" vérifiant AUTO. Cela exécute le script alternatif qui active DHCP.
Après avoir exécuté cela, je suis entré dans les paramètres de mon adaptateur et bien sûr, il a été réinitialisé pour obtenir automatiquement une adresse IP.
Bien que cela puisse être une tâche assez simple pour entrer dans les paramètres de votre carte réseau et passer en statique ou DHCP, si vous devez le faire très souvent, cela peut devenir une vraie douleur. Vous pouvez le faire à partir d'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 rapide et facile que vous pouvez utiliser à tout moment pour changer vos paramètres réseau à la volée.
Vous pensez que vous pourriez essayer ce script Windows? Avez-vous d'autres idées pour le peaufiner et le rendre encore meilleur? Partagez vos pensées et suggestions dans la section des commentaires ci-dessous.
Crédit d'image:Codes binaires via Shutterstock
Ryan est titulaire d'un BSc en génie électrique. Il a travaillé 13 ans dans l'ingénierie d'automatisation, 5 ans dans l'informatique et est maintenant ingénieur d'applications. Ancien rédacteur en chef de MakeUseOf, il a pris la parole lors de conférences nationales sur la visualisation des données et a été présenté à la télévision et à la radio nationales.