配置 Shell 启动器

可通过两种方式配置 Shell 启动器:

  1. ShellLauncher使用分配的访问配置服务提供程序的节点 (CSP) ,如果设备支持,它还会自动在设备上启用 Shell 启动器
  2. 直接在应用程序中使用 Shell 启动器 WMI 提供程序 。 使用此方法时,必须先启用 Shell 启动器

可以为 Shell 启动器配置以下选项:

  • 为特定用户或组添加/删除 shell 配置
  • 更改默认 shell 配置
  • 获取有关特定用户或组的 shell 配置的信息

注意

任何更改在用户登录之前才会生效。

启用 Shell 启动器

Shell 启动器是 Windows 中默认未启用的可选组件。 若要配置它,必须先启用它。 可以在自定义的 Windows 映像中启用和配置 Shell 启动器,也可以在应用预配包来配置它之前启用它。

注意

使用分配访问配置服务提供程序 (CSP) 配置 Shell 启动器时,如果设备支持,则会自动启用 Shell 启动器。 使用分配的访问权限 CSP 进行配置时,无需单独启用 Shell 启动器。

有多种方法可以启用 Shell 启动器,请选择最符合需求的方法以了解详细信息。

若要使用 控制面板 启用 Shell 启动器,请执行以下步骤:

  1. 打开控制面板>程序>打开或关闭 Windows 功能或使用 命令optionalfeatures.exe
  2. 展开“设备锁定”,然后选择“Shell 启动器
  3. 选择 “确定” 以启用 Shell 启动器

为不同的用户帐户启动不同的 shell

默认情况下,Shell 启动器运行默认 shell,这是在设计时创建 OS 映像时指定的。 默认 shell 设置为 Windows 命令处理器 () Cmd.exe ,但你可以将任何可执行文件指定为默认 shell。

如果不想运行默认 shell,还可以将 Shell 启动器配置为针对特定用户或组启动其他 shell。 例如,你可以将设备配置为为来宾帐户启动自定义应用程序 shell,但运行用于维护设备的管理员帐户的标准 Windows 资源管理器 shell。

当当前登录的帐户属于两个或更多组,这些组具有为每个组定义的不同配置时,Shell 启动器将使用它找到的第一个配置。 搜索顺序未定义,因此建议避免将用户分配到具有不同 Shell 启动器配置的多个组。

注意

如果在运行时使用 WMI 提供程序为用户或组配置 Shell 启动器,则必须使用该安全主体的安全标识符 (SID) 。 不能使用用户名或组名称。

有关常见安全标识符的详细信息,请参阅 已知 SID

Shell 启动器启动和退出行为

Shell 启动器在启动自定义 shell 之前处理 RunRunOnce 注册表项,因此自定义 shell 不需要处理其他应用程序和服务的自动启动。

Shell 启动器还会处理自定义 shell 退出时系统的行为。 如果默认行为不满足需求,可以配置 shell 退出行为。 当自定义 shell 退出时,Shell 启动器可以执行以下四项作之一:

  • 0:重启 shell
  • 1:重启设备
  • 2:关闭设备
  • 3:不执行任何作

重要提示

请确保 Shell 应用程序不会自动退出,也不会被对话框筛选器等任何功能自动关闭,因为这样可能会导致退出和重启的无限循环,除非返回代码作设置为不执行任何作。

默认返回代码作

可以使用 DefaultReturnCodeAction 设置为 Shell 启动器定义默认返回代码作。 如果不更改初始值,则默认返回代码作将设置为 0 (零) ,这表示 Shell 启动器在 shell 退出时重启 shell。

将退出代码映射到 Shell 启动器作

Shell 启动器可以根据 shell 返回的退出代码执行特定作。 对于 shell 返回的任何给定退出代码,可以通过将该退出代码映射到 shell 退出作之一来配置 Shell 启动程序执行的作。

如果退出代码与定义的值不匹配,Shell 启动器将执行默认返回代码作。

例如,shell 可能会返回 、、 01255-1退出代码值,具体取决于 shell 退出的方式。 可以将 Shell 启动器配置为:

  • 当 shell 返回值的退出代码时,重启设备 (1) -1
  • 当 shell 0 返回值的退出代码时,重启 shell () 0
  • 当 shell 返回值 1 的退出代码时,不执行任何 (3)
  • 当 shell 返回值的退出代码时, () 关闭设备2255

自定义返回代码作映射如下所示:

退出代码 操作
-1 1 (重启设备)
0 0 (重启 shell)
1 3 (不执行任何)
255 2 (关闭设备)

使用分配的访问权限 CSP 设置自定义 shell

Shell Launcher 的配置是使用 XML 文件完成的。 XML 文件通过指定访问权限 CSP 应用到设备,并使用以下选项之一:

  • 移动设备管理 (MDM) 解决方案,如 Microsoft Intune
  • 预配程序包
  • MDM 网桥 WMI 提供程序

注意

使用分配的访问权限 CSP 配置 Shell 启动器后,如果设备支持,则会自动在设备上启用 Shell 启动器。

若要了解如何配置 Shell 启动器 XML 文件,请参阅 创建 Shell 启动器配置文件

以下说明提供了有关如何配置设备的详细信息。 选择最适合需要的选项。

可以将自定义策略AssignedAccess CSP 配合使用来配置设备。

  • 设置:./Vendor/MSFT/AssignedAccess/ShellLauncher
  • 值:XML 配置文件的内容

将策略分配给包含要配置的设备成员的组。

提示

有关实际示例,请参阅 快速入门:使用 Shell 启动器配置展台体验

用户体验

应用设置后,配置为使用 Shell 启动器的用户将在登录后执行自定义 shell。

根据配置,可以让用户自动登录到设备。

删除 Shell 启动器

下面是删除 Shell 启动器的选项,请选择最符合需求的方法:

取消分配或删除包含配置的策略。

后续步骤

了解如何配置 Shell 启动器 XML 文件:

创建 Shell 启动器配置文件