欢迎光临,这里是 gOxiA=苏繁=SuFan 独立的个人博客。
本站域名:http://goxia.maytide.net or http://sufan.maytide.net
移动设备请访问:http://goxia.maytide.net/m
转载文章,请务必保留出处与作者信息,未经许可严禁用于商业用途!

image

HOWTO: 在执行 Sysprep generalize 后保留预部署的硬件驱动

        在 IT 设备部署中我们都会使用 Sysprep 对黄金映像进行初始化,默认情况下执行 Sysprep 后会删除当前系统中的所有设备驱动数据,使其在后续能应用在其他不同的硬件设备上。但是也有一些特例,例如 IT 人员针对一款笔记本设备做了软件的预定义,并测试这些软件在特定的硬件驱动版本上能够正常工作,那么就要确保在对当前实例执行 Sysprep 后,驱动能够被保留下来,同时也通过驱动的预部署加速后续的部署过程。

        一些传统的做法肯定是将驱动集成到部署过程中进行实时安装,其实无需那么麻烦!如果是针对性的系统映像,我们完全可以单独维护一份映像。在审核模式下就将所需的设备驱动安装完毕,然后启用 Windows 应答文件中提供的硬件驱动保留选项,实现我们的需求。

        为此,添加 Microsoft-Windows-PnpSysprep_neutral 中的 PersistAllDeviceIns 选项,将其设置为 true 即可。需要注意的是,因为该选项处于 generalize 阶段,所以在执行 sysprep 时就要进行加载。

image

参考文档: https://technet.microsoft.com/zh-cn/library/dd744391(v=ws.10).aspx

        在 MDT2010 中微软设计添加了一个新的任务序列,即:Sysprep and Capture。利用该任务序列,管理员可以轻松地对已经安装好的系统执行系统准备和捕获,以便于以后做批量部署之用。

image

        Sysprep and Capture 任务序列将从 MDT2010 服务器复制一份包含 Capture 功能的 Windows PE,并在当前系统上创建一个一次性引导信息,使当前系统在自动执行了 Sysprep 后,启动计算机时能自动引导进入 Windows PE 中执行 Capture。MDT2010 默认配置下,我们执行该任务序列时会指定 Capture WIM 的存储路径,但是如果之前在 Rules 中添加过自动化参数 SkipCapture=Yes,那么我们将遇到下面图中的错误警告信息,即:“WARNING – Unable to validation connection because a blank UNC was specified.”导致任务序列执行失败。

capture_error

        要解决这个问题,我们可以将 Rules 中配置的 SkipCapture=YES 删除,之后在执行任务序列时手工输入 Capture WIM 的存储路径。或者继续完善自动化任务所需的参数数据,使之能够自动执行 Capture WIM 任务序列。为了减少管理员干预次数,我们将预先配置 Capture WIM 时所需的参数数据,此例主要包含3个参数:ComputerBackupLocation、BackupShare 和 BackupDir。

        其中 ComputerBackupLocation 即备份位置,可以是 Network - 网络、Specific Path - 特定路径、Auto - 自动 以及 NONE。这里我们选择使用 Network,将 WIM 存储在网络中。

        之后我们要指定这个网络共享路径,即:BackupShare,如:“\\MDTSRV\DeployShare$\Captures”。

        由于 Sysprep and Capture 任务序列会被复用,为了避免与其他已经 Capture 机器的 WIM 冲突,我们可以使用 BackupDir 参数,并赋予其一个 MDT 变量值 - %OSDComputerName%,这样就会在 \\MDTSRV\DeployShare$\Captures 目录下创建一个以计算机名为名称的目录。

        当了解了各个参数的作用后,我们就可以将这些参数写入到 Rules 中,格式如下:

BackupDir=%OSDComputerName%

BackupShare=\\MDTSRV\DeployShare$\Captures

