实验 2:设备锁定功能

在实验室 1a1b 中,我们在参考设备上安装了 OS,并在审核模式下进行了自定义。 此实验室介绍了几种使用内置于 Windows 的设备锁定功能来锁定设备的方法。 设备锁定功能未按任何特定顺序列出。 可以启用全部功能、部分功能、或不启用任何功能,具体取决于所构建的设备。

注意

此实验是可选的。 你可以构建 IoT 企业版设备,而无需启用此实验所述的任何功能。 如果未实现这其中的任何功能,你可以继续进行实验 3

若要以全自动化的方法完成这些步骤,请考虑使用 Windows IoT 企业版部署框架

先决条件

完成实验 1a:创建基本映像。

键盘筛选器

键盘筛选器使你可以使用控件来抑制不需要的按键或组合键。 通常,客户可以通过使用某些组合键(如 Ctrl+Alt+Delete、Ctrl+Shift+Tab、Alt+F4 等)来更改设备的操作。键盘筛选器可以阻止用户使用这些组合键,这在需要将设备用作专用设备时非常有用。

键盘筛选器功能适用于物理键盘、Windows 屏幕键盘和触摸键盘。 键盘筛选器还能检测动态布局更改,即使被抑制按键在键盘上的位置发生更改,也能继续正确抑制按键。 此场景的示例是从一种语言集切换到另一种语言集。

键盘筛选器键存储在注册表的 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Embedded\KeyboardFilter 中。

启用键盘筛选器

可以通过多种方法来启用键盘筛选器,我们将为其中一种方法提供说明。 有关详细信息,请参阅键盘筛选器

  1. 通过从管理命令提示符运行以下命令来启用键盘筛选器功能:

    Dism /online /enable-feature /featurename:Client-DeviceLockdown /featurename:Client-KeyboardFilter 
    
  2. 系统将提示重启参考设备,键入 Y 以重启。 设备将重启到审核模式。

    启用键盘筛选器后,请参阅键盘筛选器 PowerShell 脚本示例,了解如何阻止组合键。

  3. 对于此实验室,我们将提供一个有关如何阻止 CTRL+ALT+DEL 键的演示。 在管理 PowerShell 命令窗口中,复制并粘贴以下命令。

    $key = "Ctrl+Alt+Del"
    $setkey = Get-WMIObject -class WEKF_PredefinedKey –computer localhost –namespace  root\standardcimv2\embedded | where {$_.Id -eq "$key"}; 
    $setkey.Id = $key
    $setkey.Enabled = 1;
    $setkey.Put() | Out-Null;
    
  4. 重启参考设备,然后你会注意到 CTRL+ALT+DEL 键被阻止。

统一写入筛选器 (UWF)

统一写入筛选器 (UWF) 通过拦截对驱动器的所有写入(应用安装、设置更改、保存的数据)并将其重定向到虚拟覆盖来帮助保护设备的配置。 除非配置为在禁用统一写入筛选器之前保留,否则重新启动会自动删除此覆盖。

启用 UWF

  1. 通过从管理命令提示符运行以下命令来启用统一写入筛选器功能:

    Dism /online /enable-feature /featureName:Client-DeviceLockdown /featureName:Client-UnifiedWriteFilter
    
  2. 重启参考设备

  3. 最好是通过编写脚本来配置和启用覆盖和保护,但对于此实验室,我们将使用命令行进行配置

    有关 UWF 的详细信息(包括示例脚本),请参阅统一写入筛选器 (UWF)

  4. 在管理命令提示符下运行以下命令:

    uwfmgr volume protect c:
    uwfmgr filter enable
    
  5. 重启参考设备

  6. 在管理命令提示符下,确认 UWF 正在运行。 Filer 状态 应为 ON

    uwfmgr.exe get-config
    
  7. 现在,所有写入都会重定向到 RAM 覆盖层,在重新启动参考设备时会丢弃这些覆盖层。

  8. 尝试删除旧版 Windows Media Player(应用)可选功能:

    Dism /online /Disable-Feature /FeatureName:"WindowsMediaPlayer"
    
  9. 可以看到应用已删除,但在重启设备时,应用会恢复。

  10. 若要禁用统一写入筛选器,请运行以下命令,然后重启设备。

    uwfmgr filter disable  
    
  11. 确认 UWF 已禁用。 Filer 状态 应为 OFF

    uwfmgr.exe get-config
    

