实验 3:在 IoT 设备上配置策略设置
在实验室 2 中,我们在自定义映像中启用了设备锁定功能。 除了 Windows IoT 企业版锁定功能外,设备合作伙伴还可以结合使用组策略和功能自定义来实现所需的用户体验。
在此实验室中,我们将推荐 IoT 设备合作伙伴经常使用的一些常见配置设置。 考虑每个单独的配置设置是否适用于设备方案。
控制 Windows 更新
设备合作伙伴的最常见请求之一是控制 Windows IoT 设备上的自动更新。 IoT 设备的特质是,因计划外更新等问题发生意外可能会造成糟糕的设备体验。 考虑如何控制 Windows 更新时应询问的问题:
- 设备场景是否可接受工作流的任何中断?
- 在部署之前如何验证更新?
- 设备本身的更新用户体验是什么?
如果设备无法接受用户体验中断,则应:
- 考虑将更新限制为仅特定小时
- 考虑禁用自动更新
- 请考虑手动或通过受控的第三方解决方案部署更新。
限制对更新的重启
可以使用“使用时段组策略”、“移动设备管理 (MDM)”或“注册表设置”将更新限制在仅特定时段。
- 打开组策略编辑器 (gpedit.msc) 并导航至 Computer Configuration\Administrative Templates\Windows Components\Windows Update\Manage end user experience,然后打开在更新过程中关闭自动重新启动活动时间策略设置。
- 将策略设置为已启用。
- 设置“使用时段”窗口的“开始”和“结束”时间。 例如,将“使用时段”设置为从凌晨 2:00 开始到凌晨 4:00 结束。 这允许系统针对凌晨 2:00 到凌晨 4:00 之间的更新重启。
控制来自 Windows 更新客户端的 UI 通知
可将设备配置为隐藏 Windows 更新的 UI 体验,同时让服务本身在后台运行并更新系统。 Windows 更新客户端仍遵守为配置自动更新而设置的策略,此策略控制该体验的 UI 部分。
- 打开“组策略编辑器 (gpedit.msc)”并导航到“计算机配置\管理模板\Windows 组件\Windows 更新\管理最终用户体验”,然后打开“更新通知显示选项”策略设置。
- 将策略设置为已启用。
- 将“指定更新通知显示选项”设置为“1 - 禁用所有通知,不包括重启警告”或“2 - 禁用所有通知,包括重启警告”。
完全禁用 Windows 自动更新
安全性和稳定性是 IoT 项目成功的核心,Windows 更新提供更新以确保 Windows IoT 企业版具有最新的适用安全性和稳定性更新。 但是,可能会遇到必须完全手动处理更新 Windows 的设备场景。 对于这种类型的情况,我们建议禁用通过 Windows 更新的自动更新。 在以前版本的 Windows 设备中,合作伙伴可以停止和禁用 Windows 更新服务,但这不再是禁用自动更新的受支持方法。 Windows 有多个策略,允许以多种方式配置 Windows 更新。
要使用 Windows 更新完全禁用 Windows 的自动更新,请执行以下操作:
- 打开“组策略编辑器 (gpedit.msc)”并导航到“计算机配置\管理模板\Windows 组件\Windows 更新\管理最终用户体验”,然后打开“配置自动更新”策略设置。
- 将策略显式设置为“禁用”。 当此设置设为“禁用”时,必须手动下载并安装来自 Windows 更新的任何可用更新,可以在“设置”应用中的“Windows 更新”下执行此操作。
禁用对 Windows 更新用户体验的访问
在某些情况下,配置自动更新不足以保留所需的设备体验。 例如,最终用户可能仍然可以访问 Windows 更新设置,这将允许通过 Windows 更新进行手动更新。 可以配置组策略以通过设置禁止访问 Windows 更新。
要禁止访问 Windows 更新,请执行以下步骤:
- 打开“组策略编辑器 (gpedit.msc)”并导航到 Computer Configuration\Administrative Templates\Windows Components\Windows update\Manage end user experience,然后打开“移除使用所有 Windows 更新功能的访问权限”策略设置。
- 将此策略设置为“启用”以阻止用户使用“检查更新”选项。 备注:任何后台更新扫描、下载和安装都会继续按配置进行工作。 此策略只是阻止用户访问手动检查设置。 使用上一部分中的步骤还可以禁用扫描、下载和安装。
重要
请确保为设备制定精心设计的服务策略。 如果设备没有以其他方式获取更新,则禁用 Windows 更新功能会使设备处于易受攻击的状态。
阻止通过 Windows 更新安装驱动程序
有时,从 Windows 更新安装的驱动程序可能会导致设备体验出现问题。 以下步骤可以禁止 Windows 更新在设备上下载和安装新的驱动程序。
- 打开“组策略编辑器 (gpedit.msc)”并导航到“计算机配置\管理模板\Windows 组件\Windows 更新\管理 Windows Update 提供的更新”,然后打开“不要在 Windows 更新中包括驱动程序”策略设置。
- 启用此策略,告知 Windows 不要在 Windows 质量更新中包括驱动程序。
Windows 更新摘要
可通过多种方式配置 Windows 更新,但并非所有策略都适用于所有设备。 通常,IoT 设备需要特别注意设备上使用的服务和管理策略。 如果维护策略是通过策略禁用所有 Windows 更新功能,以下步骤提供了要配置的策略的综合列表。
- 打开“组策略编辑器 (gpedit.msc)”并导航到“计算机配置\管理模板\系统\设备安装”,设置以下策略:
- 将“指定设备驱动程序更新的搜索服务器”指定为“已启用”,将“选择更新服务器”设置为“搜索托管服务器”
- 将“指定设备驱动程序源位置的搜索顺序”指定为“已启用”,将“选择搜索顺序”设置为“不要搜索 Windows 更新”
- 在组策略编辑器中,导航到“计算机配置\管理模板\Windows 组件\Windows 更新”,并设置以下策略:
- 将“配置自动更新”设置为“已禁用”
- 将“不要在 Windows 更新中包括驱动程序”设置为“已启用”
- 在组策略编辑器中,导航到“计算机配置\管理模板\系统\Internet 通信管理\Internet 通信设置”,并将“关闭对所有 Windows 更新功能的访问权限”设置为“已启用”
- 在组策略编辑器中,导航到“计算机配置\管理模板\Windows 组件\Windows 更新\更新通知显示选项”,并将该策略设置为“已启用”,同时将“指定更新通知显示选项”设置为 2
将系统配置为隐藏蓝屏
出于多种原因,系统上可能会发生 bug 检查(蓝屏或 BSOD)。 如果 IoT 设备出现这些错误,隐藏这些错误非常重要。 系统仍可以收集用于调试的内存转储,但用户体验本身应避免显示 bug 检查错误屏幕。 可将系统配置为在出现操作系统错误时将“蓝屏”替换为空白屏幕。
- 在 IoT 设备上打开"注册表编辑器",并导航到 Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\CrashControl
- 添加一个名为 DisplayDisabled 的新注册表项,其类型为 DWORD(32 位),值数据为 1。
配置通知、toast 和弹出窗口
IoT 设备通常会消除在电脑方案中有作用的常见 Windows 对话框,但可能会干扰 IoT 设备的用户体验。 禁用不需要的对话框的最简单方法是通过 Shell 启动程序或分配的访问权限使用自定义 shell。 如果自定义 Shell 不是适当的选择,可以设置策略、设置和注册表微调的组合,以禁用不需要的弹出窗口和通知。
通知
在某些情况下,禁用单个通知是有益的。 例如,如果设备是平板电脑,则应为用户显示“节电模式”通知,而 OneDrive 或照片等其他通知则应隐藏。 你还可以确定设备是否应禁止所有通知,不管提供这些通知的操作系统组件是什么。
隐藏所有通知
禁用通知的一种方法是使用 Windows 的“免打扰时间”功能。 “免打扰时间”的工作方式类似于许多智能手机上的同类功能,它们会在特定的时间(通常是夜间)禁止通知。 在 Windows 中,可将免打扰时间设置为 24x7,使通知永不显示。
启用 24x7 免打扰时间:
- 打开“组策略编辑器 (gpedit.msc)”并导航到“用户配置\管理模板\开始菜单和任务栏\通知”
- 启用“设置每日免打扰时间的开始时间”策略,并将值设置为 0
- 启用“设置每日免打扰时间的结束时间”策略,并将值设置为 1439(每天有 1440 分钟)
提示
“用户配置\管理模板\开始菜单和任务栏\通知”中还提供了其他策略,让你可以更细致地禁用确切的通知。 这些选项在某些设备方案中可能很有用。
消息框默认回复
这是一项注册表更改,可以让系统自动选择对话框中的默认按钮(“确定”或“取消”),从而禁止弹出 MessageBox 类框。 如果不受设备合作伙伴控制的第三方应用程序显示 MessageBox 样式对话框,则此功能将很有用。 可以在消息框默认回复中了解此注册表值。
启用 MessageBox 默认答复
- 以管理员身份打开注册表编辑器
- 在 HKLM\System\CurrentControlSet\Control\Error Message Instrument 下创建一个新的 Dword 注册表值,其值名为 EnableDefaultReply
- 将 EnableDefaultReply 值的数据设置为 1
- 测试方案以确保其按预期方式工作
安全基线
从 Windows 的第一个版本开始,每个 Windows 版本都随附了一组称作“安全基线”的策略。 安全基线是 Microsoft 根据 Microsoft 安全工程团队、产品组、合作伙伴和客户的反馈推荐的一组配置设置。 安全基线是在 IoT 设备上快速启用推荐的安全设置的很好方式。
注意
需要认证的设备(例如 STIG)使用安全基线作为起点可以获益。 安全基线作为安全合规工具包的一部分提供
可以从下载中心下载安全合规工具包。
在上述链接上选择“下载”。 选择“Windows Version xxxx Security Baseline.zip”和“LGPO.zip”。 请务必选择与要部署的 Windows 版本匹配的版本。
在 IoT 设备上解压缩“Windows Version xxxx Security Baseline.zip”文件和“LGPO.zip”文件。
将 LGPO.exe 复制到“Windows Version xxxx Security Baseline”的“Scripts\Tools”文件夹中。 安全基线安装脚本需要 LGPO,但必须单独下载该程序。
在管理命令提示符下运行:
Client_Install_NonDomainJoined.cmd
或者,如果 IoT 设备将要加入 Active Directory 域:
Client_Install_DomainJoined.cmd
在出现是否运行脚本的提示时按 Enter,然后重启 IoT 设备。
预期
许多设置已包含为安全基线的一部分。 在“文档”文件夹中可以看到一个 Excel 电子表格,其中概述了基线设置的所有策略。 你马上会发现,用户帐户密码复杂性已更改而不再使用默认设置,因此你可能需要更新系统上的或作为部署一部分的用户帐户密码。 此外,为 USB 驱动器数据访问配置了策略。 现在,从系统复制数据默认会受到保护。 继续探索安全基线添加的其他设置。
Microsoft Defender
许多 IoT 设备场景中需要防病毒保护,尤其是功能更全面且运行 Windows IoT 企业版等操作系统的设备。 对于展台、零售 POS、ATM 等设备,Windows IoT 企业版安装中默认会包含并启用 Microsoft Defender。 你可能需要在方案中修改默认的 Microsoft Defender 用户体验。 例如,禁用有关执行的扫描的通知,甚至禁用计划的深度扫描以便仅使用实时扫描。 以下策略可用于防止 Microsoft Defender 创建不需要的 UI。
打开“组策略编辑器 (gpedit.msc)”并导航到“计算机配置\管理模板\Windows 组件\Microsoft Defender 防病毒\扫描”,然后设置:
- 将“在运行计划扫描之前检查最新病毒定义和间谍软件定义”设置为“已禁用”
- 将“指定扫描期间的 CPU 使用率最大百分比”设置为 5
- 将“启用弥补完全扫描”设置为“已禁用”
- 将“启用弥补快速扫描”设置为“已禁用”
- 将“创建系统还原点”设置为“已禁用”
- 将“定义在其后强制执行弥补扫描的天数”设置为 20(这是一项以防万一的设置,如果启用了弥补扫描,则不应指定此设置)
- 将“指定要用于计划扫描的扫描类型”设置为“快速扫描”
- 将“指定在星期几运行计划的扫描”设置为“0x8 (从不)”
在组策略编辑器中,导航到“计算机配置\管理模板\Windows 组件\Microsoft Defender 防病毒\安全智能更新”,然后设置:
- 定义间谍软件安全智能被视为过期前的天数为 30
- 定义病毒安全智能被视为过期之前的天数为 30
- 将“安全智能更新后启用扫描”设置为“已禁用”
- 在启动时启动安全智能更新至“已禁用”
- 将“指定在星期几检查安全智能更新”设置为“0x8(从不)”
- 定义在其后需要执行弥补安全智能更新的天数为 30
Windows 组件\Microsoft Defender 防病毒具有其他策略,请检查每个设置说明,以查看它是否适用于 IoT 设备。
后续步骤
创建针对所需用户体验定制的映像后,接下来可以捕获该映像,以便可将其部署到任意数量的设备上。 实验 4 将介绍如何准备要捕获的映像,然后将其部署到设备。