WDS 变更部署支持

[ 2021/10/09 11:55 | by gOxiA ]

Windows-11-logo

  

WDS 变更部署支持

  

        在 Windows 11 发布后,微软也公布了 Windows 部署服务(WDS)的最新支持说明 - https://docs.microsoft.com/zh-cn/windows/deployment/wds-boot-support ,大致意思是通过 WDS 的 PXE 加载 Windows 11 的 Boot.wim 来实施 Windows Setup 时,该方案将不再受支持。 如下图所示,进入 PE 环境后会有一个否决通知,且无法跳过,只能重启动。(PS:通过测试在此界面下仍能调出 CMD)

  

PXE_Win11_Boot_WIM

  

        在说明文档中提给出了详细的受影响的部署方案,说实话看了半天也没完全理解,尤其是在做过实验之后。

  

WDS_Deploy_Support_Readme

  

        gOxiA 的实验是这样的,以 VM 方式安装了一台 Windows Server 2022,然后分别导入了 Win 10、11 和 2022 的 Boot.wim,然后又分别导入了它们的 Install.wim,执行部署测试。

  

PXE_Boot_Menu

  

        如果选择 Windows 11 的 Boot.wim 启动,会出现文章前面提到的的“否决通知”;选择 Windows 10 的 Boot.wim 启动,则如以往一样正常安装映像。

  

PXE_Win10_Boot_WIM

  

        但选择 Windows Server 2022 的 Boot.wim 启动虽然也会显示“否决通知”,但仍可以通过点击“下一页”跳过,并正常安装映像。

  

PXE_WS2022_Boot_WIM

  

        从目前的测试看,限制仅仅是 Boot.wim 中的 Setup 程序会检测是否基于 WDS PXE 启动,并给出对应的“否则通知”,还并没有基于 WDS 本身进行限制,还允许一段时间的过渡期。但从另一篇文档(Windows Server 2022 已删除或不再开发的功能)中可以了解到,WDS 的操作系统部署功能将逐渐弃用,并建议企业 IT 桌面交付部门尽快使用 Configuration Manager 或 MDT 进行桌面系统的交付。

ICD

使用 Provisioning Packages 帮助企业 IT 人员快速交付 Windows 10 设备

        在前段时间 gOxiA 分享了一篇文章 - “虚拟环境下在 Windows 10 OOBE 阶段测试部署 PPKG”,详细介绍了如何在虚拟机环境下 OOBE 阶段测试 PPKG 的方法。并且还分享了一些重点知识。今天我们将介绍使用 Provisioning Packages(预配包)帮助企业 IT 人员快速交付 Windows 设备。

        在过去的传统部署方案中,企业IT通常会根据组织的需求和规则策略重新定制标准化系统映像,在新设备到来后首先会进入 IT 桌面部门,通常会在 IT 服务台使用 WDS、MDT 或 SCCM OSD 等方案,重新为设备部署 Windows 操作系统。并且 IT 桌面部门还需要根据其他诸如业务或安全部门不断提出的新需求或变更重新生成映像。可以想象这是一件非常庞大且复杂的项目工作。

        自 Windows 10 发布以来,提出了 WaaS – Windows 即服务的概念,随之为这一“现代桌面”提供了一系列的“现代部署”方案可满足不同场景的需求。在这些方案中,IT 人员可以利用“动态部署方案”轻松便捷地为企业交付新的 Windows 10 设备。

        假设我们有一个场景,企业订购了一批新的 Surface 设备,其预装了 Windows 10 的专业版,随机搭载了 Office 应用程序,并且设备驱动也是内置的,由于随机系统非常干净,而且是最佳的运行状态,企业希望基于现有的系统进行定制和交付,由于 OEM 系统不支持映像的重新定制和生成,按照过去传统的做法企业IT桌面人员需要使用批量授权重新为 Surface 生成定制的企业标准化映像,这一过程所付出的工作量是相当繁重的,而且企业可能会重复使用专业版的授权。最后,企业IT桌面部门还需要不基于网络的部署。

        在以上这种场景下,如何选择一种快速高效的部署方法呢?!

        综合比较动态部署方案中的 Provisioning Packages(预配包)更容易满足这一部署场景的需求。利用预配包我们可以快速配置新的设备,而无需完成准备和安装新映像的过程;生成的预配包可以配置多个设备来节省时间;在准备和部署过程中不需要设备管理基础架构;预配包可以应用在没有网络连接的设备上。由于预配包是一个扩展名为 PPKG 的文件,我们可以多种形式进行预配包的分发,如:可移动磁盘,电子邮件,网络共享等。部署方式也随之灵活许多,除了可以双击预配包手动安装,也可以利用命令行编写脚本,尤为重要的是在 Windows 10 的 OOBE 阶段也可以应用预配包,这样一来我们就可以实现自动化的部署交付过程。

        到这里,您可能希望知道预配包都能为我们做些什么?是否可以像以往的部署方案那样利用 Unattend 实现无应答安装和配置,加载一系列的脚本程序进行高级的自动化配置……等等?!

        Provisioning Packages 为我们提供了丰富的预配设置选项,可以分配设备名称、输入产品密钥以升级 Windows,删除预安装的软件,连接到 WiFi,加入到 AD 或侦测到 AAD,当然也可以创建本地账号,还可以添加应用程序、证书……更多具体的细节可以参考微软官方文档。https://docs.microsoft.com/en-us/windows/configuration/wcd/wcd

        那么我们如何生成预配包(Provisioning Packages - PPKG)呢?如果您是一位经验丰富的桌面标准化 IT 人员,应该知道 Windows ADK,其中的“配置设计器”(Windows Configuration Designer - ICD)便是 PPKG 的生成工具。我们也可以在“Microsoft Store”中安装它“Windows Configuration Designer”。

