

# Criar uma AMI usando o Sysprep do Windows com o EC2Launch
<a name="ec2launch-sysprep"></a>

Quando você cria uma imagem de uma instância com o agente EC2Launch instalado, ele realiza tarefas específicas à medida que a imagem é preparada. Isso inclui trabalhar com o Sysprep do Windows. Para obter mais informações, consulte [Fases do Sysprep do Windows](ami-create-win-sysprep.md#sysprep-phases).

O EC2Launch oferece um arquivo de resposta padrão e arquivos em lote para o Sysprep do Windows que automatizam e protegem o processo de preparação de imagem na AMI. A modificação desses arquivos é opcional. Esses arquivos estão localizados no seguinte diretório por padrão: `C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep`.

**Importante**  
Não use o Sysprep do Windows para criar um backup da instância. O Sysprep do Windows remove as informações específicas do sistema. Se você remover essas informações, poderá haver consequências não intencionais em um backup da instância.

**Topics**
+ [Arquivos de resposta e em lotes do EC2Launch para o Sysprep do Windows](#ec2launch-sysprep-answer-batch)
+ [Executar o Sysprep do Windows com o EC2Launch](#ec2launch-sysprep-running)
+ [Para atualizar rotas de metadados/KMS para o Server 2016 e posterior ao iniciar uma AMI personalizada](#update-metadata-KMS)

## Arquivos de resposta e em lotes do EC2Launch para o Sysprep do Windows
<a name="ec2launch-sysprep-answer-batch"></a>

O arquivo de resposta e os arquivos em lote do EC2Launch para o Sysprep incluem o seguinte:

`Unattend.xml`  
Esse é o arquivo de resposta padrão. Se você executar o `SysprepInstance.ps1` ou escolher **ShutdownWithSysprep** na interface do usuário, o sistema lerá a configuração nesse arquivo.

`BeforeSysprep.cmd`  
Personalize esse arquivo em lote para executar comandos antes que o EC2Launch execute o Sysprep do Windows.

`SysprepSpecialize.cmd`  
Personalize esse arquivo em lotes para executar comandos durante a fase de especialização do Sysprep do Windows.

## Executar o Sysprep do Windows com o EC2Launch
<a name="ec2launch-sysprep-running"></a>

Na instalação completa do Windows Server 2016 e posterior (com uma experiência de desktop), é possível executar o Sysprep do Windows com o EC2Launch manualmente ou usando a aplicação **Configurações do EC2Launch**.

**Executar o Sysprep do Windows usando a aplicação Configurações do EC2Launch**

1. No console do Amazon EC2, localize ou crie uma AMI do Windows Server 2016 ou posterior.

1. Execute uma instância do Windows a partir da AMI.

1. Conecte-se à sua instância do Windows e personalize-a.

1. Pesquise e execute a aplicação **EC2LaunchSettings**. Por padrão, ele está localizado no seguinte diretório: `C:\ProgramData\Amazon\EC2-Windows\Launch\Settings`.  
![\[Aplicação de configurações de execução do EC2\]](http://docs.aws.amazon.com/pt_br/AWSEC2/latest/UserGuide/images/ec2launch-sysprep.png)

1. Selecione ou limpe as opções conforme for necessário. Essas configurações são armazenadas no arquivo `LaunchConfig.json`.

1. Em **Administrator password**, faça uma das seguintes ações:
   + Escolha **Random**. O EC2Launch gera uma senha e criptografa-a usando a chave de usuário. O sistema desativa essa configuração depois da execução da instância, portanto, essa senha persistirá se a instância for reinicializada ou parada e iniciada.
   + Escolha **Specify** e digite a senha que atende aos requisitos do sistema. A senha é armazenada em `LaunchConfig.json` como texto não criptografado e será excluída depois que o Sysprep do Windows definir a senha de administrador. Se você fechar agora, a senha será definida imediatamente. O EC2Launch criptografa a senha usando a chave de usuário.
   + Escolha **DoNothing** e especifique uma senha no arquivo `unattend.xml`. Se você não especificar uma senha em `unattend.xml`, a conta de administrador ficará desativada.

1. Escolha **Shutdown with Sysprep (Desligar com Sysprep)**.

**Executar o Sysprep do Windows manualmente usando o EC2Launch**

1. No console do Amazon EC2, localize ou crie uma AMI Datacenter Edition do Windows Server 2016 ou posterior que você deseja duplicar.

1. Execute e conecte-se à sua instância do Windows.

1. Personalize a instância.

1. Especifique as configurações no arquivo `LaunchConfig.json`. Por padrão, esse arquivo está localizado no diretório `C:\ProgramData\Amazon\EC2-Windows\Launch\Config`.

   Para `adminPasswordType`, especifique um dos seguintes valores:  
`Random`  
O EC2Launch gera uma senha e criptografa-a usando a chave de usuário. O sistema desativa essa configuração depois da execução da instância, portanto, essa senha persistirá se a instância for reinicializada ou parada e iniciada.  
`Specify`  
O EC2Launch usa a senha que você especifica `adminPassword`. Se a senha não atender aos requisitos de sistema, o EC2Launch gera uma senha aleatória. A senha é armazenada em `LaunchConfig.json` como texto não criptografado e será excluída depois que o Sysprep do Windows definir a senha de administrador. O EC2Launch criptografa a senha usando a chave de usuário.  
`DoNothing`  
O EC2Launch usa a senha que você especifica o arquivo `unattend.xml`. Se você não especificar uma senha em `unattend.xml`, a conta de administrador ficará desativada.

1. (Opcional) Especifique as configurações em `unattend.xml` e em outros arquivos de configuração. Se o plano atender à instalação, você não precisará fazer alterações nesses arquivos. Por padrão, os arquivos estão localizados no seguinte diretório: `C:\ProgramData\Amazon\EC2-Windows\Launch\Sysprep`.

1. No Windows PowerShell, execute `./InitializeInstance.ps1 -Schedule`. Por padrão, o script está localizado no seguinte diretório: `C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts`. Esse script agenda a instância para ser inicializada durante a próxima inicialização. Execute esse script antes de executar o script `SysprepInstance.ps1` na próxima etapa.

1. No Windows PowerShell, execute `./SysprepInstance.ps1`. Por padrão, o script está localizado no seguinte diretório: `C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts`. 

Você é desconectado da instância, e a instância é encerrada. Se você verificar a página **Instances** (Instâncias) no console do Amazon EC2, o estado da instância será alterado de `Running` para `Stopping` e, em seguida, para `Stopped`. Nesse momento, é seguro criar uma AMI com base nessa instância.

## Para atualizar rotas de metadados/KMS para o Server 2016 e posterior ao iniciar uma AMI personalizada
<a name="update-metadata-KMS"></a>

Para atualizar rotas de metadados/KMS para o Server 2016 e posterior ao iniciar uma AMI personalizada, siga estas etapas:
+ Execute a GUI EC2LaunchSettings (C:\$1ProgramData\$1Amazon\$1EC2-Windows\$1Launch\$1Settings\$1Ec2LaunchSettings.exe) e selecione a opção para encerrar com o Sysprep do Windows.
+ Execute EC2LaunchSettings e desligue sem o Sysprep do Windows antes de criar a AMI. Isso configura as tarefas de inicialização do EC2 para serem executadas na próxima inicialização, que definirá as rotas com base na sub-rede da instância.
+ Reprograme manualmente as tarefas de inicialização do EC2 antes de criar uma AMI do [PowerShell](ec2launch-config.md#ec2launch-inittasks). 
**Importante**  
Observe o comportamento padrão de redefinição de senha antes de reprogramar as tarefas.
+ Para atualizar as rotas em uma instância em execução que está passando por ativação do Windows ou comunicação com falhas de metadados de instância, consulte [“Não é possível ativar o Windows”](common-messages.md#activate-windows).