none
Como modificar o IP do WINS via script? RRS feed

  • Pergunta

  • Boas pessoal,

     

    Tenho que modificar o ip do wins em 15000 máquinas clientes e estive a pesquisar o que poderia ajudar, para a criação de um script que executasse esta modificação.

     

    Encontrei um exemplo de um .vbs 

    ---------------------------------------------------------------------------------------------------

    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
        strPrimaryServer = "192.168.1.100"
        strSecondaryServer = "192.168.1.200"
        objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
    Next
    ----------------------------------------------------------------------------------------------------

     

    Mas gostava de saber se é mesmo o método mais fácil, se não existe antes um script .BAT que fosse mais fácil de entender?

     

    Este script, basta adicionar por group policie no startup?

     

    Será que me podiam ajudar?

     

    Cumprimentos,

     

    Miguel

    quarta-feira, 21 de maio de 2008 13:59

Respostas

  • Miguel, fiz um teste aqui e ele funcionou sim, porém você tem que colocar dessa forma aqui:

     

    On Error Resume Next

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

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

    For Each objNetCard in colNetCards
        strPrimaryServer = "10.1.1.150"
        strSecondaryServer = ""
        objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
    Next

     

    o comando setWinsserver, parece que exige dois servidores, colocando o segundo como vazio, ele só adiciona um Wink

    quarta-feira, 21 de maio de 2008 17:29

Todas as Respostas

  • Miguel, este o metodo mais eficiente, para o seu caso, já que são 15000 máquinas, basta somente você colocar esse script como script de logon que ele vai mudar em todas as placas derede para os endereços que você especificar como endereço wins Wink, via bat, você poderia usar o comando netsh porém todas as interfaces de rede teriam que ter o mesmo nome, como por exemplo "conexão de rede local" Wink

    quarta-feira, 21 de maio de 2008 14:56
  • Caro Laerte,

     

    A minha questão é que quando adiciono o .vbs ao startup, não modifica nada. O script que mostrei era o exemplo que a Microsoft fornece, o que eu tenho é este:

     

    ------------------------------------------------------------------------------------------

    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
        strPrimaryServer = "10.0.0.150"
        objNetCard.SetWINSServer strPrimaryServer
    Next

    --------------------------------------------------------------------------------------------

     

    Neste script eu retiro a opção do secondary wins, pois só necessito de um wins e coloco o ip. O script está na pasta startup e quando faço Logoff / Login não altera nada.

     

    Será que estou a fazer algo de errado?

     

    Cumprimentos,

     

    Miguel

    quarta-feira, 21 de maio de 2008 15:10
  • Miguel, os ips, vc obtem de DHCP ou estão estáticos?

    quarta-feira, 21 de maio de 2008 15:49
  • São estáticos...

     

    Cumprimentos,

     

    Miguel

     

    quarta-feira, 21 de maio de 2008 15:55
  • Miguel, coloque dessa forma

     

    On Error Resume Next

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

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

    For Each objNetCard in colNetCards
        strPrimaryServer = "10.0.0.150"
        objNetCard.SetWINSServer strPrimaryServer
    Next

    quarta-feira, 21 de maio de 2008 16:27
  • Laerte,

     

    O .vbs não está a funcionar, fiz um reboot e mesmo assim não funcionou.

    Entretanto utilizei esta linha de comando em .bat e funcionou na minha máquina de testes.

     

    -------------------------------------------------------------

    netsh interface ip set wins "Local Area Connection" static 10.177.0.150

    -------------------------------------------------------------

     

    Mesmo assim vou testanto se realmente funcionará em todas as máquinas.

     

    Obrigado.

     

    Abraço

     

    Miguel

    quarta-feira, 21 de maio de 2008 16:45
  • Miguel, fiz um teste aqui e ele funcionou sim, porém você tem que colocar dessa forma aqui:

     

    On Error Resume Next

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

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

    For Each objNetCard in colNetCards
        strPrimaryServer = "10.1.1.150"
        strSecondaryServer = ""
        objNetCard.SetWINSServer strPrimaryServer, strSecondaryServer
    Next

     

    o comando setWinsserver, parece que exige dois servidores, colocando o segundo como vazio, ele só adiciona um Wink

    quarta-feira, 21 de maio de 2008 17:29
  •  

    Boas Laerte,

     

    Funciona sim senhor, tanto com .bat como com .vbs  precisava mesmo de adicionar essa linha.

     

    Obrigado.

     

    Cumps,

     

    Miguel

    sexta-feira, 23 de maio de 2008 14:17
  • Olá!

    Gostaria de saber como faço pra adicionar o terceiro e o quarto WINS com esse script?

    Abs

    quinta-feira, 27 de junho de 2013 17:59