icd-adk

        打开 ICD,默认会提供几个预配模板,如果是新手可以先从“预配桌面设备”开始,它提供了向导式的配置过程,可满足基本需求。通常 gOxiA 会使用“高级预配”来创建 PPKG 以满足不同的需求。

ICD-Main

        在“高级预配”模式下,通过左边提供的配置项来进行预配设置,如果您所需的需求未能满足,则需要考虑配合其他方法,如:命令行、脚本……或基于 AD 的组策略进行后续的配置管理。当预配包设计完毕后,就可以利用导出功能生成 PPKG 文件,在生成过程中我们可以为预配包起一个便于识别的名称,版本号会根据每次生成递增,利用“所有者”和“等级”我们可以为当前预配包设置优先级别。

ICD-Main-PPKG

        创建好的PPKG就可以按照前文介绍的那样以不同形式分发给用户,或在 OOBE 阶段应用。

HOWTO: 使用 USMT 捕获指定的用户注册表数据

        USMT (User State Migration Tool),即用户状态迁移工具,其历史悠久且一直免费,可帮助企业 IT 人员在大型的 Windows 部署场景下简化用户数据的迁移过程。USMT 能够从现有系统环境下捕获用户账户、用户文件、操作系统设置和应用程序设置,然后将其迁移到新的 Windows 系统中。

        如果您是第一次听说 USMT,是不是很心动?!希望尽快了解并上手操作,但可惜的是可能会令看官失望了,因为今天的分享恐怕仅适用于已经入门的 USMT 用户。

        是这样,前段时间有位网友向 gOxiA 咨询了 USMT 相关的使用问题,说在手工创建自定义的捕获配置文件后,无法正常迁移数据,遇到 0x0803wa 警告,具体内容是:Registry location HKCU\Software\Microsoft\Internet Explorer\Main [Search Page] is considered invalid in the current context. 如下图所示:

Snipaste_2019-05-07_16-56-26

        大致的意思就是注册表位置在当前的上下文是无效的,排除了注册表路径问题,那问题应当就出在自定义的捕获配置文件(.xml)上。下面 gOxiA 提供了正确的文件内容截图。

Snipaste_2019-05-17_09-15-21

        在 component 字段,由于没有强制指定上下文,所以其默认为 UserandSystem,所以我们需要在 rules 中强制为 Uesr 上下文,这样才能捕获到我们当前指定的注册表数据。

        另外一个不能忽视的问题,由于当前捕获的数据是隶属 Internet Explorer,其默认属于系统设置,所以我们需要先使用 genconfig 参数生成可选的 config.xml 文件,然后将默认要迁移的系统设置都改为 “no”,这样在捕获的时候即可不迁移系统设置,且仅按照指定的捕获配置文件进行迁移。

scanstate /vsc /o /config:config.xml /i:ie_searchpage.xml /ue:*\* /ui:domain\sufan /v:13 /l:scanstate.log w:\usmtdata

        这样就仅迁移出来了指定用户的指定数据,捕获出来的数据包将会非常小。当需要迁移到用户的新环境下,则可以参考如下命令行。

loadstate /i:ie_searchpage.xml /ue:*\* /ui:domainsufan /l:loadstate.log w:\usmtdata

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