ComputerBackupLocation=NETWORK

        如果当前已经为 MDT2010 配置了数据库,那么我们可以在 Database – Locations 中创建一个位置,并为其 Details 选项卡中的 User Data 部分配置这些参数数据,如下图所示!

image

        之后再行测试,“WARNING – Unable to validation connection because a blank UNC was specified.”故障问题消失!至此,我们也对 Sysprep and Capture 有了比较深入的了解和认识。

mdt_logo

        企业 ITPro 灵活运用 Microsoft Deployment Toolkit (MDT)部署 Windwos 操作系统,有效地减少了系统维护的工作量,同时也降低了总体拥有成本。很显然当前企业仍在使用 Windows XP 的大有人在,所以众多朋友致力于研究通用型 Windows XP 部署映像,便于在不通硬件类型的计算机上安装。gOxiA 虽然应用 MDT 有几年了,但是也是最近才开始学习制作通用型 Windows XP 映像,目前系统映像已经制作完毕并开始进入测试阶段。所以在 MDT 中使用 Custom image File(自定义映像文件)方式来添加操作系统源,如下图所示。

add_custom_image_file

        之后按照往常一样添加任务,更新部署点并执行部署测试。整个过程很顺利系统成果的被部署在了不通硬件的计算机上,但是发现在部署过程中选择附加要安装的应用程序后,在后续阶段并没有正确执行。也就是说当我完成了操作系统的安装第一次进入桌面后应该自动启动 MDT 的 LTI 脚本程序完成后续的应用程序安装、补丁更新……直至任务全部完成并给出报告。看来是哪里出了问题,查阅网上的资料,MDT 任务脚本程序后续的调用执行依靠 Sysprep 中 GuiRunOnce 字段的配置,这样系统完成部署后第一次进入系统就会执行 GuiRunOnce 配置下的程序。如下图所示,MDT 创建的 Sysprep 文件中 GuiRunOnce 字段下执行了 LiteTouch.wsf 脚本。

"cscript.exe C:\MININT\Scripts\LiteTouch.wsf /start"

LTI_Syaprep

        OK!现在对 Custom image File 映像执行检查。登录部署服务器,单击“开始”-“所有程序”-“Microsoft Windows AIK”-“Deployment Tools Command Prompt”,进入 WAIK 的命令行环境。

        执行下面的命令行,将已经添加到 MDT 中的 Windows XP Pro Sp3 自定义映像挂载到系统分区中事先创建好的 Mount 目录中。

imagex /mountrw "D:\Distribution\Operating Systems\WinXPProSP3\WinXPProSP3.wim" 1 c:\mount

        经查发现自定义映像中的 sysprep.inf 中 RuiRunOnce 字段下只有我手工添加的批处理命令。问题已经明了!我只需要在 Custom image File 下的 Sysprep.inf 中的 GuiRunOnce 字段里手工添加执行 LiteTouch.wsf 脚本的命令即可! 为了避免不通环境中 MININT 目录可能并不在默认的 C 盘中,我们可以在 GuiRunOnce 字段里添加多个盘符下的 LiteTouch.wsf 脚本执行命令,具体可以参考 MDT 创建的 Sysprep.inf 文件。

wim_Syaprep

        最后执行 imagex 命令,并加上"/unmount" (卸载映像)和 "/commit"(保存修改)两个参数,将所做的修改保存至映像中。

        当然即使你不执行上面的操作依然使用 MDT 来部署 Custom image File 也是可行的,唯一需要的就是在执行部署后需要手工找到 LiteTouch.wsf 的位置并执行它,以完成后续的任务。gOxiA 在想,如果与常规安装源一样,MDT 在部署 Custom image File 时能强行替换掉映像中的 Sysprep 文件,那么问题不就得到了彻底的解决,而且也能充分利用 MDT 的自动化技术。

分页: 1/2 第一页 1 2 下页 最后页 [ 显示模式: 摘要 | 列表 ]