从控制台登录时限制对单个应用程序的访问,而无需替换GINA

时间:2020-03-06 14:25:44  来源:igfitidea点击:

是否有人知道Windows XP上是否存在以编程方式创建和配置用户帐户的可行方法,以便从控制台登录(无终端服务)后启动特定应用程序,并将用户"锁定"到该应用程序?

应该阻止用户对系统执行其他任何操作(例如:无ctrl + alt + canc,无ctrl + shift + esc,无win + e,无)。

作为添加的可选奖励,当启动的应用程序关闭和/或者崩溃时,用户应该注销。

任何现有的免费工具,语言或者完成任务的任何混合物都可以(批处理,VB脚本,C,C ++等)

解决方案

我想我们正在建立Windows服务亭?

这是替换Windows登录Shell的一些背景http://blogs.msdn.com/embedded/archive/2005/03/30/403999.aspx

上面的链接讨论了使用IE进行替换,但是可以使用任何程序。

另请查看Windows稳定状态http://www.microsoft.com/windows/products/winfamily/sharedaccess/default.mspx

SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ WinLogon具有两个值
UserInit指向成功登录后执行的应用程序。那里的默认应用程序userinit.exe处理域登录脚本(如果有),然后启动指定的Shell =应用程序。

通过在HKEY_CURRENT_USER或者HKEY_USERS配置单元中创建或者替换这些条目,我们可以为特定用户替换外壳程序。

一旦拥有了自己的外壳,就不用担心了,除非"信息亭用户"可以使用键盘并可以按ctrl-alt-del。这似乎是硬编码来启动taskmgr.exe而不是替换exe,我们可以设置以下注册表项

[SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options\taskmgr.exe]
Debugger="A path to an exe file that will be run instead of taskmgr.exe"