标题:虚拟环境下在 Windows 10 OOBE 阶段测试部署 PPKG 出处:gOxiA=苏繁=SuFan Blog 时间:Sun, 09 Feb 2020 17:10:43 +0000 作者:gOxiA 地址:https://goxia.maytide.net/read.php/1975.htm 内容: 虚拟环境下在 Windows 10 OOBE 阶段测试部署 PPKG 当 IT 人员通过 PPKG (Provisioning Package - 预配包)来实现 Windows 10 的动态部署时,不免要对 PPKG 进行测试已验证是否达到预先设计的目标,通常我们会在管理员工作站上常见 PPKG,然后拷入到 U盘或网络共享中供目标设备测试或使用,但由于 PPKG 会对系统进行配置,虽然其提供了卸载功能,但一些特定的设置仍然会保留在系统中,如此反复会增加 IT 人员的成本。 利用虚拟环境,如虚拟机能够很好的帮助我们来进行测试验证,我们可以创建一个干净的环境状态下创建一个检查点,然后再应用 PPKG,当需要的时候还原检查点便可以从头开始。 但是,如果我们需要在 Windows 10 OOBE 阶段测试部署 PPKG 呢?常规的做法是将 PPKG 拷贝到可移动媒体,如 U盘上。(注意:PPKG必须存储在 U盘的根目录下),然后启动目标设备进入 OOBE,然后插入包含 PPKG 的 U盘,此时会自动开始应用 PPKG。当需要重复测试时,我们需要耗费大量的等待时间来重置 Windows 10 安装,使其恢复到最初的状态,重新开始 OOBE。 你可能会想到利用虚拟机(Hyper-V)来实现方便快捷的测试,但接下来会发现由于不能添加虚拟的 USB存储设备,将导致无法检索到 PPKG。也许你也跟 gOxiA 有一样的想法,将 PPKG 拷贝到一个虚拟磁盘根目录下,并加载到虚拟机中,然后在 OOBE 界面上连续按下五次 Windows 键来激活配置选项,但结果并不能如尝所愿,因为“安装预配包”向导无法检索到这个 PPKG。或者,你会考虑使用 DISM 或 PowerShell 命令来应用 PPKG,但由于处于 OOBE 这个特殊阶段,将会无法正常应用 PPKG。 难道,我们就没有办法了吗???!!! 其实,在 OOBE 阶段除了能够自动识别 U盘和 SD卡这类的可移动媒体外,还支持光盘驱动器。没错,我们可以利用虚拟机中的虚拟光驱来实现我们的需求,只需要为 PPKG 创建一个 ISO,加载到虚拟机中便可以在 OOBE 阶段检索到 PPKG。 为 PPKG 创建一个 ISO 有很多方法,除了第三方软件外,gOxiA 强烈建议你使用 Windows ADK 中自带的 Oscdimg.exe 工具,对于要跟桌面部署打交道的 IT 人员来说,相信每一位都会在管理员工作站上安装 Windows ADK。现在,我们只需要将 Oscdimg.exe 所在的目录位置添加到用户变量中即可在任意目录中执行该命令。 Oscdimg.exe 所在的目录位置是: C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\Oscdimg 为 PPKG 生成 ISO 的命令行很简单,如下参考: oscdimg -nt .\ .\ppkg_v1.iso 在 OOBE 阶段,将生成的 ISO 加载到虚拟机中,然后连续按下五次 Windows 键,选择“安装预配包”,便会自动检索并应用这个 ISO 中的 PPKG。 现在,我们就可以开始轻松的测试 PPKG 动态部署 Windows 10 了。文末,分享 PPKG 在 OOBE 阶段执行部署时的一些重点知识。 配置引擎会始终应用保留在 C:\Revovery\Customizations 目录下的 PPKG。PPKG 将会被复制到 %ProgramData%\Microsoft\Provisioning 目录下。在 OOBE 阶段可以直接应用未签名信任的 PPKG。当配置引擎在 OOBE 阶段应用 PPKG 时,仅将运行时设置从 PPKG 包中应用到设备。运行时设置可以是系统范围的配置设置,包括:安全策略、Windows应用程序安装和卸载,网络配置,引导 MDM 注册,账户和域配置,Windows 版本升级等。配置引擎还会检查设备上的配置设置(如:区域设置或 SIM 卡),并应用具有匹配条件的多变量设置。官方参考:https://docs.microsoft.com/en-us/windows/configuration/provisioning-packages/provisioning-how-it-works Generated by Bo-blog 2.1.1 Release