Propaganda

alterar script de configurações de redeEsta semana, me deparei com um problema interessante. Em muitos escritórios ou ambientes de trabalho, pode ser necessário redefinir suas configurações de rede para conectar-se a redes diferentes. Por exemplo, algumas pessoas levam o laptop para casa e possuem um IP estático configurado especificamente para essa máquina. No entanto, como a rede de trabalho geralmente é DHCP, isso exige que a pessoa continue alterando as configurações de rede entre um IP estático ou DHCP automático, dependendo de onde estiverem.

Um problema mais comum é para engenheiros ou equipe de TI que geralmente precisam se conectar a dispositivos ou máquinas em uma pequena rede dentro de um edifício. Para se conectar a essa rede isolada, você deve alterar as configurações de rede para um IP estático. Mais tarde, quando você se reconecta à rede corporativa, ela volta ao DHCP novamente.

Eu me encontrei nessa situação com bastante frequência e estava cansado de navegar até a placa de rede, abrindo as configurações de IP e fazendo essas edições, decidi que era hora de montar um script VB que faria tudo em um ou dois cliques. Se você acompanhou meus artigos de programação, sabe que adoro scripts VB. Uma vez eu usei isso para

criar um computador possuído Crie um computador possuído esquisito com o Windows Script For HalloweenHá muitas brincadeiras divertidas que você pode jogar com seus amigos em um computador. Você provavelmente já viu todos esses vídeos assustadores do YouTube que as pessoas se reúnem para um bom susto ... consulte Mais informação e também costumava automatizar o Microsoft SyncToy Como criar uma ferramenta de backup de dados com o SyncToy & VB ScriptCobrimos muitas soluções de backup aqui no MUO, e todas essas soluções são ótimas, mas se você estiver trabalhando em um ambiente desconfiado sobre pacotes de software gratuitos de terceiros ou empresas ... consulte Mais informação para backups de dados.

Também é possível realizar essa tarefa com o script VB, e ainda é possível torná-la flexível o suficiente para poder aceitar a entrada do usuário para o endereço IP estático. Neste artigo, mostrarei como fazer isso em três seções.

Criando um script de alteração de configuração de rede

Há três tarefas principais que você precisa realizar com o script para criar este pequeno aplicativo para alternar as configurações de rede. A primeira é usar o script para criar configurações IP estáticas. O próximo é criar um script para ativar o DHCP. Finalmente, o último é perguntar ao usuário qual tarefa ele deseja executar e usar esse feedback para realizá-lo.

Script VB para definir configurações de IP estático

Lembre-se de que os scripts a seguir precisam ser salvos como um arquivo de texto com uma extensão .wsf para funcionar em um PC com Windows. O script a seguir alterará as configurações de sua rede para um IP estático com uma máscara de sub-rede específica e um gatewall padrão, com os três codificados no script.

Para todos os exemplos de código listados neste artigo, adicione " no final, caso contrário, o código não será executado.
Aqui está o script de alteração de IP estático:

Opção explícita em erro Continuar Avançar Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim arrIPAddress. Dim arrSubnetMask. Dim arrGateway. Dim colNetAdapters. Dim errEnableStatic. Dim errGateways strComputer = "." arrIPAddress = Matriz ("192.168.1.106") arrSubnetMask = Matriz ("255.255.255.0") arrGateway = Matriz ("192.168.1.1") Defina objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Defina colNetAdapters = objWMIService. ExecQuery ("Selecione * de Win32_NetworkAdapterConfiguration em que IPEnabled = TRUE") Para cada objNetAdapter em colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Se não errEnableStatic = 0 Em seguida, WScript. Eco "Falha na atribuição de IP / sub-rede". Fim Se errGateways = objNetAdapter. SetGateways (arrGateway) Se não errGateways = 0 Então WScript. Eco "Falha na atribuição do Gateway". Terminar se seguinte. WScript. Sair

Esse script usa o serviço WMI do Windows no Windows para atingir o objetivo de alterar as configurações. Você pode ver as três variáveis ​​de matriz fixa carregadas com os endereços IP e, em seguida, onde o script verifica a placa de rede "ativada" ativa. Em seguida, ele usa os métodos "EnableStatic" e "SetGateways" para fazer as alterações necessárias. Quando executo o script na minha rede doméstica (onde preciso de DHCP), você pode ver onde o script alterou com êxito as configurações do meu adaptador e perdi minha conexão com a Internet.
Como escrever um script do Windows para alterar as configurações de rede instantaneamente autodhcp1
Depois de provar que a parte do script com IP estático funciona, é hora de escrever o script que definirá o adaptador como DHCP para detectar automaticamente o IP da rede. Aqui está o script que você pode usar para fazer isso.