注意

使用统一写入筛选器时,必须考虑操作系统产品激活。 必须在禁用统一写入筛选器的情况下完成产品激活。 此外,在将映像克隆到其他设备时,需要让映像处于 Sysprep 状态,并在捕获映像之前禁用筛选器。

未品牌化启动

无品牌启动可以:

  • 抑制 Windows 启动或恢复时显示的 Windows 元素。
  • 当 Windows 遇到无法从中恢复的错误时,抑制崩溃屏幕。

启用无品牌启动

  1. 通过在管理命令提示符窗口中运行以下命令来启用无品牌启动功能:

    Dism /online /enable-feature /featureName:Client-DeviceLockdown  
    Dism /online /enable-feature /FeatureName:Client-EmbeddedBootExp 
    
  2. 重启参考设备

使用 BCDEdit 在运行时配置无品牌启动设置

可以通过以下方式从管理命令提示符处自定义无品牌启动:

  1. 在启动期间禁用 F8 键,阻止访问“高级启动选项”菜单:

    bcdedit.exe -set {globalsettings} advancedoptions false 
    
  2. 在启动期间禁用 F10 键,阻止访问“高级启动选项”菜单:

    bcdedit.exe -set {globalsettings} optionsedit false 
    
  3. 在启动期间不显示所有 Windows UI 元素(徽标、状态指示灯和状态消息):

    bcdedit.exe -set {globalsettings} bootuxdisabled on 
    

重启参考设备,并注意在启动期间抑制 Windows UI 元素。

注意

重新生成 BCD 信息时(例如使用 bcdboot 来这样做时),必须重新运行上述命令。

自定义登录

可使用自定义登录功能来抑制与“欢迎屏幕”和“关机屏幕”相关的 Windows UI 元素。 例如,可以禁止欢迎屏幕 UI 的所有元素并提供自定义登录 UI。 还可以禁止阻止的关机解析器 (BSDR) 屏幕并自动结束应用程序,同时操作系统等待应用程序关闭后才关机。 有关详细信息,请参阅自定义登录

注意

自定义登录功能对于使用空白或评估产品密钥的映像不起作用。 必须使用有效的产品密钥,才能查看使用以下命令所做的更改。

  1. 通过在管理命令提示符处运行以下命令来启用自定义登录功能:

    Dism /online /enable-feature /featurename:Client-DeviceLockdown /featurename:Client-EmbeddedLogon 
    
  2. 如果系统提示重启,请选择“否”。

  3. 修改下面的注册表项。 如果系统提示覆盖,请选择“是”。

    • 此命令在注册表中设置 BrandingNeutral 值,该值控制登录期间品牌信息的显示。
    Reg add "HKLM\SOFTWARE\Microsoft\Windows Embedded\EmbeddedLogon" /v BrandingNeutral /t REG_DWORD /d 1
    
    • 此命令在注册表中设置 HideAutoLogonUI 值,该值控制自动登录用户界面的显示。
    Reg add "HKLM\SOFTWARE\Microsoft\Windows Embedded\EmbeddedLogon" /v HideAutoLogonUI /t REG_DWORD /d 1
    
    • 此命令设置注册表中的 HideFirstLogonAnimation 值,该值控制第一个登录动画的显示。
    Reg add "HKLM\SOFTWARE\Microsoft\Windows Embedded\EmbeddedLogon" /v HideFirstLogonAnimation /t REG_DWORD /d 1
    
    • 此命令在注册表中设置 AnimationDisabled 值,该值控制是否禁用登录 UI 动画。
    Reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI" /v AnimationDisabled /t REG_DWORD /d 1
    
    • 此命令设置注册表中的 NoLockScreen 值,该值控制是否显示锁屏。
    Reg add "HKLM\SOFTWARE\Policies\Microsoft\Windows\Personalization" /v NoLockScreen /t REG_DWORD /d 1
    
    • 此命令在注册表中设置 UIVerbosityLevel 值,该值控制用户界面的详细级别。
    Reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon" /v UIVerbosityLevel /t REG_DWORD /d 1
    
  4. 重启参考设备。 不应再看到与欢迎屏幕和关机屏幕相关的 Windows UI 元素。

后续步骤

已完成启用锁定功能。 你可以使用组策略来进一步自定义设备的用户体验。 实验室 3 介绍如何配置策略设置。