Windows_logo_horiz_blue_rgb

HOWTO: 使用组策略限制设备安装

        从事 Windows 桌面标准化工作的 IT 朋友应该了解,Windows 在设备支持方面的显著特性就是 PnP - 即插即用,系统驱动程序存储区会保存一些常见的设备驱动,当设备连接到系统后,会自动匹配并安装对应的驱动;如果驱动程序存储区没有对应的驱动,则会通过 Internet 向 Windows Update 发送请求获取设备驱动。所以,当我们向系统安装设备驱动程序时,在底层的动作会有两步,驱动会先自动拷贝至存储区,然后在匹配到当前系统实例上(安装驱动)。

        OSImage 的编制人员通常会使用 DISM 命令将非系统自带的设备所需驱动注入到 Image,当系统执行 Specialized 阶段时会进行驱动匹配和安装;或者在普通用户连接设备时实现驱动安装。对于最终用户,这是非常友好的,因为用户可以在没有帮助的情况下开始使用设备。但是,这也会对 IT 部门带来挑战,他们可能无法支持各种设备,此外公司也可能会通过阻止用户使用 USB 端口来阻止用户连接 USB 设备。

        在 Windows 平台上提供了多个组策略设置,可用于控制设备和设备驱动程序的安装。这使 IT 可以限制特定设备的安装,但允许安装所有其他设备。要学习和使用这些组策略可以打开组策略编辑器并定位到“计算机配置-管理模板-系统-驱动程序安装”:

gpo_driversinstall

        其中包含两个配置选项:

  • 允许非管理员为这些设备设置类安装驱动程序:允许用户安装指定的设备驱动程序。您可以通过检查伴随设备驱动程序的.inf文件来确定适当的驱动程序设置类。
  • 关闭Windows Update设备驱动程序搜索提示:确定管理员在设备安装期间是否收到提示以搜索Windows Update驱动程序。

        要控制设备安装限制的组策略设置,可定位到“计算机配置-管理模板-系统-设备安装-设备安装限制”。

gpo_deviceinstallrestrictions

        其中包含:

  • 允许管理员覆盖设备安装限制策略:允许管理员组的成员安装或更新设备的驱动程序,而不管策略设置如何。
  • 允许使用与这些设备设置类匹配的驱动程序来安装设备:允许安装与指定的设置类全局唯一标识符(GUID)相匹配的设备。
  • 使用与这些设备设置类匹配的驱动程序防止安装设备:防止安装与指定的设置类GUID匹配的设备。
  • 当策略设置阻止安装时显示自定义消息:允许管理员定义当策略设置阻止设备安装时显示的自定义消息。
  • 当策略设置阻止设备安装时显示自定义消息标题:允许管理员定义自定义消息标题,当策略设置阻止设备安装时显示。
  • 允许安装匹配任何这些设备标识符的设备:允许安装与您指定的设备标识符匹配的设备。
  • 防止安装符合任何这些设备标识符的设备:阻止安装与您指定的设备标识匹配的设备。
  • 时间(以秒为单位)在策略更改生效时强制重新启动:允许您定义设备安装后计算机等待重新启动的时间。
  • 防止安装可移动设备:允许您阻止用户安装可移动设备。
  • 防止其他策略设置未描述的设备安装:允许您确保用户无法安装任何驱动程序,即使没有限制安装的策略。

troubleshooting

HOWTO: 解决 FFU 执行 Split 后未生成分卷文件问题

        当我们为 Windows 系统实例生成 FFU Image 后,可能因为容量大小的问题需要对 FFU 执行 Split,例如:要部署的设备使用 UEFI,则 UFlash 必须使用 FAT32 格式,但该格式的分区无法存储超过 4GB 大小的文件,此时的方案要么是将 FFU 单独存储在 NTFS 分区上,或者将映像进行分卷存储。

        FFU 与 WIM 格式虽然有本质上的区别,但也都支持分卷存储,但是 FFU 在执行分卷时则会遇到一个问题(如果我们忽略了 FFU 的基础信息,则这会变成一个 Keng - 坑)!!!继续往下看……

        通常我们会采用默认命令行和参数执行 Capture FFU,但当我们需要使用 /Split-FFU 来拆分 FFU 时会发现执行过程非常块,并且结果反馈已经完成,并没有任何报错,但当去找寻这些拆分后的文件时却发现它们并不存在。

        原来 FFU 的 Split 必须使用未经压缩过的 FFU,而命令行参数会默认使用压缩选项,具体说明如下:

