使用上下文菜单阻止Windows防火墙中的.EXE

时间:2013-03-25 01:10:51

标签: regex windows-firewall regedit

我为.REG文件获得了以下一些代码,该文件在右键单击.EXE文件时将“添加到防火墙”添加到上下文菜单中。它只是在Windows防火墙中为您选择的特定文件创建一个出站规则,而不是手动执行。

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

我的问题是以下语法name=\"%1\"在Windows防火墙中给出了完整目录(C:\ New folder \ test.exe)的名称,而不仅仅是一个简单的test.exe

我正在寻找的另一个功能是将它全部添加到右键单击鼠标而不是正常的右键单击,因为我真的不使用经常这样的功能,所以每次我点击它时我都会看到它。 EXE

PS。运行以下命令将其再次从上下文菜单中删除。

Windows Registry Editor Version 5.00


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

希望听到某人的意见,并提前向此致谢;)

1 个答案:

答案 0 :(得分:6)

以下内容将完全符合您的要求,但它要求您禁用UAC。如果不创建脚本文件或使用third party tools,或者覆盖runas密钥,我认为您无法创建UAC提示。< / p>

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\""

详细说明,我使用FOR命令不是因为它的循环功能,而是因为它让我可以访问parameter extensions。我使用%%a修改x:\fully\qualified\path\filename.exe(我们称其值为%%~nxa)以使用filename.exe%%~na来使用filename

至于UAC的东西,我只使用上面提到的那些第三方工具之一并相应地更改命令,例如:

@="elevate.exe -c for %%a in (\"%1\") do netsh advfirewall firewall add rule name=\"%%~na\" dir=out action=block program=\"%%~nxa\""

希望它有所帮助!

相关问题