这是家用电脑(不在任何域中)。我的孩子在点击设置(从在浏览器中安装插件到更改 Windows 设置,甚至从 Windows 商店安装应用程序)和/或访问他不应该访问的网站时表现得非常怪异。为了克服这个问题,我为他创建了一个标准帐户(Windows 登录),并在他的桌面上只保留了 Google Chrome 图标。
这允许他打开浏览器,但我想限制在登录标准帐户时仅打开 youtubekids.com 网站。但以管理员身份登录时不应适用此限制。
是否有可能做到这一点?
附言:我已经阅读了有关通过 IE 的主机文件和代理设置的信息,但我很犹豫,因为我觉得它会影响所有用户(无论帐户类型如何)
答案1
以下是使用 Windows 任务计划程序和 Windows 防火墙的解决方案:
https://serverfault.com/a/637000/419032
基本思想是设置出站防火墙规则,仅限制对特定网站的访问,然后设置一个任务,每次用户登录时启用防火墙,并设置另一个任务,在特定用户登录时禁用防火墙。
当然,此时您只能依靠路由器防火墙在 Windows 防火墙关闭时保护自己。根据您网络的规模,这可能是可以接受的。
答案2
仍然可以使用 HOSTS 文件来实现:
首先使用管理员帐户通过 hosts 文件阻止您不想允许访问的网站。(在您的 hosts 文件中添加 youtubekids.com 的条目及其 IP 地址,然后将 DNS 服务器设置为不存在的服务器)
然后将此代码保存为批处理文件并在管理员帐户中执行:(如果愿意,可以将连接名称替换为网络 ssid 或名称,并在 netsh 行中更改 DNS 服务器)
@echo off
openfiles >nul 2>&1
if %errorlevel% equ 0 (
type "C:\Windows\System32\drivers\etc\hosts" >C:\tempfile123.txt
type nul >"C:\Windows\System32\drivers\etc\hosts"
netsh interface ipv4 set dns name="Connection name" static 8.8.8.8
)
if %errorlevel% equ 1 (
if exist C:\tempfile123.txt (
type C:\tempfile123.txt >>"C:\Windows\System32\drivers\etc\hosts"
)
Netsh interface ipv4 set DNS name="Connection name" static 3.4.5.6
)
将其保存为批处理文件并执行后,将其放入您孩子和管理员帐户的启动文件夹(C:\Users<用户名>\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup)中。
重启并享受!
怎么运行的?
批处理文件发挥了神奇的作用。它检查登录用户的权限提升情况。如果用户是管理员,它会将 HOSTS 文件的内容保存到另一个文件中,并清除 HOSTS 文件并设置正确的 DNS 服务器。如果用户不是管理员,它会将临时主机的内容放入实际的 HOSTS 文件中,并设置无效的 DNS 服务器。并且您将此批处理文件放在启动时,这样当用户登录时就会发生这种情况。
注意:请确保您的孩子对 hosts 文件和启动文件夹一无所知。如果您的孩子知道,那么我建议使用 Comodo 实用程序阻止他访问某些网站。