Partager via


Création d'un disque dur virtuel (VHD) BizTalk Server à l'aide de Sysprep (exemple BizTalk Server)

Sysprep crée une instantané d’une machine virtuelle avec BizTalk Server installée pour un déploiement rapide sur d’autres machines virtuelles.

Prérequis

Avant d'utiliser Sysprep, vous devez maîtriser l'utilisation des ordinateurs virtuels avec Hyper-V. Vous devez également disposer d'un ordinateur virtuel sur lequel BizTalk Server et tous ses composants requis sont installés correctement et par défaut.

Sysprep est exécuté sous Windows Server 2008 et Windows Vista avec SP1.

Fonctions de l'exemple

Sysprep crée un disque dur virtuel d’une installation BizTalk Server (y compris le système d’exploitation et tous les prérequis) pour un déploiement rapide sur d’autres machines virtuelles. Une image créée à l'aide de Sysprep choisit un nouveau nom d'ordinateur afin de joindre le domaine lors de son premier démarrage. L'exécution correcte de BizTalk Server requiert la mise à jour des diverses instances du nom d'ordinateur stockées dans le Registre et les bases de données.

Ce document, basé sur l'hypothèse que BizTalk Server est configuré pour être exécuté sur un ordinateur unique, montre comment mettre à jour les autres instances du nom d'ordinateur avec le nouveau nom.

Accès à l'exemple

L'exemple se trouve dans l'emplacement SDK suivant :

<Chemin d’accès> des exemples\Administration\Sysprep\

Le tableau suivant présente les fichiers de cet exemple et décrit leur fonction.

Notes

Les fichiers .vbs et .cmd du tableau ci-après sont tous automatisés dans les fichiers de réponses Sysprep (Sysprep.xml et SetupCompletecmd.txt) et sont répertoriés ici pour référence uniquement. Si vous devez exécuter ces scripts manuellement, faites-le dans leur ordre d'apparition dans le tableau.

Fichier Description
Sysprep.xml Fichier de réponses
SetupCompletecmd.txt Fichier de réponses
ReplaceMachineName.vbs Objectif : ouvre un fichier et remplace toutes les instances d’une chaîne donnée par le nom de l’ordinateur actuel. Utile pour préparer les autres fichiers de script et xml et pour mettre à jour le fichier bm.exe.config.

Utilisation : ReplaceMachineName.vbs <fichier à ouvrir><pour remplacer la chaîne>
UpdateRegistry.vbs Objectif : Mises à jour le nom de l’ordinateur stocké dans les paramètres du Registre BizTalk.

Utilisation : UpdateRegistry.vbs <UpdateInfo.xml>. Veillez à remplacer toutes les instances de $(OLDCOMPUTERNAME) et $(NEWCOMPUTERNAME) dans ce fichier xml.
UpdateDatabase.vbs Objectif : Mises à jour le nom de l’ordinateur stocké dans les bases de données de gestion BizTalk.

Utilisation : UpdateDatabase.vbs <UpdateInfo.xml>
UpdateBAMDb.vbs Objectif : Mises à jour le nom de l’ordinateur stocké dans les bases de données BAM.

Utilisation : UpdateBamDb.vbs <UpdateInfo.xml>
UpdateSSO.cmd Objectif : reconfigure le serveur secret Enterprise Single Sign-on (SSO).

Utilisation : sso.cmd <UpdateInfo.xml>
UpdateSqlServerAndInstanceName.cmd Objectif : reconfigure SQL et SQL Express, redémarre une série de services dépendants et réinscrit BAMAlerts.

Utilisation : modifiez le script et remplacez toutes les instances de $(NEWCOMPUTERNAME), puis mettez à jour serviceusername et servicepassword pour les alertes BAM. Exécutez ensuite UpdateSqlServerAndInstanceName.cmd en transmettant l'ancien nom d'ordinateur comme premier argument.

Création des fichiers de réponses et exécution de Sysprep

Pour créer les fichiers de réponses

  1. Installez et configurez BizTalk Server sur une machine virtuelle. Veillez à utiliser les options d'installation et de configuration par défaut car Sysprep ne prend pas en charge l'installation personnalisée.

  2. Copiez le contenu du dossier « scripts » inclus dans C:\Scripts sur l'ordinateur virtuel.

  3. Préparez un fichier de réponses sysprep en modifiant les lignes suivantes dans Sysprep.xml. (Remarque : Ces lignes sont marquées d’un « ! » avant elles.) Vous pouvez les utiliser comme modèle, ou créer votre propre et copier dans la <section FirstLogonCommands> .

    • $(OLDCOMPUTERNAME) Remplacez par le nom d'ordinateur actuel de l'ordinateur virtuel.

    • Comptes d'utilisateurs

    • Mots de passe

    • Les informations relatives à la société doivent également être mises à jour dans UpdateSqlServerAndInstance.cmd et votre fichier Sysprep.xml.

      Vous pouvez également créer un fichier de réponses Sysprep à partir de zéro à l’aide du Kit d’installation automatisée (AIK) sur Windows Server 2008. Vérifiez que votre <section FirstLogonCommands> correspond aux exemples afin que les scripts BizTalk s’exécutent au premier démarrage.

