quarta-feira, 7 de março de 2012

SCRIPT .VBS - Alterando gateway, sub-rede, dns via script


Obs: Automatizando este script, basta criar uma gpo e editar para iniciar no logon do computador


'Autor:         souza.sluciano
'Script:        Alterar o configurações TCP/IP :
'Versão:       01
'Tipo:           Automatico
'Criacao 2012.03.07
'Modificacao: 2012.03.07
'Modificacao  Luciano
'Descricao:  Alterar o gateway, sub-rede, dns preferencial e dns alternativo
                  'da maquina para rodar em uma gpo 
'============================================

'Objeto WMI (windows management instrumentation). uma classe onde obtemos informacoes do sistema
Set objWMIService = GetObject("winmgmts:\\.\root\cimv2")
Set colNetAdapters = objWMIService.ExecQuery("Select * from Win32_NetworkAdapterConfiguration where IPEnabled=TRUE")

' Mascara da sub-rede
strSubnetMask = Array("255.255.255.0") 'sua sub-rede  
'gateway
strGateway = Array("192.168.0.1") 'seu gateway
strGatewayMetric = Array(1)

'dns preferencial e dns alternativo
strDNS = Array("192.168.0.156","8.8.8.8") 'DNS Preferencial e 'DNS Alternativo

For Each objNetAdapter in colNetAdapters
     errEnable = objNetAdapter.EnableStatic(strIPAddress, strSubnetMask)
     errGateways = objNetAdapter.SetGateways(strGateway, strGatewaymetric)
     objNetAdapter.SetDNSServerSearchOrder strDNS
Next

3 comentários:

  1. Muito bom o script, funcionou legal nas estações com windows XP, mas como fazer funcionar nas estações com Windows 7.

    Grato,
    Julierme

    ResponderExcluir
  2. Esse funciona em Windows 7 também... mas tem que desabilitar o UAC:


    On Error Resume Next

    strComputer = "."
    Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

    Set colNetCards = objWMIService.ExecQuery _
    ("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")

    For Each objNetCard in colNetCards
    arrDNSServers = Array("192.168.0.155", "192.168.1.200")
    objNetCard.SetDNSServerSearchOrder(arrDNSServers)
    Next

    ResponderExcluir