Capture-FFU

        如此一来,作为映像部署人员,如果需要在未来拆分这些 FFU 文件,则在捕获时必须加上 /Compress:none 参数,但 FFU 的文件容量也将剧增。文末让我们再一次对 FFU 的特性增加深印象:

  • 用途:在工厂车间实现最快速的 Windows 捕获和部署。
  • 映像样式:基于扇区
  • 压缩:模式使用 Xpress-Huffman
  • 它捕获什么内容:捕获完整的驱动器信息集,包括分区。
  • 应用映像时会发生什么情况:清理整个驱动器。
  • 是否可以部署到不同大小的硬盘驱动器:是的,但新驱动器大小必须等于或大于原驱动器大小。
  • 是否可以修改映像:是的,通过使用 DISM 可以装载,修改和卸载映像。
  • 可靠性:包含目录和哈希表,用于在刷写到设备上之前验证签名。在捕获过程中生成哈希表,并在应用时进行验证。

Windows-11-logo

HOWTO: 解决 WDS PXE-E16 问题

        一台基于 Windows Server 2022 的 WDS 服务器已加入到 AD,并使用 AD 集成模式进行了初始化的配置,跟随向导同时导入了 WinSvr 2022 的 Boot.wim 和 Install.wim,但是在使用 Hyper-V Gen2 VM 执行首次网络引导时是正常的,但是在通过实体机进行 PXE 网络引导时,发生了 PXE-E16 故障;之后再用 VM 测试同样报错。

image

        从报错信息可见 PXE-E16: No valid offer received. 在 Configuration Manager 中 PXE 启动问题的高级故障排除 | Microsoft Learn 文档中提供了一些排查的思路。尝试创建一个 Gen1 VM 引导发现是可以正常工作的,说明 WDS 服务和发现均没有问题,看来是有其他原因。

        网上曾有文章介绍使用 WDS 的独立模式进行配置,但在本案中并不适合,回过头来分析客户端的特征,并结合 WDS 事件日志做了分析,才恍然大悟。

  1. 客户端使用 UEFI 模式启动
  2. 查阅 WDS 事件日志,可看到设备已从 PXE 启动,但并未执行后续启动步骤。在日志中可以看到一个重要的提示“客户端体系结构: 4”
    image
  3. 如果使用 Gen1 VM 执行 PXE 启动,日志中记录其客户端体系结构为1,之后会创建 Non-Shared 缓冲区来读取文件“\boot\x86\wdsnbp.com”,之后当 gOxiA 按下 F12 确认从网络引导后,WDS 又为其过程创建了“\bootx64\pxeboot.n12”,随后 TFTP 获取到 x64 的 Boot.wim 成功引导加载 PE 环境。在 Configuration Manager 中的 PXE 启动 | Microsoft Learn 这篇文档中我们可以获取到很多有用的信息。

        由于 WDS 初始提供 wdsnbp.com 来引导客户端启动,而其特性仅支持 x86 和 x64 BIOS,所以最终导致 Gen2 VM 和实体设备发生引导故障,因为两者均为 UEFI。

        为了确保 UEFI 这类的 Modern PC 能够通过 WDS 提供的 PXE 进行网络引导,我们需要强制 WDS 为客户端提供 UEFI 支持,即使用 Bootmgfw.efi 或 Wdsmgfw.efi,为此我们需要配置 DHCP,添加 067 选项,强制默认使用 UEFI 引导。

        最后再次执行启动验证,Gen2 VM 和 实体机均能够正常通过 PXE 引导。在 WDS 事件日志中,可跟踪到设备初始便会使用 067 指定的 efi 文件加载引导,之后会成功加载 x64uefi 下的 bcd 并顺利完成后续的 Boot.wim 加载任务。

        需要注意,当通过 DHCP 强制支持 UEFI 后,在使用 Gen1 VM 执行 PXE 网络引导,则会发生 PXE-E79 故障。

image

        如果在企业环境中同时存在 BIOS 和 UEFI 固件类型的设备,IT 管理员可以考虑配置 DHCP 服务器,定义供应商类别(DHCP Vendor Classes),添加 UEFI x86/x64 以及 BIOS x86&x64 的支持。

分页: 4/49 第一页 上页 1 2 3 4 5 6 7 8 9 10 下页 最后页 [ 显示模式: 摘要 | 列表 ]