none
Como desativar a placa de rede com um script RRS feed

  • Pergunta

  • Alguem saberia me dizer se existe maneira de desativar a placa de rede do computador com um script?

     

    Desde ja agradeço.

    quarta-feira, 3 de outubro de 2007 18:08

Respostas

  • Fernando, segue o script que você precisa. Se você executar e a placa estiver habilitada o script desabilita. Se você executar e a placa estives desabilitada ele habilita. Ou seja server para os dois casos, habilita e desabilitar a placa de rede.

     

    Code Block

    Dim objCP, objEnable, objDisable, colNetwork, clsConn, clsLANConn, clsVerb
    Dim strNetConn, strConn, strEnable, strDisable, bEnabled, bDisabled, objShell
    strNetConn = "Conexões de rede"
    strConn = "Conexão local"
    strEnable = "&Ativar"
    strDisable = "&Desativar"
    set objShell = createobject("shell.application")
    Set objCP = objShell.Namespace(3)
    Set colNetwork = Nothing
    For Each clsConn in objCP.Items
    If Lcase(clsConn.Name) = LCase(strNetConn) Then
    Set colNetwork = clsConn.getfolder
    Exit For
    End If
    Next

    If colNetwork is Nothing Then
    WScript.Echo "Pasta Network não encontrada"
    WScript.Quit
    End If

    Set clsLANConn = Nothing
    For Each clsConn in colNetwork.Items

    If Instr(LCase(clsConn.name),LCase(strConn)) Then
    Set clsLANConn = clsConn
    Exit For
    End If
    Next

    If clsLANConn is Nothing Then
    WScript.Echo "Nenhuma conexão de rede encontrada"
    WScript.Quit
    End If

    bEnabled = True
    Set objEnable = Nothing
    Set objDisable = Nothing

    For Each clsVerb in clsLANConn.verbs
    wscript.echo clsVerb.name & " = " & strEnable
    If clsVerb.name = strEnable Then
    Set objEnable = clsVerb
    bEnabled = False
    End If
    If clsVerb.name = strDisable Then

    Set objDisable = clsVerb
    End If
    Next

    If bEnabled Then
    objDisable.DoIt
    Else
    objEnable.DoIt
    End If

    wscript.sleep 1000

     

     

     

     

    quinta-feira, 4 de outubro de 2007 13:03
  • Sei que esse post já é meio velho, mas vale postar...

    Segue abaixo comandos para desativar e ativar a placa de rede.

    netsh interface set interface "Nome_da_interface" disabled
    Ex: netsh interface set interface "conexão local" disabled

    Para ativar a placa de rede...

    netsh interface set interface "Nome_da_interface" enabled
    Ex: netsh interface set interface "conexão local" enabled


    Paulo Carbonari
    segunda-feira, 16 de fevereiro de 2009 14:28

