在使用电脑的过程中,我们有时需要对联网的程序进行不同的控制,比如对于孩子爱玩的联机游戏要定时进行控制(如限制这些游戏在特定的时间无法联网),对常见的联网程序则希望进行加密控制(如QQ、Edge的联网需要输入密码才能实现)。对于类似的限制,我们可以使用系统自带的Netsh命令并结合系统的其他组件进行灵活控制。
○Netsh 任务计划 程序联网定时控制
对于程序联网的定时控制,我们可以借助Netsh命令和任务计划程序来实现。比如现在需要限制孩子每周一到周五的19:00-22:00点都无法玩网络游戏,假设游戏程序是“C:\Program Files\game.exe”。
先启动任务计划程序,新建一个任务,在创建任务窗口中切换到“常规”选项卡,设置任务的名称为“禁止游戏联网”,同时勾选“使用最高权限运行”复选框。接着切换到“触发器”选项卡,新建一个每周一到周五的19:00点开始运行的任务(图1)。
再切换到“操作”选项卡,新建一个启动程序的操作,设置运行的程序为“C:\Windows\System32
etsh.exe”,添加参数为“advfirewall firewall add rule name="noo" dir=out program="C:\Program Files (x86)\game.exe" action=block”(图2)。
命令解释:
这里使用系统自带的Netsh命令为防火墙添加一个名为“noo”的出站规则,限制的程序是“C:\Program Files (x86)\game.exe"(如果限制其他的程序,请自行更改),限制的操作是“阻止连接”(即action=block)。
同上再新建一个取消限制的任务计划,开始时间设置为每周一到周五的22:00点(假设孩子在这个时间段已经入睡)。运行的命令也是netsh.exe,参数为“netsh advfirewall firewall set rule name="noo" new enable=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\msedge.exe”,“noo”改为“edge”,其他参数同上,这样每次开机后孩子都无法使用Edge上网(图4)。
接着以管理员身份启动命令提示符,输入“net user administrator /active:yes”并回车(激活内置的Administrator账户),再输入“net user administrator 123456”并回车,按提示为Administrator账户设置登录密码123456(这里只是举例,实际操作时建议设置好记又复杂的密码)。最后启动记事本程序,输入下列命令并保存为“上网.bat”,放置在桌面备用:
runas /user:administrator "netsh advfirewall firewall set rule name="edge" new enable=no"
这样孩子需要使用Edge上网时,家长只要在桌面运行上述批处理,当弹出需要输入密码的提示时,输入上述设置的Administrator账户的登录密码,输入后按回车键就可以解除Edge的上网限制了(图5)。由于孩子没有Administrator账户的登录密码,所以是无法运行“上网.bat”取消上网限制的。
为了方便孩子用完Edge后恢复限制,同上可以在记事本中输入“runas /savecred /user:administrator "netsh advfirewall firewall set rule name="edge" new enable=block"”,再新建一个“恢复限制.bat”批处理,这样家长只要运行该批处理即可恢复限制。
小提示:
如果需要更快速地实现对程序的断网或联网控制,大家还可以借助OneClickFirewal软件(完成软件的安装后,它会自动在EXE文件的右键菜单中添加联网控制的选项。比如打开“C:\Program Files (x86)\Microsoft\Edge\Application”,找到“msedge.exe”右击并选择“Block Internet Access”(当然不要告诉孩子取消限制可以选择“Restore Internet Access”),这样浏览器就无法再联网了(图6)。