HOWTO: 解决 MDT 部署后 Summary Wizard 空白故障
HOWTO: 解决 MDT 部署后 Summary Wizard 空白故障
使用 MDT 创建和部署一套标准安装流程的系统映像,涉及相关的应用软件都是基于 MSI 或支持静默安装的 EXE 文件。每个软件的静默安装参数都是单独经过验证测试的,导入 MDT 进行部署安装。但在实际的部署序列验证中发现整个部署完成后会弹出一个空白的 Wizard.hta 窗体,导致部署无法结束。即使忽略最后的 Summary 也无法跳过 Wizard.hta 这个问题。在早前 gOxiA 曾发布过相同的日志“MDT FinalSummery 发生 Wizard 空白页面问题”,并分享了一些经验,但要彻底解决这个问题还是需要详细测试和验证的。
参考早前的日志我们已经了解到通常是在应用安装序列中包含了禁用外部驱动器策略的安全软件时才会发生,且仅在 MDT Media 场景下出现。如果当前部署案例中必须要执行这些安全软件安装序列,就必须解决 Wizard 空白的问题。做了大量的测试和验证发现,Wizard 窗体会使用到如下文件:
- "Wizard.hta",
- "Wizard.css",
- "Wizard.ico",
- "ZTIUtility.vbs",
- "WizUtility.vbs",
- "ZTIConfigFile.vbs",
- "ZTIDiskUtility.vbs",
- "ZTIDataAccess.vbs",
- "header-image.png",
- "Computer.png",
- "Summary_Definition_ENU.xml",
- "Summary_Scripts.vbs",
- "plusicon.gif",
- "minusico.gif"
只要确保这些文件存在,即可解决 Wizard 空白问题。为此我们可以写一个脚本加载到有影响的应用软件安装序列前,将相关的文件拷贝到特定目录下,即可解决问题。例如:
md %localappdata%\temp\deploymentscripts
copy . %localappdata%\temp\deploymentscripts
HOWTO: 使用组策略限制设备安装
HOWTO: 使用组策略限制设备安装
从事 Windows 桌面标准化工作的 IT 朋友应该了解,Windows 在设备支持方面的显著特性就是 PnP - 即插即用,系统驱动程序存储区会保存一些常见的设备驱动,当设备连接到系统后,会自动匹配并安装对应的驱动;如果驱动程序存储区没有对应的驱动,则会通过 Internet 向 Windows Update 发送请求获取设备驱动。所以,当我们向系统安装设备驱动程序时,在底层的动作会有两步,驱动会先自动拷贝至存储区,然后在匹配到当前系统实例上(安装驱动)。
OSImage 的编制人员通常会使用 DISM 命令将非系统自带的设备所需驱动注入到 Image,当系统执行 Specialized 阶段时会进行驱动匹配和安装;或者在普通用户连接设备时实现驱动安装。对于最终用户,这是非常友好的,因为用户可以在没有帮助的情况下开始使用设备。但是,这也会对 IT 部门带来挑战,他们可能无法支持各种设备,此外公司也可能会通过阻止用户使用 USB 端口来阻止用户连接 USB 设备。
在 Windows 平台上提供了多个组策略设置,可用于控制设备和设备驱动程序的安装。这使 IT 可以限制特定设备的安装,但允许安装所有其他设备。要学习和使用这些组策略可以打开组策略编辑器并定位到“计算机配置-管理模板-系统-驱动程序安装”:
其中包含两个配置选项:
- 允许非管理员为这些设备设置类安装驱动程序:允许用户安装指定的设备驱动程序。您可以通过检查伴随设备驱动程序的.inf文件来确定适当的驱动程序设置类。
- 关闭Windows Update设备驱动程序搜索提示:确定管理员在设备安装期间是否收到提示以搜索Windows Update驱动程序。
要控制设备安装限制的组策略设置,可定位到“计算机配置-管理模板-系统-设备安装-设备安装限制”。
其中包含:
- 允许管理员覆盖设备安装限制策略:允许管理员组的成员安装或更新设备的驱动程序,而不管策略设置如何。
- 允许使用与这些设备设置类匹配的驱动程序来安装设备:允许安装与指定的设置类全局唯一标识符(GUID)相匹配的设备。
- 使用与这些设备设置类匹配的驱动程序防止安装设备:防止安装与指定的设置类GUID匹配的设备。
- 当策略设置阻止安装时显示自定义消息:允许管理员定义当策略设置阻止设备安装时显示的自定义消息。
- 当策略设置阻止设备安装时显示自定义消息标题:允许管理员定义自定义消息标题,当策略设置阻止设备安装时显示。
- 允许安装匹配任何这些设备标识符的设备:允许安装与您指定的设备标识符匹配的设备。
- 防止安装符合任何这些设备标识符的设备:阻止安装与您指定的设备标识匹配的设备。
- 时间(以秒为单位)在策略更改生效时强制重新启动:允许您定义设备安装后计算机等待重新启动的时间。
- 防止安装可移动设备:允许您阻止用户安装可移动设备。
- 防止其他策略设置未描述的设备安装:允许您确保用户无法安装任何驱动程序,即使没有限制安装的策略。
HOWTO: 解决 FFU 执行 Split 后未生成分卷文件问题
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,而命令行参数会默认使用压缩选项,具体说明如下:
如此一来,作为映像部署人员,如果需要在未来拆分这些 FFU 文件,则在捕获时必须加上 /Compress:none 参数,但 FFU 的文件容量也将剧增。文末让我们再一次对 FFU 的特性增加深印象:
- 用途:在工厂车间实现最快速的 Windows 捕获和部署。
- 映像样式:基于扇区
- 压缩:模式使用 Xpress-Huffman
- 它捕获什么内容:捕获完整的驱动器信息集,包括分区。
- 应用映像时会发生什么情况:清理整个驱动器。
- 是否可以部署到不同大小的硬盘驱动器:是的,但新驱动器大小必须等于或大于原驱动器大小。
- 是否可以修改映像:是的,通过使用 DISM 可以装载,修改和卸载映像。
- 可靠性:包含目录和哈希表,用于在刷写到设备上之前验证签名。在捕获过程中生成哈希表,并在应用时进行验证。