Todas as Respostas

  •  tm.fernando wrote:

    Alguem saberia me dizer se existe maneira de desativar a placa de rede do computador com um script?

     

    Desde ja agradeço.

     

    Opa, essa pergunta serve para mim tb.

    Mas preciso que o script desative no logoff e depois ative novamente (para deixar conectividade para o prox usuario).

     

    Sleep

    quarta-feira, 3 de outubro de 2007 18:14
  • Fernando, segue o script que você precisa. Se você executar e a placa estiver habilitada o script desabilita. Se você executar e a placa estives desabilitada ele habilita. Ou seja server para os dois casos, habilita e desabilitar a placa de rede.

     

    Code Block

    Dim objCP, objEnable, objDisable, colNetwork, clsConn, clsLANConn, clsVerb
    Dim strNetConn, strConn, strEnable, strDisable, bEnabled, bDisabled, objShell
    strNetConn = "Conexões de rede"
    strConn = "Conexão local"
    strEnable = "&Ativar"
    strDisable = "&Desativar"
    set objShell = createobject("shell.application")
    Set objCP = objShell.Namespace(3)
    Set colNetwork = Nothing
    For Each clsConn in objCP.Items
    If Lcase(clsConn.Name) = LCase(strNetConn) Then
    Set colNetwork = clsConn.getfolder
    Exit For
    End If
    Next

    If colNetwork is Nothing Then
    WScript.Echo "Pasta Network não encontrada"
    WScript.Quit
    End If

    Set clsLANConn = Nothing
    For Each clsConn in colNetwork.Items

    If Instr(LCase(clsConn.name),LCase(strConn)) Then
    Set clsLANConn = clsConn
    Exit For
    End If
    Next

    If clsLANConn is Nothing Then
    WScript.Echo "Nenhuma conexão de rede encontrada"
    WScript.Quit
    End If

    bEnabled = True
    Set objEnable = Nothing
    Set objDisable = Nothing

    For Each clsVerb in clsLANConn.verbs
    wscript.echo clsVerb.name & " = " & strEnable
    If clsVerb.name = strEnable Then
    Set objEnable = clsVerb
    bEnabled = False
    End If
    If clsVerb.name = strDisable Then

    Set objDisable = clsVerb
    End If
    Next

    If bEnabled Then
    objDisable.DoIt
    Else
    objEnable.DoIt
    End If

    wscript.sleep 1000

     

     

     

     

    quinta-feira, 4 de outubro de 2007 13:03
  • Muito obrigado, o script funcionou maravilhosamente bem, a unica alteração que tive que fazer foi retirar os Echo, mas no mais tudo certo. Novamente obrigado.

     

     

    quinta-feira, 4 de outubro de 2007 15:53
  • Bruno, boa tarde!

     

    Gostaria de mais um empurrãozinho seu, se possivel, pois executei este script e não funcionou. Também, não sei se ele precisa ser alterado para o que preciso.

     

    Na verdade eu queria o seguinte: tenho um micro (XP) em casa, conectado no Velox, onde queria um script para impedir o acesso a internet todos os dias, em um determinado periodo do dia (das 22h as 6h). Já tentei conseguir um script para bloquear a porta 80, sem sucesso. Dai pensei em desabilitar a placa de rede, mas também não consegui com esse script.

     

    Pensei em utilizar dois scripts (um para desabilitar e outro para habilitar). Dessa forma eu configuraria em "tarefas agendadas" um que desabilitasse as 22h e outro para habilitar as 6h.

     

    Teria como me ajudar, pois sou leigo nessa parte de script!

     

     

    Valeu!

    sexta-feira, 29 de fevereiro de 2008 18:54
  • Ele não funcioa no Windows server 2003 Enterprise x64 Edition

    Poderia verificar para mim isso ?

    quarta-feira, 2 de julho de 2008 16:08
  • O script está para sistema operacional em português. Se o seu servidor for em inglês, troque os strings para:

     

    strNetConn = "Network Connections"
    strConn = "Local Area Connection" ou no meu caso uma placa específica chamada "Internet Connection"
    strEnable = "En&able"
    strDisable = "Disa&ble"

     

    No meu servidor funcionou.

     

     

    sexta-feira, 8 de agosto de 2008 21:42
  • Sei que esse post já é meio velho, mas vale postar...

    Segue abaixo comandos para desativar e ativar a placa de rede.

    netsh interface set interface "Nome_da_interface" disabled
    Ex: netsh interface set interface "conexão local" disabled

    Para ativar a placa de rede...

    netsh interface set interface "Nome_da_interface" enabled
    Ex: netsh interface set interface "conexão local" enabled


    Paulo Carbonari
    segunda-feira, 16 de fevereiro de 2009 14:28
  • Só funciona no Windows 2003 Server?
    Comigo não funcionou no Windows XP. Fiz todas as alterações necessárias com relação aos nomes em Inglês...:-(
    quarta-feira, 15 de abril de 2009 20:59
  • Aqui funciona no XP. Verifique os nomes dos parâmetros:

    netsh interface set interface name="Local Area Connection" disabled


    []s,

    Vinicius Canto
    MVP Admin Frameworks
    http://viniciuscanto.blogspot.com
    Vinicius Canto MVP Admin Frameworks Blog: http://viniciuscanto.blogspot.com
    sexta-feira, 17 de abril de 2009 03:33
    Moderador