Windows 7 - 使用 BAT 修改 HOSTS 文件或本地 GPO 来阻止特定用户访问网站

Windows 7 - 使用 BAT 修改 HOSTS 文件或本地 GPO 来阻止特定用户访问网站

我家里有一个小型设备,其中一台机器仍运行着 Windows 7 SP2。

这台电脑有 2 个用户帐户。我需要阻止一个用户帐户访问特定网站,同时允许其他用户访问相同的网站。两个用户可能同时登录,或者其中一个用户可能只登录,或者其中一个用户可能先于另一个用户登录。

我尝试使用任务计划程序运行以下 BAT 文件,并根据用户设置登录时触发。当我尝试以允许登录时安排 BAT 任务的用户身份登录时,阻止 BAT 文件可以正常工作,但允许 BAT 始终不起作用。

对 BAT 文件或设置它的最佳方法有什么想法吗 - 或者我应该完全使用某种本地组策略?

允许BAT文件:

@echo 关闭

键入 c:\windows\system32\drivers\etc\hosts | findstr /v 网站名称此处 > c:\windows\system32\drivers\etc\hosts

阻止BAT文件:

@echo 关闭

echo 0.0.0.0 网站名称 >> c:\windows\system32\drivers\etc\hosts

答案1

感谢大家的欢迎和建议,它们最终帮助我回答了自己的问题。为了秉承这些论坛的精神,我将在下面发布我的解决方案,以便其他人在未来几年通过搜索引擎偶然发现这一点,从我们的所有努力中受益:


对于未来任何寻找答案的人来说 - 我已经找到答案了。

最好的方法是只对需要阻止的用户帐户应用阻止和解除阻止。让我解释一下:

我使用任务计划程序来运行我在原始问题中显示的块 bat 文件,使用以下设置:

安全选项

  • 运行任务时,使用以下帐户:用户帐户 1
  • 勾选“仅在用户登录时运行”
  • 勾选“以最高权限运行”

触发器选项

  • 连接到用户会话时
  • 特定用户(用户账户 1)
  • 从本地计算机连接

操作

  • 启动程序(我的 bat 文件)

状况

  • 取消勾选此处所有选项

设置

  • 允许任务按需求运行
  • 如果任务已在运行,则适用以下规则:停止现有实例

为了解除封锁,我做了与上面完全相同的事情,除了:

触发选项

  • 与用户会话断开连接时
  • 特定用户(用户账户 1)
  • 从本地计算机连接

相关内容