[MDT] 利用 MDT 2010 的 Media 功能实现单机的轻量级接触部署 Windows Server 2003
MDT 2010 中加入了一个新的高级功能 - Media,通过该功能我们可以实现客户端部署时脱离网络的限制,即无需 PXE 引导和 WDS 以及 MDT 节点服务器。部署涉及的脚本控制、任务序列、应用软件、操作系统、驱动等等数据都可以打包到一起生成 ISO 文件,刻录成DVD光盘使用。或者,将其直接拷贝到 U 盘,通过 U 盘进行安装(注意:该方法必须在 Windows Vista 或 Windows 7 系统上对 U 盘执行分区、格式化、激活才能实现引导)。对于单机部署来说,十分方便快捷!并且能实现最小化的接触安装。
gOxiA 最近实施一个小项目,为5台 Dell 服务器进行系统安装,由于环境和时间约束无法部署 WDS+MDT2010,那么为了节省时间并减少人为干预,通过传统载体实现自动化安装是最佳的方式。最终,gOxiA 选择了 MDT 2010 的 Media 高级功能,该方案非常适合此项目的实施!整个设置步骤和操作过程其实都非常简单,gOxiA 认为重点主要还是在设计规划上,首先要尽可能的实现少量接触,此外还要保证其相对的通用性。这5台 Dell 服务器除了型号不同以外,有些还应用了 RAID5。因为操作系统是 Retail 的 Windows Server 2003 R2 Standard Edition,所以自动化步骤中的产品密钥部分就要单独考虑。此外,因为必须要在设备抵达前就准备好系统安装所需,那么通过设备序号或 MAC 来标识安装的办法亦不可取,最后的设计是产品密钥使用通用密钥,之后单独输入各自的产品密钥手工激活;计算机名也是用自动命名方式,之后再单独进行更改;系统分区没有特别要求,故分配40G。
完成了计划便可以进入准备工作,为了减少数据占用的容量建议单独创建一个 Point,添加 Windows Server 2003 R2 安装源文件,添加磁盘控制器、显卡、网卡等驱动,具体的步骤就不再复述,需要注意是任务序列创建过程中序列号应当输入一个通用密钥,以便后续部署过程中能够自动输入序列号。当准备工作完成后,便可以使用“Advanced Configuration”下的“Media”功能开始创建单机部署源。
创建过程也非常简单,可以参考下面的截图。
下面开始重点部分,因为要部署的 Windows Server 2003 R2 是 32-bit 版本,所以在 General 选向卡下去除 Generate x64 boot image 的复选。因为考虑到还要通过光盘来部署系统,所以 Generate a Lite Touch bootable ISO image 选向也是必须的。
我们知道默认的 Rules 和 Bootstrap.ini 配置非常简单,无法满足我们所需的自动化安装步骤,所以要完成前面所讲到的目标,我们需要对这两个配置文件进行修改。
如下图所示,这是 gOxiA 做好的配置,其中 Bootstrap.ini 里 [Default] 部分添加的“SkipBDDWelcome=YES”是略去部署环境开始时的欢迎界面。
Rules 配置文件中 [Default] 部分的详细数据如下:
[Default]
OSInstall=Y
SkipAppsOnUpgrade=YES
SkipSummary=YES(忽略部署环境中最后的摘要)
SkipCapture=YES
SkipAdminPassword=YES
SkipProductKey=YES(忽略产品密钥的输入)
SkipLocaleSelection=YES
SkipDomainMembership=YES(忽略加入域的步骤,即默认为工作组)
KeyboardLocale=0804:00000409(指定键盘区域为中文简体)
InputLocale=0804:00000409(指定输入法为中文简体)
UserLocale=0804:00000409(指定用户默认语言为中文简体)
SkipTimeZone=YES(忽略时区设置)
TimeZone=210(指定时区代码)
TimeZoneName=China Standard Time(指定时区的名称)
DoCapture=NO
SkipUserData=YES
UserDataLocation=NONE
SkipFinalSummary=YES(忽略部署的最后结果摘要,可根据需要选择,如果之前已经进行过完整的测试,那么可以忽略该摘要。)
SkipTaskSequence=YES(忽略任务序列的选择)
BuildID=001(指定任务序列ID,这个变量同样是定义 Task Sequence ID 的,但是由于该变量沿用BDD2007中的变量,并且是内置变量,无法通过 MDT 控制台进行编辑,我们可以将其看作为一个索引值。在实际应用中,BuildID和TaskSquenceID必须一同使用。否则单一指定TaskSquenceID无效。)
TaskSquenceID=001(指定任务序列的ID)
SkipComputerName=YES(忽略计算机名)
看了上面提供的配置数据,我相信对 MDT2010 有一定认识的朋友,能很容易看懂!并能够灵活应用到实际环境中。
[MDT] 使用 Sysprep and Capture 任务序列创建系统映像
继之前两篇日志《解决 A connection to the deployment share could not be made. The deployment will not proceed.》和《解决 Capture 时出现的 Unable to validation connection because a blank UNC was specified. 错误》,我们对 MDT 的 Sysprep and Capture 任务序列已经有了非常深入的了解和认识,但是 gOxiA 在测试一台位于工作组级别的计算机执行 Sysprep and Capture 任务序列时仍旧提示 the deployment will not proceed 错误,几经波折发现在访问和执行 MDT 共享目录下的脚本时是需要技巧的。测试成功之后不敢独享,特撰文出来与大家探讨!
按照常规的操作我们通常会打开网络邻居键入 MDT 的共享路径,而该共享路径默认配置为 ShareName$,当工作组级别的计算机在访问时又需要进行身份验证,故几次测试 Sysprep and Capture 任务序列都失败告终(PS:当计算机加入到 AD 后无此问题,很纳闷!),最后发现当把 MDT 的 ShareName$ 映射到本地 Z: 后故障消失!看来 MDT 脚本存在一定的问题,不管怎样问题得到了解决,要正确执行 Sysprep and Capture 任务序列,则强烈建议通过命令行执行脚本,大致步骤如下:
之后提示键入验证用户的密码,随后执行:
之后在 cmd 环境会出现脚本执行的详细细节,之后直接探出任务序列选择列表,这点与之前的执行过程略有不同,无需再次验证身份。在任务序列选择列表中,选择执行 Sysprep and Capture,跟随向导确定完成,最后就出现于下图所示的任务执行截图。
虽然问题都已经得到了解决,但是 gOxiA 总感觉之前的 《解决 A connection to the deployment share could not be made. The deployment will not proceed.》 失去了意义,迫于精力有限无法继续证实,还望有条件的朋友能继续测试给于不同的见解和意见!
[MDT]解决 Capture 时出现的 Unable to validation connection because a blank UNC was specified. 错误
在 MDT2010 中微软设计添加了一个新的任务序列,即:Sysprep and Capture。利用该任务序列,管理员可以轻松地对已经安装好的系统执行系统准备和捕获,以便于以后做批量部署之用。
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.”导致任务序列执行失败。
要解决这个问题,我们可以将 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 中,格式如下:
如果当前已经为 MDT2010 配置了数据库,那么我们可以在 Database – Locations 中创建一个位置,并为其 Details 选项卡中的 User Data 部分配置这些参数数据,如下图所示!
之后再行测试,“WARNING – Unable to validation connection because a blank UNC was specified.”故障问题消失!至此,我们也对 Sysprep and Capture 有了比较深入的了解和认识。