

# Creación de una AMI mediante Windows Sysprep con EC2Launch
<a name="ec2launch-sysprep"></a>

Cuando crea una imagen a partir de una instancia con el agente de EC2Launch instalado, EC2Launch realiza tareas específicas a medida que se prepara la imagen. Esto incluye trabajar con Windows Sysprep. Para obtener más información, consulte [Fases de Windows Sysprep](ami-create-win-sysprep.md#sysprep-phases).

EC2Launch ofrece un archivo de respuestas predeterminado y archivos por lotes para Windows Sysprep que automatizan y protegen el proceso de preparación de imágenes de la AMI. Es opcional modificar estos archivos. Estos archivos se encuentran de manera predeterminada en el siguiente directorio: `C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep`.

**importante**  
No utilice Windows Sysprep para crear una copia de seguridad de la instancia. Windows Sysprep elimina la información específica del sistema. Si elimina esta información, podrían producirse consecuencias no deseadas en una copia de seguridad de instancias.

**Topics**
+ [Archivos por lotes y respuestas de EC2Launch para Windows Sysprep](#ec2launch-sysprep-answer-batch)
+ [Ejecute Windows Sysprep con EC2Launch](#ec2launch-sysprep-running)
+ [Actualice las rutas de metadatos/KMS para Server 2016 y versiones posteriores al iniciar una AMI personalizada.](#update-metadata-KMS)

## Archivos por lotes y respuestas de EC2Launch para Windows Sysprep
<a name="ec2launch-sysprep-answer-batch"></a>

El archivo de respuestas EC2Launch y los archivos por lotes de Windows Sysprep incluyen lo siguiente:

`Unattend.xml`  
Este es el archivo de respuestas predeterminado. Si ejecuta `SysprepInstance.ps1` o elige **ShutdownWithSysprep** en la interfaz de usuario, el sistema lee los ajustes en este archivo.

`BeforeSysprep.cmd`  
Personalice este archivo por lotes para que ejecute comandos antes de que EC2Launch ejecute Windows Sysprep.

`SysprepSpecialize.cmd`  
Personalice este archivo por lotes para que ejecute comandos durante la fase de specialize de Windows Sysprep.

## Ejecute Windows Sysprep con EC2Launch
<a name="ec2launch-sysprep-running"></a>

En la instalación completa de Windows Server 2016 y versiones posteriores (con la experiencia de escritorio), puede ejecutar Windows Sysprep con EC2Launch manualmente o con la aplicación **EC2 Launch Settings**.

**Para ejecutar Windows Sysprep mediante la aplicación EC2Launch Settings**

1. En la consola de Amazon EC2, localice o cree una AMI de Windows Server 2016 o posterior.

1. Lance una instancia de Windows desde la AMI.

1. Conéctese a la instancia de Windows y personalícela.

1. Busque la aplicación **EC2LaunchSettings** y ejecútela. De forma predeterminada, se encuentra en el siguiente directorio: `C:\ProgramData\Amazon\EC2-Windows\Launch\Settings`.  
![\[Aplicación EC2 Launch Settings\]](http://docs.aws.amazon.com/es_es/AWSEC2/latest/UserGuide/images/ec2launch-sysprep.png)

1. Seleccione o borre las opciones que correspondan. Esta configuración se almacena en el archivo `LaunchConfig.json`.

1. En **Contraseña del administrador**, realice una de las acciones siguientes:
   + Elija **Asignación al azar**. EC2Launch genera una contraseña y la cifra usando la clave del usuario. El sistema deshabilita esta configuración tras la inicialización de la instancia para que esta contraseña persista si la instancia se reinicia o si se detiene y se inicia.
   + Elija **Especificarla** y escriba una contraseña que cumpla los requisitos del sistema. La contraseña se almacena en `LaunchConfig.json` como texto sin cifrar y se elimina después de que Windows Sysprep define la contraseña del administrador. Si apaga en equipo en este momento, la contraseña se establece inmediatamente. EC2Launch cifra la contraseña usando la clave del usuario.
   + Elija **No hacer nada** y especifique una contraseña en el archivo `unattend.xml`. Si no especifica una contraseña en el archivo `unattend.xml`, la cuenta del administrador se deshabilitará.

1. Elija **Cerrar con Sysprep**.

**Para ejecutar Windows Sysprep manualmente mediante EC2Launch**

1. En la consola de Amazon EC2, localice o cree una AMI para Windows Server 2016 Datacenter Edition o posterior que desee duplicar.

1. Lance y conéctese a la instancia de Windows.

1. Personalice la instancia.

1. Especifique las opciones en el archivo `LaunchConfig.json`. De forma predeterminada, este archivo se encuentra en el directorio `C:\ProgramData\Amazon\EC2-Windows\Launch\Config`.

   En `adminPasswordType`, especifique uno de los siguientes valores:  
`Random`  
EC2Launch genera una contraseña y la cifra usando la clave del usuario. El sistema deshabilita esta configuración tras la inicialización de la instancia para que esta contraseña persista si la instancia se reinicia o si se detiene y se inicia.  
`Specify`  
EC2Launch usa la contraseña que ha especificado en `adminPassword`. Si la contraseña no cumple los requisitos del sistema, EC2Launch genera una contraseña aleatoria en su lugar. La contraseña se almacena en `LaunchConfig.json` como texto sin cifrar y se elimina después de que Windows Sysprep define la contraseña del administrador. EC2Launch cifra la contraseña usando la clave del usuario.  
`DoNothing`  
EC2Launch usa la contraseña que ha especificado en el archivo `unattend.xml`. Si no especifica una contraseña en el archivo `unattend.xml`, la cuenta del administrador se deshabilitará.

1. (Opcional) Especifique los ajustes en `unattend.xml` y en los otros archivos de configuración. Si tiene pensado estar presente durante la instalación, no es necesario que realice cambios en estos archivos. Los archivos se encuentran de manera predeterminada en el siguiente directorio: `C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep`.

1. En Windows PowerShell, ejecute `./InitializeInstance.ps1 -Schedule`. De forma predeterminada, el script se encuentra en el siguiente directorio: `C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts`. Este script programa la instancia para que se inicialice durante el siguiente arranque. Debe ejecutar este script antes de ejecutar el script `SysprepInstance.ps1` en el paso siguiente.

1. En Windows PowerShell, ejecute `./SysprepInstance.ps1`. De forma predeterminada, el script se encuentra en el siguiente directorio: `C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts`. 

Se cierra la sesión en la instancia y esta se cierra. Si comprueba la página **Instancias** en la consola de Amazon EC2, el estado de la instancia cambia de `Running` a `Stopping` y, a continuación, a `Stopped`. En este punto es seguro crear una AMI desde esta instancia.

## Actualice las rutas de metadatos/KMS para Server 2016 y versiones posteriores al iniciar una AMI personalizada.
<a name="update-metadata-KMS"></a>

Para actualizar las rutas de metadatos/KMS para Server 2016 y versiones posteriores al iniciar una AMI personalizada, aplique alguna de las siguientes acciones:
+ Ejecute la GUI EC2LaunchSettings (C:\$1ProgramData\$1Amazon\$1EC2-Windows\$1Launch\$1Settings\$1Ec2LaunchSettings.exe) y seleccione la opción para cerrar el sistema con Windows Sysprep.
+ Ejecute EC2LaunchSettings y cierre el sistema sin Windows Sysprep antes de crear la AMI. Esto establece las tareas de inicialización de inicialización de EC2 para que se ejecuten en el siguiente arranque; con ello, se establecen las rutas basadas en la subred para la instancia.
+ Si lo prefiere, puede reprogramar manualmente las tareas de inicialización de inicialización de EC2 antes de crear una AMI desde [PowerShell](ec2launch-config.md#ec2launch-inittasks). 
**importante**  
Tenga en cuenta el comportamiento predeterminado de restablecimiento de contraseña antes de reprogramar las tareas.
+ Para actualizar las rutas en una instancia en ejecución en la que se produzcan errores en sus metadatos durante la activación o comunicación con Windows, consulte ["No se puede activar Windows"](common-messages.md#activate-windows).