2013-03-25 35 views
5

Bir .EXE dosyasına sağ tıklattığınızda, içerik menüsüne "Güvenlik Duvarı Ekle" ekleyen bir .REG dosyası için aşağıdaki kod kodunu aldım. Bu, elle yaptığınız yerine, seçtiğiniz belirli bir dosya için windows güvenlik duvarında bir Outbound Rule oluşturur. Güvenlik duvarı yerine sadece basit test.exeİçindekiler menüsü ile Windows Güvenlik Duvarı'nda EXE Blok.

adı olarak pencerelerde:

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\exefile\shell] 

[HKEY_CLASSES_ROOT\exefile\shell\Add To Firewall] 

[HKEY_CLASSES_ROOT\exefile\shell\Add To Firewall\command] 
@="netsh advfirewall firewall add rule name=\"%1\" dir=out action=block program=\"%1\"" 

http://oi46.tinypic.com/2rgnxaf.jpg

Sorunum şu sözdizimi name=\"%1\" tam dizin (Yeni klasör \ test.exe \ C) sağlamasıdır

Aramak istediğim bir diğer özellik, normal sağ tıklama yerine bir sağ tıklama fare tıklaması eklemek, çünkü ben her zaman sağ tıklattığım her seferinde görmek istediğim özelliği gerçekten kullanmıyorum. EXE

PS. İçerik menüsünden tekrar kaldırmak için aşağıdakileri çalıştırın.

+0

Kaynak bağlantısı - http://maketecheasier.com/block-application-access-to-internet-from-context-menu/2011/01/11 – zyl1647

cevap

7

şu sen soruyorsun tam olarak ne yapacak), ancak bu UAC devre dışı olmasını gerektirir;

Windows Registry Editor Version 5.00 


[-HKEY_CLASSES_ROOT\exefile\shell\Add To Firewall] 

Umut birinden ve önceden buradan büyük bir teşekkür duymak. Bir komut dosyası oluşturmadan veya thirdpartytools'u kullanmadan veya runas anahtarının üzerine yazmadan, bir UAC istemi oluşturabileceğinizi düşünmüyorum.

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\exefile\shell\firewallblock] 
@="Add to Firewall"   ; String to be displayed in context menu 
"HasLUAShield"=""   ; Adds UAC shield icon to the left of the command 
"Extended"=""    ; Requires shift to be held when right-clicking 

[HKEY_CLASSES_ROOT\exefile\shell\firewallblock\command] 
@="cmd.exe /s /c for %%a in (\"%1\") do netsh advfirewall firewall add rule name=\"%%~na\" dir=out action=block program=\"%%~nxa\"" 

Ben nedeniyle döngü işlevselliği FOR komut değil kullanmak ama bana parameter extensions erişebilmelerini sağladığından, durmak için.( x:\fully\qualified\path\filename.exe değeri vardır) %%~nxa ile filename.exe ve %%~na kullanmak için filename kullanmak için değiştirin. UAC şeyler, ben

@="elevate.exe -c for %%a in (\"%1\") do netsh advfirewall firewall add rule name=\"%%~na\" dir=out action=block program=\"%%~nxa\"" 
Umarım yardımcı olur .: ör sadece yukarıda belirtilenler üçüncü taraf araçlardan birini kullanın ve buna göre komutunu değiştirmek istiyorum gelince

!

+0

Sweet! iyi çalışıyor, n hepsi çok güzel açıkladı. Teşekkürler;) Normalde UAC etkin olmayan pencereleri çalıştırıyorum, bu yüzden sadece ilk seçeneğinizle gitti. – zyl1647

+0

Teşekkür ederiz! Minör problemim vardı: Kodunuz program.exe için yolsuz bir kural ekledi, böylece programa hala izin verildi. Çalıştırmak için %% ~ nxa yerine 1 $ kullandım: '@ = cmd.exe/s/c için %% a (\"% 1 \ ") yap netsh advfirewall güvenlik duvarı kural ekle = \" Block% % ~ na \ "dir = çıkış eylemi = blok programı = \"% 1 \ "" ' – Juhani