Opção explícita em erro Continuar Avançar Dim objWMIService. Dim objNetAdapter. Dim strComputer. Dim errEnable strComputer = "." Defina objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Defina colNetAdapters = objWMIService. ExecQuery ("Selecione * de Win32_NetworkAdapterConfiguration em que IPEnabled = TRUE") Para cada objNetAdapter em colNetAdapters errEnable = objNetAdapter. EnableDHCP () Próximo WScript. Sair

Como você pode ver, esse script é muito mais simples. Ele também usa WMI, mas a única função necessária é "EnableDHCP". Isso é realizado no adaptador de rede atualmente ativado. Depois de salvar e executar esse script, minhas configurações da placa adaptadora voltaram ao DHCP e minha conexão com a Internet estava funcionando novamente.
alterar script de configurações de rede
Portanto, agora que você tem o código para executar as duas ações importantes, a próxima parte deste truque será receber informações do usuário para determinar exatamente qual IP estático ele deseja. Para reativar o DHCP, você pode solicitar ao usuário que digite a palavra "AUTO" para detectar automaticamente o IP.
Veja como é esse novo script completo que incorpora os dois scripts acima.

Opção explícita em erro Continuar Avançar 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 ("Digite endereço IP estático ou AUTO") Se strInput = "AUTO" Então strComputer = "." Definir objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Definir colNetAdapters = objWMIService. ExecQuery ("Selecione * de Win32_NetworkAdapterConfiguration em que IPEnabled = TRUE") Para cada objNetAdapter em colNetAdapters errEnable = objNetAdapter. EnableDHCP () Se não errEnable = 0 Então WScript. Eco "Falha na configuração do DHCP". errFailed = 1 End If Next. Outro strComputer = "." arrIPAddress = Matriz (strInput) arrSubnetMask = Matriz ("255.255.255.0") arrGateway = Matriz ("192.168.1.1") Defina objWMIService = GetObject ("winmgmts: \\" & strComputer & "\ root \ cimv2") Defina colNetAdapters = objWMIService. ExecQuery ("Selecione * de Win32_NetworkAdapterConfiguration em que IPEnabled = TRUE") Para cada objNetAdapter em colNetAdapters errEnableStatic = objNetAdapter. EnableStatic (arrIPAddress, arrSubnetMask) Se não errEnableStatic = 0 Em seguida, WScript. Eco "Falha na atribuição de IP / sub-rede". errFailed = 1 Fim Se errGateways = objNetAdapter. SetGateways (arrGateway) Se não errGateways = 0 Então WScript. Eco "Falha na atribuição do Gateway". errFailed = 1 Fim Se Próximo Fim Se Se errFailed = 0 Então WScript. Eco "Configurações de IP modificadas com sucesso". Fim Se WScript. Sair

Este script usa a função InputBox para obter o IP estático ou o comando "AUTO" do usuário.
alterar script de configurações de rede

Se algo diferente de "AUTO" for digitado no campo, será usada como a sequência de caracteres de IP estático na seção de código que usa o WMI para definir as configurações de IP estático para o adaptador de rede. Também há uma verificação para a confirmação "0" dizendo que tudo correu bem.

script para alterar as configurações de rede

Verificando as configurações da minha placa de rede após executar o script, confirmei que o script realmente fazia as alterações de configuração de IP estático.
script para alterar as configurações de rede
Agora, para testar o script AUTO. Digitar AUTO satisfaz a primeira condição na instrução "SE", verificando AUTO. Isso executa o script alternativo que habilita o DHCP.

script para alterar as configurações de rede

Depois de executar isso, entrei nas configurações do adaptador e, com certeza, ele foi definido como Obter um endereço IP automaticamente.
script para mudar de rede
Embora possa ser uma tarefa bastante simples entrar nas configurações da sua placa de rede e mudar para estático ou DHCP, se você precisar fazer isso com muita frequência, pode se tornar um problema real. Você pode fazer isso a partir de uma linha de comando usando "netsh", mas, novamente, é necessário lembrar a sintaxe de comando.

O uso do script acima permite criar um utilitário rápido e fácil que você pode usar a qualquer momento para alterar suas configurações de rede rapidamente.

Pense que você pode experimentar este script do Windows? Alguma outra idéia para ajustá-lo e torná-lo ainda melhor? Compartilhe seus pensamentos e sugestões na seção de comentários abaixo.

Crédito de imagem:Códigos binários via Shutterstock

Ryan é bacharel em Engenharia Elétrica. Ele trabalhou 13 anos em engenharia de automação, 5 anos em TI e agora é engenheiro de aplicativos. Um ex-editor-chefe do MakeUseOf, ele falou em conferências nacionais sobre visualização de dados e foi destaque na TV e rádio nacional.