Shell 启动器概述
Shell 启动器是一项 Windows 功能,可用于将默认的 Windows 资源管理器 shell (Explorer.exe
) 替换为 Windows 桌面应用程序或通用 Windows 平台 (UWP) 应用。 此功能可用于在用于特定用途的设备(包括展台、ATM 和数字标牌)上创建自定义用户体验。
Shell 启动器控制用户在登录后作为 shell 获取的应用程序。 它不会阻止用户访问其他桌面应用程序和系统组件。 从自定义 shell 中,可以启动显示在多个监视器上的辅助视图,或根据用户的需求以全屏方式启动其他应用。 还可以将 Shell 启动器配置为为不同的用户或用户组启动不同的 shell 应用程序。
使用 Shell 启动器,可以使用功能和方法控制对其他应用程序或系统组件的访问。 这些方法包括但不限于:
- 配置服务提供程序 (CSP)
- 组策略 (GPO)
- AppLocker
Windows 版本要求
以下列表包含支持 Shell 启动器的 Windows 版本:
✅ 企业/企业 LTSC
✅ 教育版
✅ IoT 企业版/IoT 企业版 LTSC
Shell 启动器版本历史记录
Shell 启动器自推出以来经历了多次迭代,其中最引人注目的是 Shell Launcher v1 和 Shell Launcher v2。 每个版本都带来了改进和新功能,以增强 Windows 环境中的自定义 shell 的用户体验和功能:
- Shell Launcher v1 是原始实现,旨在提供用于替换默认 shell 的基本功能。 但是,它存在一些限制,例如仅支持 Win32 应用程序作为自定义 shell,并且缺乏处理新式应用方案的灵活性
- 随 Windows 10 版本 1809 一起引入的 Shell 启动器 v2 添加了对自定义 shell 通用 Windows 平台 (UWP) 应用的支持,使其在现代环境中更加通用
Shell Launcher v1 和 Shell Launcher v2 之间的差异
- Shell Launcher v1 替换为
Explorer.exe
Eshell.exe
,后者只能启动 Windows 桌面应用程序 - Shell 启动器 v2 替换为
Explorer.exe
CustomShellHost.exe
,后者可以启动 Windows 桌面应用程序或 UWP 应用 - 除了允许你将 UWP 应用用于替换 shell 之外,Shell 启动器 v2 还提供了更多增强功能:
- 你可以使用自定义 Windows 桌面应用程序,然后可以启动 UWP 应用,例如“设置”和“触摸键盘”
- 从自定义 UWP shell 中,可以启动辅助视图并在多个监视器上运行
- 自定义 shell 应用全屏运行,并且可以根据用户需求全屏运行其他应用
有关不同应用组合的示例 XML 配置,请参阅 Shell 启动器 v2 的示例。
限制
下面是使用 Shell 启动器时要考虑的一些限制:
- Windows 不支持在 OOBE) (现成体验之前设置自定义 shell。 如果这样做,则无法部署生成的映像
- Shell 启动程序不支持具有启动不同进程然后退出的应用程序的自定义 shell。 例如,不能在 Shell 启动器中指定
write.exe
。 Shell 启动程序启动自定义 shell 并监视进程以识别自定义 shell 何时退出。Write.exe
创建 32 位wordpad.exe
进程并退出。 由于 Shell 启动器不知道新创建wordpad.exe
的进程,因此 Shell 启动程序会根据 的Write.exe
退出代码执行作,例如重启自定义 shell
Shell 启动器用户权限
自定义 shell 使用所登录帐户的用户权限的相同级别启动。 这意味着,具有管理权限的用户可以执行任何需要管理权限的系统作,包括启动具有管理权限的其他应用程序。
警告
如果 shell 应用程序需要管理权限并且需要提升,并且启用了用户帐户控制 (UAC) ,则必须禁用 UAC 才能启动 shell 应用程序。
后续步骤
了解如何配置 Shell 启动器:
快速入门
若要快速测试 Shell 启动器,检查以下快速入门: