俞木發

對于程序聯網的定時控制,我們可以借助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命令和任務計劃程序來實現。比如現在需要限制孩子每周一到周五的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的組合命令實現。比如現在需要設置每次開機后禁止孩子使用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”批處理,這樣家長只要運行該批處理即可恢復限制。