[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[网络连接] 批处理如何阻止与解除某个exe进程的联网?

本帖最后由 wh123wh123 于 2021-7-22 00:03 编辑

批处理如何阻止与解除某个exe进程的联网(假如程序名称为:AAA.exe,不是结束进程,只是暂时阻止联网即可)?
想通过BAT或VBS实现,间隔5秒钟阻断一次exe联网,然后过8秒钟解除允许联网,再过5秒钟再次阻断联网,以此类推循环执行。
能不能实现这样的功能?求完整代码。
最好有显示执行情况,也就是显示当前循环执行第几次了

本帖最后由 wh123wh123 于 2021-7-21 23:51 编辑

回复 2# idwma
不得结束进程,只要求暂时阻止联网即可,过几秒钟再放行,循环的,另外能不能增加显示第几次循环执行命令?exe程序名称怎么加入到代码里?

TOP

回复 3# newswan


    aaa是啥?是程序名称吗?能不能显示当前执行第几次?

TOP

回复 3# newswan


    脚本:        C:\Users\Administrator\Desktop\新建文本文档.vbs
行:        1
字符:        1
错误:        缺少语句
代码:        800A0400
源:         Microsoft VBScript 编译器错误

TOP

回复 2# idwma


    为什么运行后闪一下就窗口消失了?

TOP

回复 9# idwma
新建.ps1这样?运行后直接打开的是代码啊,并没有实际运行,能不能弄成bat或vbs的

TOP

本帖最后由 wh123wh123 于 2021-7-22 00:57 编辑

回复 2# idwma

为什么运行后所有程序都无法联网了?我只要求阻止某一个程序,例如AAA.exe

另外代码里面的  netsh advfirewall firewall add rule name="阻断一次" dir=out action=allow program="d:\阻断一次.exe" enable=yes
"d:\阻断一次.exe"这个是啥?是代码自动生成的阻断程序还是要阻断的程序路径名称?
name="阻断一次" 是代表进程名称?还是啥意思
能不能显示当前执行第几次,间隔时间等?

TOP

在线期待老师完整代码

TOP

回复 13# newswan

能不能弄成可以控制的(因为运行后无法控制,只能结束进程和关闭防火墙才行),可以设定例如AAA.exe某一个程序而不影响其他程序的联网的那种,

TOP

回复 13# newswan

高级安全防火墙里的出站规则里没有要阻止的程序名称,求完整代码

TOP

间隔5秒钟阻断一次exe联网,阻断等待8秒钟再解除允许联网,再过5秒钟再次阻断联网,以此类推循环执行。

TOP

本帖最后由 wh123wh123 于 2021-7-22 01:53 编辑

回复 19# newswan

$program = "D:\program files\mobaxterm\root\slash\bin\xwin_mobax.exe"这是需要阻止的程序名称吗?是不是只需修改这里即可?
DisplayName "bbb"下面的这2处bbb是啥?需要修改吗?

TOP

回复 21# newswan

DisplayName "bbb"下面的这2处bbb是啥?需要修改吗?

TOP

回复 21# newswan

代码保存为:新建文本文档.ps1  这样吗?为什么运行后闪了一下就消失了,需要阻止的程序依然正常联网,没效果

TOP

本帖最后由 wh123wh123 于 2021-7-22 02:35 编辑

回复 24# newswan

你的意思是加入第一行后把下面代码保存为bat?然后运行即可只对D:\AAA.exe阻止和放行?

    @powershell -c "Get-Content '%~0' | Select-Object -Skip 1 | Out-String | Invoke-Expression" & pause & exit
$program = "D:\AAA.exe"
New-NetFirewallRule -DisplayName "bbb" -Profile Private,Public -Direction Outbound -Program $program -Action block
$count = 0
do
{
    $count += 1
    write-host "count:" $count
    Enable-NetFirewallRule -DisplayName "bbb"
    start-sleep 5
    disable-NetFirewallRule -DisplayName "bbb"
    start-sleep 8
}
while {$true}

TOP

返回列表