Appendix D (Server Clusters: Remote Setup, Unattended Installations and Image-based Installations)

Applies To: Windows Server 2003 with SP1

This is a sample ADS Sequence file that can be used for installation of a server cluster. By using this sequence file in conjunction with [sysprep.inf] in appendix F , Mini-Setup will create a cluster called mnhp11 with one node mnhp11n3, will assign drive letters (will use Creatfs.bat from appendix C) to shared storage drives and create a cluster file share called SVFileShare (will use CreateFS.vbs from appendix B). All variables (anything that is between $xxxx$ such as Product key, domainname, computer names etc) in the <!-- STEP 3 Personalize the sysprep.inf file --> section of the below file needs to be defined as described in Appendix G. In addition, you would need to define cluster name, user data, passwords and IP addresses need to be replaced in the appendix G with real ones before you can use this file.

FileName: [da-deploy-image-form-servercluster.xml]

<?xml version="1.0" encoding="utf-8"?> 
<!-- 
    This file is part of the Microsoft ADS Samples 
    Copyright (c) Microsoft Corporation. All rights reserved. 
    Sample sequence to purpose a device that is currently running the 
    Deployment Agent and configure it connect it to a domain. 
    The image to be provisioned must have been captured with a sysprep.inf 
    containing the strings ^ADS_WINDOWS_PRODUCT_KEY^ , ^DomainAdminPassword^ 
    etc as in the personalize step below. 
    Device variables must have been created for the devices as in the 
    personalize step below. 
    To use: boot a target into the Deployment Agent, then run this sequence 
    against that device. 
