我们有一台运行自定义 shell 的 Win 7 PC。此 shell 根据登录的用户阻止用户使用操作系统。当无人登录时,操作系统将无法访问。
在本地工作时,这可以正常工作,但是当通过使用 HP 瘦客户端的 RDP 会话连接时,shell 将被忽略,并且所有用户都可以访问操作系统(ctrl+alt+del、ctrl+shft+esc……等等)。
为了解决这个问题,我编辑了注册表,在登录时运行自定义 shell,而不是 explorer.exe。从瘦客户端连接时,这仍然不起作用。所有用户都可以完全访问操作系统。
我还尝试禁用注册表中的某些键(windows、esc、tab)。这在本地计算机上有效,但在远程连接时无效。操作系统仍会接收到按键操作。
这与使用远程桌面和 VNC 相同。
有谁知道解决这个问题的办法吗?我们被难住了,最后期限迫在眉睫!
答案1
为了解决这个问题,我为用户创建了一个组策略,并设置了一个要运行的应用程序。这会用自定义 shell 应用程序替换 explorer.exe,并使用户远离操作系统层。
- 按 Windows+r 并输入“mmc”
- 文件 → 添加/删除管理单元
- 从左侧列表中选择组策略对象,然后按“添加”
- 按“浏览”
- 选择“用户”标签
- 选择您将从远程机器登录的用户
- 按“确定”
- 导航至用户配置→管理模板→系统
- 启用自定义用户界面并输入应用程序的文件路径。对于自定义 shell,请输入 c:\Path_to_my_custom_shell\MyCustomShell.exe
- 接下来,转到 System\CTRL+ALT+DEL 选项并启用删除任务管理器和所有其他选项(如果需要),
当启动 RDP 会话并登录正确的帐户时,应用程序将运行,并且用户将无法向远程计算机发送 ctrl+alt+del、ctrl+shft+esc 或 alt+tab。