在 Windows 企业版与教育版的设备锁定方案中,Shell Launcher 负责把用户登录后的默认外壳 explorer.exe 替换为指定的桌面程序或 UWP 应用,从而把终端改造成单一用途设备。shelllauncherrepository.dll 正是这套机制中承担“配置存取”职责的底层组件,它并不面向普通用户,却在每一次 Kiosk 配置的写入与读取中默默工作。
该文件通常位于 %SystemRoot%\System32 目录下,属于 Shell Launcher 子系统的仓储层实现。它一般不被用户或脚本直接调用,而是在执行配置写入、读取和登录外壳解析时,由 AssignedAccess 相关的 WMI 提供程序、PowerShell 管理模块以及对应系统服务按需动态加载。
1. 配置持久化 将 XML 形式的 Shell Launcher 配置,包括用户或用户组 SID 与自定义 shell 的映射关系、默认外壳、RestartShell 重启策略等,序列化并写入系统配置存储,保证重启后依然生效。
2. 解析与合法性校验 解析配置文档结构,校验节点完整性、SID 合法性以及可执行文件路径的可访问性,避免非法配置在登录阶段引发外壳加载失败。
3. 配置查询 为 Get-ShellLauncherConfiguration 等管理命令、WMI 类以及组策略链路提供统一的配置读取与枚举能力。
4. 协同与回退 与 Assigned Access 服务及登录过程协同,在配置更新后通知外壳解析逻辑采用新配置,并记录外壳退出代码与重启行为相关的状态数据。