我正在工作中配置一台自助服务终端 PC。我遇到的唯一大问题是,如果不禁用计算机本身的电源按钮,我似乎无法禁用 control+alt+delete 菜单中的关机按钮(因此只有员工可以将其关闭)。对特定用户完全禁用 control+alt+delete 菜单也是可以接受的。
我找到的唯一真正的答案是编写我自己的 GINA 存根,这有点超出了项目的范围(和我的能力)。
附加详细信息:完全不使用资源管理器外壳,将在 kiosk 应用程序死亡时重新启动它的程序用作外壳。计算机也将被锁在一个柜子里,让用户只能访问显示器和 kb/鼠标。
注册表编辑器 -
(防止)不登录就关机:
适用于 XP - 没有尝试过 >= win7
登录时 Ctrl+Alt+Del:
开始菜单:
您是否考虑过使用Microsoft SteadyState?
还有一个实用程序可让您轻松启用或禁用任务管理器。
我认为这种方法可以满足您的需求。我不确定这是否会影响电源按钮(可能取决于 BIOS 电源设置)。
不确定此信息亭是否属于域。如果您以某个用户的身份登录,那么您可以创建一个阻止关机的 GPO,并将其绑定到其中包含该用户的 OU。您的员工的登录信息不会在 OU 中,因此他们不会获得 GPO,并且将保留通过开始菜单关闭的功能。我们在呼叫中心执行此操作,我们希望 PC 在一夜之间保持打开状态,以便可以修补它们。如果他们真的需要关闭,管理员或经理可以登录并关闭。
我之前忽略了注册,我无法添加评论,所以我只想添加这个作为答案。
我对考虑使用另一种锁定计算机的方法(如 SteadyState)有点远,除了关机按钮和 ctrl+alt+delete 之外的所有内容都被锁定,但我会牢记这一点未来。
至于作为域一部分的计算机,不,它不在域上,并且用户是本地用户。
明天我会看看 zerrias 建议的方法,看看它是否符合我的需要。
我找到了一种为经过身份验证的用户禁用 ctrl+alt+del 菜单的方法。结果我确实需要使用 gina stub (实际上,我修改了现有的 stub)。
这个 gina stub 显然有几个额外的功能,例如强制登录/注销脚本和在登录前禁用 ctrl+alt+del 提示而不编辑注册表。我不得不使用这个,因为 Microsoft 在 Windows XP 平台 SDK 中的示例对我来说无法正常启动,而且我找不到另一个合适的存根。
我对存根所做的唯一修改是将 gina.c 中 WlxLoggedOnSAS 的内容更改为
然后我在 Visual Studio 中构建项目并将生成的 newgina 移动到 C:\Windows\system32
最后一步是添加一个注册表项,让它在启动时加载 gina 存根
缺点:
这也为管理员禁用了 ctrl+alt+del,但他们有开始菜单,所以对我来说这不是问题。可能会通过一些修改来修复
如果您不使用资源管理器外壳,则无法注销,重置计算机是您唯一的选择。可以使用另一个程序来注册退出热键。
当按下 ctrl+alt+del 时,屏幕会闪烁几分之一秒。
可能无法在 XP SP3 或 Vista 上运行(根据其他站点上的几个线程)
笔记:
我现在手头没有修改后存根的二进制版本(而且 Google 的 OpenID 登录在工作时被阻止,所以我不能从那里上传它,)但是如果你想自己编译存根,只需获取Visual C++ Express Edition并打开项目,然后将gina.c中WlxLoggedOnSAS里面的代码替换为前面提到的代码。当你构建它时,你应该得到一个 newgina.dll