如何禁用ctrl + alt +删除菜单中的“关机”,以保证已validation用户的身份,但将计算机上的电源button保持启用状态?

我正在configuration工作台上的电脑。 我遇到的唯一的大问题是,我似乎无法禁用控制+ alt +删除菜单中的关机button,也没有禁用电脑本身的电源button(所以只有员工可以closures它)。 完全禁用特定用户的控制+ alt +删除菜单也是可以接受的。

我find的唯一真正的答案就是编写我自己的GINA存根,这有点超出了项目的范围(和我的能力)。

其他详细信息:根本不使用资源pipe理器shell程序,如果资源pipe理器死亡,则重新启动信息亭程序的程序被用作shell程序。 计算机也将被locking在一个机柜中,使用户只能访问显示器和kb /鼠标。

注册黑客 –

(防止)没有login关机:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\system] "shutdownwithoutlogon"=dword:00000000 

工作到XP – 还没有尝试过> = win7

login时按Ctrl + Alt + Del:

 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer] "NoClose"=dword:00000001 

开始菜单:

 [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\policies\Explorer] "NoClose"=dword:00000001 

你有没有考虑使用微软SteadyState ?

还有一个实用程序 ,可以让您轻松启用或禁用任务pipe理器。

我认为这个方法解决你所需要的。 我不确定这是否影响电源button(可能取决于BIOS的电源设置)。

不知道这个信息亭是否是一个域的一部分。 如果以特定用户身份login,则可以创build一个阻止关机的GPO,并将其与该用户的OU绑定。 您的员工的login不在OU中,因此他们不会获得GPO,并且将通过开始菜单保留closures的能力。 我们在我们的呼叫中心这样做,我们希望电脑一夜之间离开,所以他们可以打补丁。 如果他们确实需要closures,pipe理员或pipe理员可以login并closures。

我之前忽略了注册,我不能添加评论,所以我只是想添加这个答案。

我有点远在项目考虑使用另一种方法locking计算机(如SteadyState),除了关机button和ctrl + alt +删除以外的所有东西都被locking,但是我会记住未来。

至于计算机是一个域的一部分,不,它不在域上,用户是本地用户。

我会看看zerrias明天提出的方法,看看它是否能满足我的需要。

我find了一种方法来禁用validation用户的ctrl + alt + del菜单。 原来我确实需要使用gina存根(实际上,我修改了一个存在的存根 )。

这gina存根显然有几个额外的function,如强制login/注销脚本和禁用ctrl + alt + del提示在login之前,无需编辑registry。 我不得不使用这个,因为微软在Windows XP平台SDK中的例子不能为我正确启动,而且我找不到另一个合适的存根。

我对存根所做的唯一修改是将gina.c中的WlxLoggedOnSAS的内容更改为

 #ifdef DEBUGLOG fprintf(fpginalog,"WlxLoggedOnSAS, SasType=%i.\n",dwSasType); fflush(fpginalog); #endif if (dwSasType == WLX_SAS_TYPE_CTRL_ALT_DEL) { /* Eat the ctrl+alt+del event */ return WLX_SAS_ACTION_NONE; } else{ return GWlxLoggedOnSAS( pWlxContext, dwSasType, pReserved ); } 

然后,我在Visual Studio中构build项目,并将生成的newgina移至C:\ Windows \ system32

最后一步是添加一个registry键让它在启动时加载gina存根

 Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon] "GinaDLL"="C:\\windows\\system32\\newgina.dll" 

缺点:

  • 这也禁用ctrl + alt + delpipe理员,但他们有开始菜单,所以这对我来说不是一个真正的问题。 可能可以修改一点点修改

  • 如果您不使用explorer shell,则无法注销,重置计算机是您唯一的select。 也许可以使用另一个程序注册一个热键来注销。

  • 按ctrl + alt + del时,屏幕会闪烁几分之一秒。

  • 可能无法在XP SP3或Vista上运行(根据其他站点上的多个线程)

注意:

我现在没有修改存根的二进制版本(Google的OpenIDlogin在工作时被阻止,所以我不能从那里上传),但是如果你想自己编译存根,只需要Visual C ++ Express Edition并打开项目,然后用前面提到的代码replacegina.c中的WlxLoggedOnSAS中的代码。 当你build立它,你应该结束了一个newgina.dll