BootStrap.ini是MDT用来控制部署进程的两个文件之一(另一个则是稍后会提到的CustomSetting.ini)。这两个文件都位于部署共享的控制面板当中。也就是说,这些文件是部署共享中特有的。换言之,如果我们拥有一个以上的部署共享,那么每个部署共享都有其用来控制部署的配置文件。
当目标电脑被Windows PE映像启动,连接到部署共享并开始初始化进程时,会使用到BootStrap.ini。所以,BootStrap.ini必须包含一切在目标电脑和部署共享间建立成功连接的信息。
在上一篇文章中,用来示例的BootStrap.ini文件如下所示:
[Settings] Priority=Default
[Default] DeployRoot=\\SEA-DC1\DeploymentShare$ UserID=Administrator UserDomain=CONTOSO UserPassword=Pa$$w0rd KeyboardLocale=en-US SkipBDDWelcome=YES |
BootStrap.ini由两个部分组成:设置和默认。设置部分是必需的,它只包含一个名为Priority的属性。该属性会告知MDT以什么样的顺序分析配置文件余下部分。
默认部分是要完成的部分。确切点说是这些:
• DeployRoot属性指定了部署共享的UNC路径,这是一条必要信息,有助于安装。
• UserID,UserDomain和UserPassword为运行Windows PE的目标电脑指定了用来连接部署共享的凭证。这也是必要信息。在上面的BootStrap.ini示例文件中,使用了域管理员的帐户。出于安全考虑,在实际环境中,建议不要使用这一帐户。而应该创建一个新的帐户,单独用于部署。例如,我们可以创建一个名为MDT的域帐户。由于存在分配给部署公司的NTFS和共享文件夹许可,所以,MDT帐户只充当域用户组中的一个组成部分——它不需要成为域管理员组中的要素。注意,用于该帐户的密码以未加密的形式保存在BootStrap.ini文件中。
• KeyboardLocale属性为目标电脑上附带的键盘指定了位置。键盘位置可以以文本形式或十六进制形式指定。我们可以用分号来指定多个数值。如果从BootStrap.ini中删除该属性,那么Windows部署向导将使用部署映像中配置的键盘位置。
• SkipBDDWelcome=YES阻止了Windows部署向导的开始页的显示。如果要完全实现LTI自动化,就必须对其进行阻止。
上述六个属性是BootStrap.ini中可以存在的所有属性。记住,如果用户想对BootStrap.ini文件作出任何修改,必须对部署共享同时作出更新,以便为共享中的Boot文件夹生成新的LiteTouch Windows PE映像。
了解CustomSettings.ini
CustomSettings.ini是另一个配置文件,它同样专属于部署共享。一旦BootStrap.ini的工作结束,CustomSettings.ini便会接手,然后完成余下的部署进程。上一篇文章中CustomSettings.ini文件示例如下:
[Settings] Priority=Default Properties=MyCustomProperty
[Default] OSInstall=YES SkipAdminPassword=YES SkipApplications=YES SkipAppsOnUpgrade=YES SkipBDDWelcome=YES SkipBitLocker=YES SkipCapture=YES SkipComputerName=YES SkipComputerBackup=YES SkipDeploymentType=YES DeploymentType=NEWCOMPUTER SkipDomainMembership=YES JoinDomain=CONTOSO DomainAdmin=Administrator DomainAdminDomain=CONTOSO DomainAdminPassword=Pa$$w0rd SkipFinalSummary=YES SkipLocaleSelection=YES KeyboardLocale=en-US UserLocale=en-US UILanguage=en-US SkipPackageDisplay=YES SkipProductKey=YES SkipSummary=YES SkipTaskSequence=YES TaskSequenceID=WIN7_001 SkipTimeZone=YES TimeZoneName=Central Standard Time SkipUserData=Yes |
上述CustomSettings.ini文件也是由设置和默认两部分组成,但是,CustomSettings.ini还可以包含其他部分。比方,我们可以为部署Windows指定电脑模式或是网络位置。后续文章中,我们将对此进行了解。
上面示例的默认部分包含了大量不同的属性对。这还只是300个不同属性中的一小部分,我们可以指定这些属性来控制部署进程。示例中使用了两个基本属性:skip属性和其他属性。
skip属性能决定在目标电脑上进行安装时,是否显示某一特定的Windows部署向导页面。例如,如果指定SkipComputerName=YES,那么向导的配置电脑名页面就不会显示出来;如果SkipComputerName=NO,那么该页面就会显示出来,而安装者就要对此作出回应以继续安装。如果想要实现自动化安装,就必须将所有可能的skip属性指定为YES,我们的示例亦是如此。换句话说,skip属性的完整列表应如下所示:
SkipAdminPassword=YES SkipApplications=YES SkipAppsOnUpgrade=YES SkipBDDWelcome=YES SkipBitLocker=YES SkipCapture=YES SkipComputerName=YES SkipComputerBackup=YES SkipDeploymentType=YES SkipDomainMembership=YES SkipFinalSummary=YES SkipLocaleSelection=YES SkipPackageDisplay=YES SkipProductKey=YES SkipSummary=YES SkipTaskSequence=YES SkipTimeZone=YES SkipUserData=Yes |
将列表中的每一项都纳入CustomSetings.ini文件中的便利之处在于,如果我们希望在部署的某个阶段,让用户介入操作,则可以随时将与之对应的属性改为NO。例如,如果我们希望用户选择是否启用BitLocker Drive Encryption,只需要将CustomSettings.ini文件中的SkipBitLocker=YES 改为SkipBitLocker=NO,再指定部署向导的BitLocker配置页面于安装过程中显示出来,即可。
如果我们的目的只是完全实现LTI安装的自动化,可以将上述skip属性替换成下面两行即可:
SkipWizard=YES SkipFinalSummary=YES |
换言之,我们们此前的CustomSettings.ini文件可以缩减成这样:
Priority=Default Properties=MyCustomProperty
[Default] OSInstall=YES SkipWizard=YES SkipFinalSummary=YES DeploymentType=NEWCOMPUTER JoinDomain=CONTOSO DomainAdmin=Administrator DomainAdminDomain=CONTOSO DomainAdminPassword=Pa$$w0rd KeyboardLocale=en-US UserLocale=en-US UILanguage=en-US TaskSequenceID=WIN7_001 TimeZoneName=Central Standard Time |
缩减后CustomSettings.ini文件中默认部分的其他属性呢?其他属性提供了Windows部署向导显示出来时,用户所需的手动输入信息。
OSInstall=YES |
这一命令表明部署被授权继续进行。如果我们删除这一行,部署会按照默认设置进行。
DeploymentType=NEWCOMPUTER |
这一行命令表明目标电脑是台新电脑,没有加入过其他网络。这一属性可能出现的其他值是REFRESH,REPLACE和UPGRADE。
DomainAdmin=Administrator DomainAdminDomain=CONTOSO DomainAdminPassword=Pa$$w0rd |
这些命令表明该电脑会在安装过程中加入CONTOSO域。注意,虽然该示例使用的是域管理员帐户,但是我们可以使用域用户的一个帐户,如之前为BootStrap.ini创建的MDT 用户帐户。
UserLocale=en-US UILanguage=en-US |
这些命令指示了键盘位置,用户位置和语言设置。第一行应该是可选项,因为它在BootStrap.ini中同样可以被指定,但是如果我们没有设置其余两行,那么部署向导的位置选择页面就会显示出来。
TaskSequenceID=WIN7_001 |
这一命令能识别用于安装的任务序列。
TimeZoneName=Central Standard Time |
这一命令指示了电脑将被配置的时区。
这些是CustomSettings.ini实现LTI自动安装所要包含的所有属性吗?要视情况而定,如果我们没有在安装过程中安装任何数据包或应用,而且我们在安装过程中不会改变用户的状态信息,且在目标电脑中没有配置BitLocer,那么缩减后的CustomSettings.ini文件就足够了。
假设,我们需要在安装过程中安装语言包要怎么办?首先,必须向部署共享的数据包文件夹中添加语言包。然后我们可以检查部署共享中控制面板的Packages.xml文件,以此来确定与语言包相关的GUID。最后,将 LanguagePacks001=value 命令行置入CustomSettings.ini文件中,其中value就是语言包的GUID。以后我们会就自动完成LTI安装的进程和其他自定义设置进行讲解。
最后一个问题:如果我们想将一个语言包置入安装进程,那我们怎么知道要将LanguagePacks001=value 命令行置入CustomSettings.ini文件中呢?答案很简单——查看操作指南!大家应该对下面的MDT 2010文档库(安装在MDT 2010中的帮助文件.chm)标题很熟悉:
• 为跳过的Windows部署向导页面提供属性——这一标题列出了跳过若干Windows部署向导页面后,我们需要置入CustomSettings.ini中的属性。
• 属性定义——这一标题列出了所有需要置入CustomSettings.ini中的属性极其用途。
这些标题都可以在MDT参考的帮助文件中找到,再以后的文章中,我们也会陆续提及。