Fórum Ainda sobre firewall windows vista e xp... #2591
05/02/2009
0
"
Olá Fabrício !!!
Para liberar a porta no Firewall basta adicionar uma chave no registro do windows. Ela fica em HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List.
Para fazer isso no delphi faça o seguinte. De uses em Registry. No clique de um botão por exemplo coloque o código abaixo.
var
R:=TRegistry
Ch: String;
begin
Ch := SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOpenPorts\List;
R:=TRegistry.Create;
R.RootKey:=HKEY_LOCAL_MACHINE;
R.OpenKey(Ch,False);
R.WriteString(1010:TCP,1010:TCP:*:Enabled:NOMEDAPORTA:_pfl);
end;
Onde há 1010 substitua pelo número da porta que você quer liberar.
Onde há TCP você poderá usar UDP se for o caso
Onde há NOMEDAPORTA substitua pelo nome que quer dar a exceção.
Bem é isso ai !!
Abs !!!!"
Fabricio Bolzan
Curtir tópico
+ 0Posts
06/02/2009
Wesley Yamazack
procedure TForm1.BitBtn1Click(Sender: TObject);
var
Reg:TRegistry;
CtrlSet:string;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
Reg.OpenKey('SYSTEM\Select', False);
CtrlSet := FormatFloat('000',Reg.ReadInteger('Current'));
Reg.CloseKey;
//Libera a porta 3050 usada pelo Firebird
Reg.OpenKey('SYSTEM\ControlSet' + CtrlSet +
'\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\GloballyOp
enPorts\List', True);
if (not Reg.ValueExists('3050:TCP')) then
Reg.WriteString('3050:TCP','3050:TCP:*:Enabled:Firebird');
Reg.CloseKey;
Reg.Free;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
WinExec('netsh.exe"firewall add portopening protocol=TCP port=3050 name=""Firebird""
mode=ENABLE scope=SUBNET"', SW_SHOW);
end;
Att,
Wesley Y
Gostei + 0
06/02/2009
Fabricio Bolzan
No caso de querer habilitar um atualizadorsql.exe que usa a porta 80 mas o firewall do vista sempre apresenta a mensagem q ele esta tentando acessar a web, manualmente eu faço isso e vai normal o problema eh fazer isso em mais de 200 maquinas, como eu faria, no caso nao eh habilitar uma porta pq a 80 jah eh habilitada e sim habiltar o programa como perguntei anteriormente...
Gostei + 0
06/02/2009
Wesley Yamazack
Vamos la.
1 -Abra um bloco de notas vazio.
2 - Adicione nele a seguinte linha de codigo : netsh firewall add portopening TCP 80 "sql.EXE (Porta)"
3 - Salve este arquivo com a extensão .Bat, exemplo : Arquivo.Bat
4 - Execute este arquivo e vá ate o firewall do windows o mesmo estará adicionado, junto com a porta, e o nome do mesmo.
Att,
Wesley Y
Gostei + 0
06/02/2009
Fabricio Bolzan
Gostei + 0
06/02/2009
Wesley Yamazack
Bom infelizmente para o Vista realmente não tem como não, pois ele tem um sistema de segurança o User Control Account, que solicita confirmação do usuaário para toda alteração feita no registro ou programas desconhecidos que são executados.
A unica opção seria você desabilitar User Control Account, nas maquinas que possuem Windows Vista. esta nova implementação foi desenvolvida pela Microsoft para melhorar o sistema de segurança dos S.O.
Att,
Wesley
Gostei + 0
10/02/2009
Wesley Yamazack
Att,
Wesley Y
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)