none
Verificar se o Firewall está ativo e liberar uma porta

    Question

  • Caros amigos,

    Como posso, em VB6, verificar se o Firewall do Windows está ativo? E, descobrindo que o sistema está ativo, como posso adicionar uma porta?

    O ideal seria montar em Vb6, mas se for necessário utilizar o Vb.Net estou aberto a sugestões.

    Agradeço a atenção.

    Wagner


    Wagner
    Thursday, July 02, 2009 8:44 PM

Answers

  • Caros amigos,

    Encontrei a solução para meu problema e acho que outros poderão aproveitá-la.
    Primeiro, como descobrir se o Firewall está ativo

    strComputer = "."
    Set oreg = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\default:StdRegProv")
    strKeyPath = "System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile"
    strValueName = "EnableFirewall"
    oreg.GetDWORDValue HKEY_LOCAL_MACHINE, strKeyPath, strValueName, dwnumber
    If dwnumber = 1 Then
         Msgbox "Firewall do Windows ativo"
    end IF

    Se precisar adicionar portas no Firewall - Windows XP
    Crie uma chave de registro do tipo String seguindo as informações do exemplo abaixo:
    Chave: HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List"
    Valor da sequencia: 3500:TCP (Essa chave criará uma exceção para a porta TCP 3500).
    Dados do valor: 3500:TCP:*:Enabled:MinhaPorta (a exceção terá o nome de MinhaPorta

    Se precisar adicionar portas no Firewall - Windows Vista ou Windows 7
    Será necessário executar uma instrução no cmd
    netsh advfirewall firewall add rule name="MinhaPorta" protocol=TCP dir=in localport=3500 action=allow

    No meu caso, criei um arquivo de lote.

    Espero ter ajuda.

    Wagner
    Wagner
    Monday, July 13, 2009 6:03 PM