Pour exécuter Sysprep

  1. Ouvrez une invite de commandes et exécutez Sysprep. La commande ressemble à ce qui suit :

    C:\windows\system32\sysprep\sysprep.exe /oobe /generalize /shutdown /unattend:c:\scripts\unattend_Win2K8x64.xml
    
  2. L'exécution de Sysprep prend environ une demi-heure. L'ordinateur virtuel s'arrête automatiquement une fois l'exécution terminée.

  3. Fusionnez alors les captures instantanées et copiez votre fichier VHD dans un emplacement sécurisé.

  4. Votre disque dur virtuel (VHD) est maintenant prêt à être déployé complètement sur d'autres ordinateurs virtuels, avec le système d'exploitation, BizTalk Server et tous les composants requis.

    SetupCompletecmd.txt

del /Q /F c:\windows\system32\sysprep\sysprep.xml
SqlCmd -s . -d Repository -A -Q "drop login [PDC08-CSD\Administrator]"
SqlCmd -s . -d Repository -A -Q "create login [$(COMPUTERNAME)\Administrator] from windows"
SqlCmd -s . -d Repository -A -Q "EXEC sp_changedbowner [$(COMPUTERNAME)\Administrator]"

Sysprep.xml

- <!--
References:
"Unattended Installation Settings Reference" @ https://technet.microsoft.com/library/cc749204.aspx
"How to Sysprep in Windows 2008 " @ http://briandesmond.com/blog/how-to-sysprep-in-windows-2008

Make sure to modify the values specified for the
<Credentials> and <DomainAccounts> sections of this unattend file.

SetupComplete.cmd should be copied to the C:\Windows\Setup\Scripts\ folder before running sysprep.
Contents of SetupComplete.cmd:

del /Q /F c:\windows\system32\sysprep\sysprep.xml
SqlCmd -s . -d Repository -A -Q "drop login [PDC08-CSD\Administrator]"
SqlCmd -s . -d Repository -A -Q "create login [$(COMPUTERNAME)\Administrator] from windows"
SqlCmd -s . -d Repository -A -Q "EXEC sp_changedbowner [$(COMPUTERNAME)\Administrator]"

Sysprep.xml (this file) should be copied to the C:\Windows\System32\sysprep\ folder.

Run sysprep with the following options:

sysprep /generalize /oobe /shutdown /unattend:sysprep.xml
  -->
  <?xml version="1.0" encoding="utf-8" ?>
- <unattend xmlns="urn:schemas-microsoft-com:unattend">
- <settings pass="oobeSystem">
- <component name="Microsoft-Windows-International-Core" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <InputLocale>0409:00000409</InputLocale>
  <SystemLocale>en-US</SystemLocale>
  <UILanguage>en-US</UILanguage>
  <UILanguageFallback>en-US</UILanguageFallback>
  <UserLocale>en-US</UserLocale>
  </component>
- <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <UserAccounts>
- <!--
This sets the password for the Administrator account back to pass@word1
  -->
- <AdministratorPassword>
  <Value>pass@word1</Value>
  <PlainText>true</PlainText>
  </AdministratorPassword>
- <!--
Enter the appropriate value for the <Name> and <Domain> elements here,
this group/account will be added to the local Administrators and Remote Desktop Users groups.
  -->
- <DomainAccounts>
- <DomainAccountList wcm:action="add">
- <DomainAccount wcm:action="add">
  <Name>MSMQ4TR</Name>
  <Group>Administrators;RemoteDesktopUsers</Group>
  </DomainAccount>
  <Domain>Northamerica.corp.microsoft.com</Domain>
  </DomainAccountList>
- <!--
Additional DomainAccountList section. Uncomment/modify this section if you need to add
groups / users from multiple domains to the local Administrators and Remote Desktop Users groups.
                    <DomainAccountList wcm:action="add">
                        <DomainAccount wcm:action="add">
                            <Name>OsloVM_NTDev</Name>
                            <Group>Administrators;RemoteDesktopUsers</Group>
                        </DomainAccount>
                        <Domain>Ntdev.corp.microsoft.com</Domain>
                    </DomainAccountList>
  -->
  </DomainAccounts>
  </UserAccounts>
- <!--
The new computer name is generated using a combination of <RegisteredOwner>, <RegisteredOrganization>, and random alphanumeric characters. Since <RegisteredOrganization> is blank, the new computer name will be OsloVPC-*******.
  -->
  <RegisteredOwner>OsloVPC</RegisteredOwner>
  <TimeZone>Pacific Standard Time</TimeZone>
