我目前正在使用“IExplore.exe -K”作为替换外壳来配置Kiosk机器,一切运行正常。
不幸的是,你仍然可以通过按 Alt-F4 来终止 IExplore.exe 会话。这只会留下一个空白的黑屏。
有什么方法可以确保 IExplore.exe 关闭后重新启动?
我考虑过编写一个 Powershell 脚本作为服务或计划任务运行,只是检查它是否正在运行,如果没有运行就重新启动它,还有其他想法吗?
答案1
Alt不幸的是,您仍然可以通过按+来终止 IExplore.exe 会话F4。
警告:
以下说明包含修改注册表的步骤。但是,如果错误地修改注册表,可能会出现严重问题。
因此,请确保仔细遵循这些步骤。为了增加保护,请在修改注册表之前备份它。然后,如果出现问题,您可以恢复注册表。
有关详细信息,请参阅如何在 Windows 中备份和恢复注册表。
我如何防止Alt+F4终止会话?
最后,Alt+F4或Ctrl+W将关闭 Kiosk 模式窗口。
您可以使用注册表中的限制来锁定这些破坏性的组合键:
- 从开始菜单的运行对话框启动 RegEdit;
- 导航
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft Internet Explorer\Restrictions
查找或创建以下每个 DWORD 值,并将其数据设置为 1 以启用限制:
-
NoBrowserClose
(禁止关闭浏览器窗口)-
NoBrowserContextMenu
(禁用右键单击上下文菜单)-
NoFileOpen
(禁止使用Ctrl+O或Ctrl+L启动任意 URL)- (禁止通过+或 Shift 单击
NoOpenInNewWnd
在新窗口中打开链接)CtrlN尝试执行这些受限操作之一的用户将收到一条警告,指出“由于此计算机上的限制,此操作已被取消。请联系您的系统管理员。”您可能需要重新启动计算机才能使其识别这些值的更改。
当然用户仍然可以输入Ctrl++Alt来Del调出任务管理器并结束进程。
笔记:
另一个来源10 分钟内构建 Windows 7 信息亭说添加的关键是HKLM\Software\Policies\Microsoft\Internet Explorer\Restrictions
我怎样才能禁用Ctrl++ ?AltDel
- StackOveflow 问题禁用 Ctrl-Alt-Del 并关闭信息亭
- 超级用户问题如何在 XP/Vista/7 上完全禁用 CTRL-ALT-DEL 组合键?
答案2
我最近使用以下方式为本地图书馆设置了 Kiosk 模式
UserConf\Administrative Templates\System\Custom User Interface 指向“C:\Program Files\Internet Explorer\iexplore.exe”
以及其他一些锁定策略(无任务管理器、磁盘访问、可移动设备等)
我没有使用 -k(信息亭开关),因为我发现打开 PDF 等也会在全屏信息亭模式下运行并导致用户的烦恼。例如被卡在 IE 窗口顶部全屏打开的 PDF 上而无法关闭它。
正如 mhouston100 所写:“要添加更新,使用该策略有几个注意事项:1.您无法关闭浏览器或选项卡,因此打开多个选项卡的用户将继续存在。2.它似乎会导致浏览不同网站时出现问题,显示错误‘这台计算机上的限制阻止您...’我目前正在进行更多测试,因为这再次改变了我所看到的内容。”
使用此 GP 限制时我发现了同样的问题 - 超链接在 IE 中被阻止 - 甚至可怜的旧 Google 也受到限制。
使用上述 PowerScript 效果很好 - 谢谢 mhouston100
答案3
最后我不再使用 IE 中的“Kiosk”模式,因为演示时范围发生了变化。但是,保持 IE 处于打开状态的正确 GPO 位于:
UserConf\Administrator Templates\Windows Components\Internet Explorer\Browser Menus\FileMenu: Disable closing of the browser and Explorer Windows
这与:UserConf\Administrative Templates\System\Custom User Interface 相结合
Pointing to "C:\Program Files\Internet Explorer\iexplore.exe"
结合一些其他的锁定策略(无任务管理器、磁盘访问、可移动设备等),您最终会得到一个非常强大的 Kiosk 机器。
编辑:
对于未来的 Google 员工,我最终完全放弃了信息亭模式。它导致了很多问题。
最后,我仍然使用 IExplorer.exe 作为 shell,但编写了一个 Powershell 登录脚本来简单地扫描 IExplorer 进程,如果未找到则重新启动它。这允许用户仍然具有选项卡式浏览等灵活性,但如果他们不小心关闭了会话,它只会重新打开主页。
该脚本如下,只是通过 GPO 设置为登录脚本:
Start-Job -ScriptBlock {
While (1 -ne 0){
Start-Sleep -Seconds 5
If (-not(Get-Process iexplore -ea silentlycontinue | select *| Where-Object {$_.MainWindowHandle -ne 0})){
Start-Process -FilePath "$($env:ProgramFiles)\Internet Explorer\iexplore.exe"
}
}
} | Wait-Job
答案4
我能找到的保护公共网络浏览器安全的最佳解决方案发布在http://haslenet.co.uk/?p=816并使用脚本和一些注册表设置来正确锁定信息亭。到目前为止,我还没有发现其中有任何弱点。