当前位置:首页 期刊杂志

用活Netsh命令程序联网轻松控制

时间:2024-05-04

俞木发

Netsh+任务计划程序联网定时控制

对于程序联网的定时控制,我们可以借助Netsh命令和任务计划程序来实现。比如现在需要限制孩子每周一到周五的19:00-22:00点都无法玩网络游戏,假设游戏程序是“C:\Program Files\game.exe”。

先启动任务计划程序,新建一个任务,在创建任务窗口中切换到“常规”选项卡,设置任务的名称为“禁止游戏联网”,同时勾选“使用最高权限运行”复选框。接着切换到“触发器”选项卡,新建一个每周一到周五的19:00点开始运行的任务(图1)。

再切换到“操作”选项卡,新建一个启动程序的操作,设置运行的程序为“C:\Windows\System32\netsh.exe”,添加参数为“advfirewall firewall addrule name="noo" dir=out program="C:\ProgramFiles (x86)\game.exe" action=block”(图2)。

命令解释:

这里使用系统自带的Netsh命令为防火墙添加一个名为“noo”的出站规则,限制的程序是“C:\ProgramFiles(x86)\game.exe"(如果限制其他的程序,請自行更改),限制的操作是“阻止连接”(即action=block)。

同上再新建一个取消限制的任务计划,开始时间设置为每周一到周五的22:00点(假设孩子在这个时间段已经入睡)。运行的命令也是netsh.exe,参数为“netsh advfirewall firewall set rulename="noo" new enable=no”,这个命令的作用是将上述出站规则更改为“允许连接”。

这样在每周一到周五的19:00点之后,指定的游戏程序“C:\Program Files (x86)\game.exe”就无法联网使用了(在22:00点则会取消限制,这样不会影响孩子第二天使用电脑)。运行上述任务后依次打开“高级安全Windows Defender防火墙→出站规则”,在右侧的窗格内就可以看到名为“noo”的规则,正是这条出站规则限制游戏程序的联网使用(图3)。

Netsh+任务计划程序联网定时控制

对于程序联网的定时控制,我们可以借助Netsh命令和任务计划程序来实现。比如现在需要限制孩子每周一到周五的19:00-22:00点都无法玩网络游戏,假设游戏程序是“C:\Program Files\game.exe”。

先启动任务计划程序,新建一个任务,在创建任务窗口中切换到“常规”选项卡,设置任务的名称为“禁止游戏联网”,同时勾选“使用最高权限运行”复选框。接着切换到“触发器”选项卡,新建一个每周一到周五的19:00点开始运行的任务(图1)。

再切换到“操作”选项卡,新建一个启动程序的操作,设置运行的程序为“C:\Windows\System32\netsh.exe”,添加参数为“advfirewall firewall addrule name="noo" dir=out program="C:\ProgramFiles (x86)\game.exe" action=block”(图2)。

命令解释:

这里使用系统自带的Netsh命令为防火墙添加一个名为“noo”的出站规则,限制的程序是“C:\ProgramFiles(x86)\game.exe"(如果限制其他的程序,请自行更改),限制的操作是“阻止连接”(即action=block)。

同上再新建一个取消限制的任务计划,开始时间设置为每周一到周五的22:00点(假设孩子在这个时间段已经入睡)。运行的命令也是netsh.exe,参数为“netshadvfirewallfirewallsetrulename="noo"newenable=no”,这个命令的作用是将上述出站规则更改为“允许连接”。

这样在每周一到周五的19:00点之后,指定的游戏程序“C:\Program Files (x86)\game.exe”就无法联网使用了(在22:00点则会取消限制,这样不会影响孩子第二天使用电脑)。运行上述任务后依次打开“高级安全Windows Defender防火墙→出站规则”,在右侧的窗格内就可以看到名为“noo”的规则,正是这条出站规则限制游戏程序的联网使用(图3)。

Runas+ Netsh程序联网要密码

对于常见程序联网的加密控制,我们则可以通过Runas+Netsh的组合命令实现。比如现在需要设置每次开机后禁止孩子使用Edge上网,如果需要使用则必须输入指定的密码解锁。

首先参照上述任务计划的介绍,新建一个任务计划,触发器为“系统启动时”,图2中的参数代码由“game.exe”改为“Microsoft\Edge\Application\mse d g e.exe”,“noo”改为“ed ge”,其他参数同上,这样每次开机后孩子都无法使用Edge上网(图4)。

接着以管理员身份启动命令提示符,输入“net user administrator /active:yes”并回车(激活内置的Administrator账户),再输入“netuser administrator 123456”并回车,按提示为Administrator账户设置登录密码123456(这里只是举例,实际操作时建议设置好记又复杂的密码)。最后启动记事本程序,输入下列命令并保存为“上网.bat”,放置在桌面备用:

runas/user:administrator"netshadvfirewallfirewallsetrulename="edge"newenable=no"

这样孩子需要使用Edge上网时,家长只要在桌面运行上述批处理,当弹出需要输入密码的提示时,输入上述设置的Administrator账户的登录密码,输入后按回车键就可以解除Edge的上网限制了(图5)。由于孩子没有Administrator账户的登录密码,所以是无法运行“上网.bat”取消上网限制的。

为了方便孩子用完Edge后恢复限制,同上可以在记事本中输入“runas/savecred/user:administrator"netshadvfirewallfirewallsetrulename="edge"newenable=block"”,再新建一个“恢复限制.bat”批处理,这样家长只要运行该批处理即可恢复限制。

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!