完成ADS部署XP

[ 2005/11/04 18:11 | by gOxiA ]

经过几天的反复测试,终于完成了ADS部署XP的试验。看来不经过反复的失败、试验是无法从胜利中得到技术和知识积累的。

ADS原则上是不支持桌面操作系统的,因为ADS控制客户端必须依靠ADS代理,而进入ADS代理环境有两种方式,第一种是在Windows 2000服务器版和Windows Server 2003上安装代理程序,而此程序只支持有限的系统版本;另一种是使用PXE引导至ADS的代理环境。从以上所述可以看出要想真正的实现全自动化部署,ADS代理占着至关重要的地位。

经过多次的试验,XP的全自动化部署还是可行的。重点在于选择正确的部署顺序,并修改执行任务脚本。在这次的试验中,我的方法如下:

1、安装XP原型机,做系统准备工作,生成全自动化mini安装应答文件,并修改相应的变量,最后手工执行sysprep及其必须的参数;

2、在ADS服务器中添加此设备,修改默认任务为boot-to-da,添加此设备对应的变量并授予控制;

3、开启原型机,检查其是否顺利进入代理环境并进入预备状态;

4、创建新的Capture-Image任务脚本,其任务顺序是:捕获系统映像(或其他分区映像)—> 修改原型机的sysprep.inf(因为原型机上的sysprep.inf包含ADS变量,当重新启动后会无法正确执行自动化mini安装,所以要将变量修改为实际值)—> 将原型机默认任务修改为boot-to-hd —> reboot ;

注:此步骤虽然按照自动化理念执行,但是当原型机重新进入系统后,ADS的控制便会出现错误,首先表现在任务执行最后一步reboot无反馈,导致任务一直在执行状态,这时候你需要手工停止任务。原因很简单原型机上未安装ADS代理,曾经尝试在任务脚本最后添加adsdevice /rc ,但是发现在代理环境下不允许执行此命令,所以最终还是要手工将其释放控制。不过,我感觉最后的reboot可以更换为shutdown,这样原型机关闭电源后,ADS设备中就可以正常释放控制,否则你会发现原型机重新启动后,ADS设备管理中你无法释放控制。

5、在ADS设备中添加要部署的客户端设备,修改默认任务为boot-to-da,添加此设备对应的变量并授予控制;

6、开启此客户端,检查其是否顺利进入代理环境并进入预备状态;

7、创建新的Deploy-Image任务脚本,其任务顺序是:对客户分区(如果存在多个分区,你可以添加多条分区指令)—> 部署映像(如果要部署多分区映像,可添加多条指令) —> 修改目标客户端上的sysprep.inf —> 将原型机默认任务修改为boot-to-hd —> reboot ;

至此ADS部署XP就算完成,如果客户端支持网卡远程启动,那么就实现了真正意义上的全自动化。多么希望ADS代理支持XP或者2000PRO,曾试着解包代理程序去掉系统版本验证,可惜对这些确实不精通无奈放弃,希望其他朋友能有能力修改代理程序使其支持桌面版系统。

在此次的试验中我大概算了一下时间,捕获和部署映像的耗时差不多,在PIV2.4G/128M的虚拟机中,各需10多分钟,而这个时间还只是捕获纯系统映像,如果系统安装有应用软件,或包含其他分区映像捕获需要的时候可能更长。而ghost单机克隆时,只需要3分多钟,但是ADS的优势还是显而易见的。

接下来我将找一个实际的环境进行大规模部署测试,希望能拿到一个实际数据来对比ghost网播。

因为准备做ADS部署XP的试验,所以首先要把XP用的sysprep应答文件搞定。如果单纯的使用动态分配服务,那么应答文件的制作是非常简单的,但是如果客户端都需要手工配置网络属性并要添加IP/IPX协议,那么就麻烦了许多,当使用setupmgr.exe制作应答文件时,你会发现根本无法添加配置网络。所以我手工写了一个全自动安装应答文件,留作后用!

sysprep.inf

;SetupMgrTag
[Unattended]
    OemSkipEula=Yes
    InstallFilesPath=C:\sysprep\i386

[GuiUnattended]
    AdminPassword=*
    EncryptedAdminPassword=NO
    OEMSkipRegional=1
    TimeZone=210
    OemSkipWelcome=1

[UserData]
    ProductKey=xxxxx-xxxxx-xxxxx-xxxxx-xxxxx
    FullName="gOxiA"
    OrgName="MAYTIDE"
    ComputerName=WXPSP2

[TapiLocation]
    CountryCode=86
    Dialing=Tone

[RegionalSettings]
    LanguageGroup=10
    SystemLocale=00000804
    UserLocale=00000804
    InputLocale=0804:00000804

[SetupMgr]
    DistFolder=C:\sysprep\i386
    DistShare=windist

[Identification]
    JoinWorkgroup=WORKGROUP

[Networking]
    InstallDefaultComponents=No

[NetAdapters]
    Adapter1=params.Adapter1

[params.Adapter1]
    INFID=*

[NetClients]
    MS_MSClient=params.MS_MSClient

[NetServices]
    MS_SERVER=params.MS_SERVER

[NetProtocols]
    MS_TCPIP=params.MS_TCPIP
    MS_NWIPX=params.MS_NWIPX

[params.MS_TCPIP]
    DNS=No
    UseDomainNameDevolution=No
    EnableLMHosts=Yes
    AdapterSections=params.MS_TCPIP.Adapter1

[params.MS_TCPIP.Adapter1]
    SpecificTo=Adapter1
    DHCP=No
    IPAddress=192.168.0.10
    SubnetMask=255.255.255.0
    DefaultGateway=192.168.0.1
    DNSServerSearchOrder=192.168.0.252,192.168.0.253
    WINS=No
    NetBIOSOptions=0

[params.MS_NWIPX]
    VirtualNetworkNumber=00000000
    AdapterSections=params.MS_NWIPX.Adapter1

[params.MS_NWIPX.Adapter1]
    SpecificTo=Adapter1
    PktType=0x2

添加设备

格式:

adsdevice [/scontrollername [/uusername/wpassword]] /adddevicename [/description "text"] [ /ipipaddress] [/adminmacmacaddress] [/guidsmbiosguid] [/assettagassettag] [/jobtemplatetemplatename] [/?]


举例:
Adsdevice /add MACHINENAME /description THIS IS NODE  /ip 192.168.0.1 /adminmac 0003FF78543 /guid 239d1df6-1dd6-11b2-f0e7-0003FF78 /jobtemplate reboot-to-da

添加映像到ADS数据库

格式:

adsimage [/scontrollername [/uusername/wpassword]] /addimagename/pathimagepath [/description]

将映像影射为本地驱动器

格式:

imgmount /mount /w {imagefilename} /d: driveletter

将变量添加到控制器中的设备数据库

格式:

Adsdevice /edit device-name /setvar variable-name "value"


举例:
Adsdevice /edit MACHINENAME /setvar DNSServerSearchOrder "192.168.0.252,192.168.0.253"

分页: 48/50 第一页 上页 43 44 45 46 47 48 49 50 下页 最后页 [ 显示模式: 摘要 | 列表 ]