Compartir a través de


Sysprep de un VHD de BizTalk Server (ejemplo de BizTalk Server)

Sysprep crea una instantánea de una máquina virtual con BizTalk Server instalado para una implementación rápida en otras máquinas virtuales.

Requisitos previos

Antes de usar Sysprep, debe tener conocimientos sobre el uso de máquinas virtuales con Hyper-V. También debe tener una máquina virtual con una instalación limpia y típica de BizTalk Server y todos sus requisitos previos.

Sysprep se ejecuta en Windows Server 2008 y Windows Vista con SP1.

Descripción del ejemplo

Sysprep crea un disco duro virtual de una instalación de BizTalk Server (incluido el sistema operativo y todos los requisitos previos) para la implementación rápida en otras máquinas virtuales. Una imagen creada mediante Sysprep elegirá un nombre de equipo nuevo para unirse al dominio la primera vez que se inicie. Para que BizTalk Server se ejecute correctamente, es necesario actualizar las distintas instancias del nombre de equipo que se han almacenado en el registro y las bases de datos.

En este documento se da por supuesto que BizTalk Server está configurado para ejecutarse en un único equipo y se muestra cómo actualizar otras instancias del nombre de equipo con el mismo nombre.

Ubicación del ejemplo

El ejemplo se encuentra en la siguiente ubicación del SDK:

<Ruta de acceso de> ejemplos\Administración\Sysprep\

En la tabla siguiente se enumeran los archivos del ejemplo y se describe su propósito.

Nota

Los archivos .vbs y .cmd de la tabla siguiente están todos automatizados en los archivos de respuesta de Sysprep (Sysprep.xml y SetupCompletecmd.txt), y solo se enumeran como referencia. Si necesita ejecutar estos scripts manualmente, hágalo en el orden en que aparecen en la tabla.

Archivo Descripción
Sysprep.xml Archivo de respuesta
SetupCompletecmd.txt Archivo de respuesta
ReplaceMachineName.vbs Propósito: abre un archivo y reemplaza todas las instancias de una cadena determinada por el nombre de equipo actual. Sirve para preparar los demás archivos de script y xml, así como para actualizar bm.exe.config.

Uso: ReplaceMachineName.vbs <archivo para abrir><la cadena que se va a reemplazar>
UpdateRegistry.vbs Propósito: Novedades el nombre del equipo almacenado en la configuración del Registro de BizTalk.

Uso: UpdateRegistry.vbsUpdateInfo.xml<>. Asegúrese de reemplazar todas las instancias de $(OLDCOMPUTERNAME) y $(NEWCOMPUTERNAME) en este archivo xml.
UpdateDatabase.vbs Propósito: Novedades el nombre del equipo almacenado en las bases de datos de administración de BizTalk.

Uso:UpdateInfo.xmlde UpdateDatabase.vbs <>
UpdateBAMDb.vbs Propósito: Novedades el nombre del equipo almacenado en las bases de datos bam.

Uso:UpdateInfo.xmlde UpdateBamDb.vbs <>
UpdateSSO.cmd Propósito: vuelve a configurar el servidor secreto de inicio de sesión único (SSO) de empresa.

Uso: sso.cmd <UpdateInfo.xml>
UpdateSqlServerAndInstanceName.cmd Propósito: reconfigura SQL y SQL Express, reinicia una serie de servicios dependientes y vuelve a registrar BAMAlerts.

Uso: edite el script y reemplace todas las instancias de $(NEWCOMPUTERNAME) y actualice serviceusername y servicepassword para las alertas de BAM. A continuación, ejecute UpdateSqlServerAndInstanceName.cmd y pase el nombre de equipo antiguo como el primer argumento.

Creación de los archivos de respuesta y ejecución de Sysprep

Para crear los archivos de respuesta

  1. Instale y configure BizTalk Server en una máquina virtual. Asegúrese de usar las opciones de instalación y configuración predeterminadas, porque Sysprep no es compatible con la instalación personalizada.

  2. En la máquina virtual, copie el contenido de la carpeta incluida “scripts” en C:\Scripts.

  3. Prepare un archivo de respuesta sysprep modificando las líneas siguientes en Sysprep.xml. (Nota: Estas líneas se marcan con un "!" antes de ellos). Puede usarlos como plantilla, o crear su propia copia y copia en la <sección FirstLogonCommands> .

    • $(OLDCOMPUTERNAME) Reemplácelo con el nombre del equipo de la máquina virtual.

    • Cuentas de usuario

    • Contraseñas

    • También se deben actualizar los detalles de la compañía en UpdateSqlServerAndInstance.cmd y el Sysprep.xml.

      Como alternativa, puede crear un archivo de respuesta de Sysprep desde cero mediante el uso del Kit de instalación automatizada (AIK) en Windows Server 2008. Asegúrese de que la <sección FirstLogonCommands> coincida con los ejemplos para que los scripts de BizTalk se ejecuten en el primer arranque.

Para ejecutar Sysprep

  1. Abra un símbolo del sistema y ejecute Sysprep. El comando será similar a:

    C:\windows\system32\sysprep\sysprep.exe /oobe /generalize /shutdown /unattend:c:\scripts\unattend_Win2K8x64.xml
    
  2. Sysprep tarda aproximadamente media hora en ejecutarse. Cuando haya finalizado, se apagará automáticamente la máquina virtual.

  3. Una vez se haya apagado la máquina virtual, combine las instantáneas y copie el archivo VHD en una ubicación segura.

  4. El VHD está ahora listo para implementarse en otras máquinas virtuales, completo con el sistema operativo, BizTalk Server y todos los requisitos previos.

    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.
  -->

Comentarios

Estos scripts no modifican Microsoft Office SharePoint Server. Si usa el adaptador de Windows SharePoint Services, probablemente será necesario volver a configurar Microsoft Office SharePoint Server y, a continuación, actualizar la clave SharePointAdapterManagementGroup en HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk Server\3.0\TPM.