- <Display>
  <ColorDepth>16</ColorDepth>
  <HorizontalResolution>1024</HorizontalResolution>
  <VerticalResolution>768</VerticalResolution>
  </Display>
  <RegisteredOrganization />
  <StartPanelOff>true</StartPanelOff>
  <ShowWindowsLive>false</ShowWindowsLive>
  <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
  <DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
  <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
- <VisualEffects>
  <FontSmoothing>ClearType</FontSmoothing>
  </VisualEffects>
  </component>
  </settings>
- <settings pass="specialize">
- <component name="Microsoft-Windows-IE-ESC" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <IEHardenAdmin>false</IEHardenAdmin>
  <IEHardenUser>false</IEHardenUser>
  </component>
- <component name="Microsoft-Windows-UnattendedJoin" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <!--
Enter credentials for a user account that has permissions to join a computer to the domain specified in the <JoinDomain> element. (Note: you must enter your password in plaintext here. This file will be deleted at the conclusion of Windows setup by SetupComplete.cmd in the C:\Windows\Setup\Scripts\ folder. For more information see the bottom of "How to Sysprep in Windows 2008" @ http://briandesmond.com/blog/how-to-sysprep-in-windows-2008)
  -->
- <Identification>
- <Credentials>
  <Domain>northamerica</Domain>
  <Username>davidhamilton</Username>
  <Password>******</Password>
  </Credentials>
  <JoinDomain>Redmond.corp.microsoft.com</JoinDomain>
  </Identification>
  </component>
- <component name="Microsoft-Windows-Shell-Setup" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <!--
By specifying a value of "*" for <ComputerName>, Windows setup will generate a new computer name using a combination of <RegisteredOwner>, <RegisteredOrganization>, and random alphanumeric characters. Since <RegisteredOrganization> is blank, the new computer name will be OsloVPC-*******
  -->
  <ComputerName>*</ComputerName>
  <RegisteredOrganization />
- <!--
The new computer name is generated using a combination of <RegisteredOwner>, <RegisteredOrganization>, and random alphanumeric characters. Since <RegisteredOrganization> is blank, the new computer name will be OsloVPC-*******.
  -->
  <RegisteredOwner>OsloVPC</RegisteredOwner>
  <ShowWindowsLive>false</ShowWindowsLive>
  <BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>
- <!--
This setting will copy the profile of the original image to the renamed image when set to true
  -->
  <CopyProfile>true</CopyProfile>
  <DisableAutoDaylightTimeSet>false</DisableAutoDaylightTimeSet>
  <DoNotCleanTaskBar>true</DoNotCleanTaskBar>
  </component>
  </settings>
- <settings pass="generalize">
- <component name="Microsoft-Windows-Security-Licensing-SLC" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <SkipRearm>1</SkipRearm>
  </component>
- <component name="Microsoft-Windows-OutOfBoxExperience" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <DoNotOpenInitialConfigurationTasksAtLogon>true</DoNotOpenInitialConfigurationTasksAtLogon>
  </component>
- <component name="Microsoft-Windows-ServerManager-SvrMgrNc" processorArchitecture="x86" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <DoNotOpenServerManagerAtLogon>true</DoNotOpenServerManagerAtLogon>
  </component>
  </settings>
  <cpi:offlineImage cpi:source="catalog:e:/sources/install_windows longhorn serverenterprise.clg" xmlns:cpi="urn:schemas-microsoft-com:cpi" />
  </unattend>
- <!--
When the virtual machine is started, Windows setup will:

 - Assign the copy a random computer name: "OsloVPC-*****"
 - Reset the local Administrators password to pass@word1
 - Join the domain specified in the sysprep.xml file (under Microsoft-Windows-UnattendedJoin\Identification\JoinDomain)
 - Add the groups/users specified under <DomainAccounts> to the local Administrators and the local Remote Desktop Users group.

Known issues:

 - Sysprep removes the Server Manager icon from the Quick Launch toolbar, investigating how to prevent this.
 - To start SQL Server Management Studio, either connect to the new server name (OsloVPC-*******) or else connect to ".".  The "Server name:" drop-down box in SQL Server Management Studio is pre-populated with "PDC08-CSD" which will not work since the computer name has been changed by sysprep.
 - There are some known issues associated with changing the computer name; renaming the computer after everything was installed was not a design, development or test requirement for this milestone.
  -->

Commentaires

Ces scripts ne modifient pas Microsoft Office SharePoint Server. Si vous utilisez l'adaptateur Windows SharePoint Services, vous devrez probablement reconfigurer Microsoft Office SharePoint Server, puis mettre à jour la clé SharePointAdapterManagementGroup sous HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0\TPM.