--> 
<!-- start sequence --> 
<sequence command="da-deploy-image-form-servercluster.xml" description="Deploy an image and configure the machine to join domain and form a cluster" 
    xmlns="https://schemas.microsoft.com/ads/2003/sequence" version="1"> 
    <!-- STEP 1 Create a single 4999MB partition on the disk --> 
    <task description="Partition the disk"> 
        <command>/bmonitor/bmpart.exe</command> 
        <parameters> 
            <parameter>\device\harddisk0\partition0</parameter> 
            <parameter>/init</parameter> 
            <parameter>/C:4999</parameter> 
            <parameter>/A</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 2 download images --> 
    <task description="Download image"> 
        <command>/imaging/imgbmdeploy.exe</command> 
        <parameters> 
            <parameter>3718Plain</parameter> 
            <parameter>\device\harddisk0\partition1</parameter> 
            <parameter>-r</parameter> 
            <parameter>-client</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 3 Personalize the sysprep.inf file --> 
    <task description="Set sysprep custom info in the sysprep.inf file"> 
        <command>/bmonitor/bmstrrep.exe</command> 
        <parameters> 
            <parameter>\device\harddisk0\partition1\sysprep\sysprep.inf</parameter> 
            <parameter>^ProductKey^</parameter> 
            <parameter>"$ProductKey$"</parameter> 
            <parameter>^OEMDuplicatorstring^</parameter> 
            <parameter>"$OEMDuplicatorstring$"</parameter> 
            <parameter>^FullName^</parameter> 
            <parameter>"$FullName$"</parameter> 
            <parameter>^OrgName^</parameter> 
            <parameter>"$OrgName$"</parameter> 
            <parameter>^DomainAdmin^</parameter> 
            <parameter>"$DomainAdmin$"</parameter> 
            <parameter>^DomainAdminPassword^</parameter> 
            <parameter>"$DomainAdminPassword$"</parameter> 
            <parameter>^DomainName^</parameter> 
            <parameter>"$DomainName$"</parameter> 
            <parameter>^System_Admin_password^</parameter> 
            <parameter>"$System_Admin_password$"</parameter> 
            <parameter>^COMPUTER_NAME^</parameter> 
            <parameter>"$Device.System.Name$"</parameter> 
            <parameter>^ConnectionName1^</parameter> 
            <parameter>"$ConnectionName1$"</parameter> 
            <parameter>^netcardaddress1^</parameter> 
            <parameter>"$netcardaddress1$"</parameter> 
            <parameter>^DHCP1^</parameter> 
            <parameter>"$DHCP1$"</parameter> 
            <parameter>^IPAddress1^</parameter> 
            <parameter>"$IPAddress1$"</parameter> 
            <parameter>^SubnetMask1^</parameter> 
            <parameter>"$SubnetMask1$"</parameter> 
            <parameter>^WINS1^</parameter> 
            <parameter>"$WINS1$"</parameter> 
            <parameter>^ConnectionName2^</parameter> 
            <parameter>"$ConnectionName2$"</parameter> 
            <parameter>^netcardaddress2^</parameter> 
            <parameter>"$netcardaddress2$"</parameter> 
            <parameter>^DHCP2^</parameter> 
            <parameter>"$DHCP2$"</parameter> 
            <parameter>^IPAddress2^</parameter> 
            <parameter>"$IPAddress2$"</parameter> 
            <parameter>^SubnetMask2^</parameter> 
            <parameter>"$SubnetMask2$"</parameter> 
            <parameter>^DefaultGateway2^</parameter> 
            <parameter>"$DefaultGateway2$"</parameter> 
            <parameter>^DNSServerSearchOrder2^</parameter> 
            <parameter>"$DNSServerSearchOrder2$"</parameter> 
            <parameter>^WINSServerList2^</parameter> 
            <parameter>"$WINSServerList2$"</parameter> 
            <parameter>^WINS2^</parameter> 
            <parameter>"$WINS2$"</parameter> 
            <parameter>^CLUSTER_COMMAND_MOUNT^</parameter> 
            <parameter>"$CLUSTER_COMMAND_MOUNT$"</parameter> 
            <parameter>^CLUSTER_COMMAND^</parameter> 
            <parameter>"$CLUSTER_COMMAND$"</parameter> 
            <!-- <parameter>^AssignDriveLetters^</parameter> --> 
            <!-- <parameter>"$AssignDriveLetters$"</parameter> --> 
            <!-- <parameter>^FileShare^</parameter> --> 
            <!-- <parameter>"$FileShare$"</parameter> --> 
        </parameters> 
    </task> 
    <!-- STEP 4 set Controller IP --> 
    <task description="Set controller IP address"> 
        <command>/bmonitor/bmsetreg.exe</command> 
        <parameters> 
            <parameter>-h:\device\harddisk0\partition1\windows\system32\config\system</parameter> 
            <parameter>controlset001\control\bmss</parameter> 
            <parameter>controlleripaddress</parameter> 
            <parameter>reg_multi_sz</parameter> 
            <parameter>$controller.system.adminipaddr$</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 5 set BMDP port number --> 
    <task description="Set BMDP port number"> 
        <command>/bmonitor/bmsetreg.exe</command> 
        <parameters> 
            <parameter>-h:\device\harddisk0\partition1\windows\system32\config\system</parameter> 
            <parameter>controlset001\control\bmss</parameter> 
            <parameter>bmdpipport</parameter> 
            <parameter>reg_dword</parameter> 
            <parameter>$controller.system.bmdpport$</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 6 set BMCP port number --> 
    <task description="Set BMCP port number"> 
        <command>/bmonitor/bmsetreg.exe</command> 
        <parameters> 
            <parameter>-h:\device\harddisk0\partition1\windows\system32\config\system</parameter> 
            <parameter>controlset001\control\bmss</parameter> 
            <parameter>bmcpipport</parameter> 
            <parameter>reg_dword</parameter> 
            <parameter>$controller.system.bmcpport$</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 7 set management MAC address --> 
    <task description="Set management MAC address"> 
        <command>/bmonitor/bmsetreg.exe</command> 
        <parameters> 
            <parameter>-h:\device\harddisk0\partition1\windows\system32\config\system</parameter> 
            <parameter>controlset001\control\bmss</parameter> 
            <parameter>bindexcept</parameter> 
            <parameter>reg_multi_sz</parameter> 
            <parameter>$controller.system.adminmac$</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 8 copy public key to target --> 
    <task description="Copy public key certificate file to target"> 
        <command>/bmonitor/bmfilexfer.exe</command> 
        <parameters> 
            <parameter>-d</parameter> 
            <parameter>"c:\program files\Microsoft ADS\certificate\adsroot.cer"</parameter> 
            <parameter>\device\harddisk0\partition1\windows\temp\adsroot.cer</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 9 set BMSS public key certificate  --> 
    <task description="Set the BMSS public key certificate"> 
        <command>/bmonitor/bmsetreg.exe</command> 
        <parameters> 
            <parameter>-h:\device\harddisk0\partition1\windows\system32\config\system</parameter> 
            <parameter>-f</parameter> 
            <parameter>-r</parameter> 
            <parameter>controlset001\control\bmss\bmcpcertificates</parameter> 
            <parameter>AgentCert</parameter> 
            <parameter>reg_binary</parameter> 
            <parameter>\device\harddisk0\partition1\windows\temp\adsroot.cer</parameter> 
        </parameters> 
    </task> 
    <!-- STEP 10 Reboot the machine --> 
    <task doesReboot="true" timeout= "600" description="Reboot"> 
        <command>/bmonitor/reboot</command> 
    </task> 
    <!-- STEP 11 When PXE request comes in, boot to hard disk (starts mini-setup) --> 
    <task doesReboot="true"  timeout= "600" description="Boot to hard disk"> 
        <command>/pxe/boot-hd</command> 
    </task> 
    <!-- STEP 12 At end of mini-setup, machine will reboot, so when PXE request comes in 
    boot to the hard disk (start the newly installed operating system) 
    --> 
    <task timeout= "600" description="Boot to hard disk"> 
        <command>/pxe/boot-hd</command> 
    </task> 
    <!-- STEP 13 update device record to always boot to hard disk in the future --> 
    <!-- ADS Install folder needs to be updated, if you have installed ADS to a folder --> 
    <!-- other than "C:\program files\Microsoft ads" --> 
    <task description="Set default job template as boot to hard disk"> 
        <command target="controller">C:\Program Files\Microsoft ADS\tools\adsdevice.wsf</command> 
        <parameters> 
            <parameter>-e</parameter> 
            <parameter>$Device.System.Name$</parameter> 
            <parameter>-jobtemplate</parameter> 
            <parameter>boot-to-hd</parameter> 
        </parameters> 
    </task> 
</sequence>