

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

Quando você cria uma imagem de uma instância com o agente EC2Launch v2 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).

**Topics**
+ [Ações do Sysprep do Windows](#sysprep-actions-ec2launchv2)
+ [Após Sysprep](#sysprep-post-ec2launchv2)
+ [Executar o Sysprep do Windows com o EC2Launch v2](#sysprep-gui-procedure-ec2launchv2)

## Ações do Sysprep do Windows
<a name="sysprep-actions-ec2launchv2"></a>

O Sysprep do Windows e o EC2Launch v2 executam as ações a seguir na preparação de uma imagem.

1. Quando você escolhe **Shutdown with Sysprep (Desligar com Sysprep)** na caixa de diálogo **EC2Launch settings (Configurações do EC2Launch)**, o sistema executa o comando `ec2launch sysprep`.

1. O EC2Launch v2 edita o conteúdo do arquivo `unattend.xml` lendo o valor do registro em `HKEY_USERS\.DEFAULT\Control Panel\International\LocaleName`. O arquivo está localizado no seguinte diretório: `C:\ProgramData\Amazon\EC2Launch\sysprep`.

1. O sistema executa o `BeforeSysprep.cmd`. Esse comando cria uma chave de registro da seguinte maneira:

   **reg add "HKEY\$1LOCAL\$1MACHINE\$1SYSTEM\$1CurrentControlSet\$1Control\$1Terminal Server" /v fDenyTSConnections /t REG\$1DWORD /d 1 /f**

   A chave de registro desabilita as conexões RDP até serem re-habilitadas. Desabilitar as conexões RDP é uma medida de segurança necessária, pois, na primeira sessão de inicialização após o Sysprep do Windows ser executado, há um breve período no qual o RDP permite conexões e a senha do Administrador fica em branco.

1. O serviço do EC2Launch v2 chama o Sysprep do Windows ao executar o seguinte comando:

   **sysprep.exe /oobe /generalize /shutdown /unattend: "C:\$1ProgramData\$1Amazon\$1EC2Launch\$1sysprep\$1unattend.xml"**

### Generalizar a fase
<a name="sysprep-generalize-ec2launchv2"></a>
+ O EC2Launch v2 remove informações e configurações específicas da imagem, como o nome do computador e o SID. Se a instância pertencer a um domínio, ela será removida do domínio. O arquivo de resposta `unattend.xml` inclui as seguintes configurações que afetam a fase: 
  + **PersistAllDeviceInstalls**: essa configuração impede que a Configuração do Windows remova e reconfigure dispositivos, o que acelera o processo de preparação de imagem, pois as AMIs da Amazon exigem a execução de determinados drivers e a nova detecção desses drivers tomaria o tempo.
  + **DoNotCleanUpNonPresentDevices**: essa configuração retém informações de plug and play para dispositivos que não estão presentes no momento.
+ O Sysprep do Windows fecha o SO à medida que se prepara para criar a AMI. O sistema executa uma nova instância ou inicia a instância original.

### Fase especializada
<a name="sysprep-specialize-ec2launchv2"></a>

O sistema gera requisitos específicos do sistema operacional, como um nome de computador e um SID. O sistema também executa as ações a seguir com base nas configurações que você especifica no arquivo de resposta `unattend.xml`.
+ **CopyProfile**: o Sysprep do Windows pode ser configurado para excluir todos os perfis de usuário, incluindo o perfil incorporado do Administrador. Essa configuração retém a conta incorporada do administrador, de forma que todas as personalizações que você fizer nessa conta serão transferidas para a nova imagem. O valor padrão é `True`.

  **CopyProfile** substitui o perfil padrão pelo perfil de administrador local existente. Todas as contas em que você faz login depois da execução do Sysprep do Windows recebem uma cópia desse perfil e do conteúdo dele no primeiro login. 

  Se você não tiver personalizações específicas do perfil do usuário que deseja transferir para a nova imagem, altere essa configuração para `False`. O Sysprep do Windows removerá todos os perfis de usuário (isso economiza tempo e espaço em disco).
+ **TimeZone**: o fuso horário é definido como Coordinated Universal Time (UTC – Tempo universal coordenado), por padrão.
+ **Comando síncrono com pedido 1**: o sistema executa o comando a seguir, que habilita a conta do administrador e especifica o requisito de senha:

  ```
  net user Administrator /ACTIVE:YES /LOGONPASSWORDCHG:NO /EXPIRES:NEVER /PASSWORDREQ:YES
  ```
+ **Comando síncrono com pedido 2**: o sistema vasculha a senha do administrador. Essa medida de segurança foi criada para impedir que a instância seja acessível após a conclusão do Sysprep do Windows, caso você não tenha configurado a tarefa `setAdminAccount`.

  O sistema executa o seguinte comando no diretório local do agente de inicialização (`C:\Program Files\Amazon\EC2Launch\`).

  ```
  EC2Launch.exe internal randomize-password --username Administrator
  ```
+ Para habilitar conexões de área de trabalho remota, o sistema define a chave de registro `fDenyTSConnections` do Terminal Server como false.

### Fase OOBE
<a name="sysprep-oobe-ec2launchv2"></a>

1. O sistema especifica as seguintes configurações usando o arquivo de resposta do EC2Launch v2:
   + `<InputLocale>en-US</InputLocale>`
   + `<SystemLocale>en-US</SystemLocale>`
   + `<UILanguage>en-US</UILanguage>`
   + `<UserLocale>en-US</UserLocale>`
   + `<HideEULAPage>true</HideEULAPage>`
   + `<HideWirelessSetupInOOBE>true</HideWirelessSetupInOOBE>`
   + `<ProtectYourPC>3</ProtectYourPC>`
   + `<BluetoothTaskbarIconEnabled>false</BluetoothTaskbarIconEnabled>`
   + `<TimeZone>UTC</TimeZone>`
   + `<RegisteredOrganization>Amazon.com</RegisteredOrganization>`
   + `<RegisteredOwner>EC2</RegisteredOwner>`
**nota**  
Durante as fases de generalização e de especialização, o EC2Launch v2 monitora o status do sistema operacional. Se o EC2Launch v2 detectar que o sistema operacional está na fase Sysprep, ele publicará a seguinte mensagem no log do sistema:  
O Windows está sendo configurado. SysprepState=IMAGE\$1STATE\$1UNDEPLOYABLE

1. O sistema executa o EC2Launch v2.

## Após Sysprep
<a name="sysprep-post-ec2launchv2"></a>

Após a conclusão do Sysprep do Windows, o EC2Launch v2 envia a seguinte mensagem para a saída do console:

```
Windows sysprep configuration complete.
```

Depois, o EC2Launch v2 executa as ações a seguir:

1. Lê o conteúdo do arquivo `agent-config.yml` e executa as tarefas configuradas. 

1. Executa todas as tarefas no estágio `preReady`.

1. Após a conclusão, envia uma mensagem `Windows is ready` para os logs do sistema de instância.

1. Executa todas as tarefas no estágio `PostReady`.

Para obter mais informações sobre o EC2Launch v2, consulte [Usar o agente do EC2Launch v2 para realizar tarefas durante a execução da instância EC2 Windows](ec2launch-v2.md).

## Executar o Sysprep do Windows com o EC2Launch v2
<a name="sysprep-gui-procedure-ec2launchv2"></a>

Use o procedimento a seguir para criar uma AMI padronizada usando o Sysprep do Windows com o EC2Launch v2.

1. No console do Amazon EC2, localize uma AMI que você deseja duplicar.

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

1. Personalizar configurações

   1. No menu **Start (Iniciar)** do Windows, procure e escolha **Amazon EC2Launch settings (Configurações do Amazon EC2Launch)**. Para obter mais informações sobre as opções e configurações na caixa de diálogo **Amazon EC2Launch settings (Configurações do Amazon EC2Launch)**, consulte [Definição das configurações do EC2Launch v2 para instâncias do Windows](ec2launch-v2-settings.md).

   1. Se você fez alterações, escolha **Salvar** antes de desligar.

1. Selecione **Desligar com Sysprep** ou **Desligar sem Sysprep**.

Quando você receber uma solicitação para confirmar que deseja executar o Sysprep do Windows e desativar a instância, clique em **Sim**. O EC2Launch v2 executa o Sysprep do Windows. Você é desconectado da instância, e a instância é desligada. 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 para `Stopped`. Nesse momento, é seguro criar uma AMI com base nessa instância.

Você pode invocar manualmente a ferramenta Sysprep do Windows pela linha de comando usando o seguinte comando:

```
"%programfiles%\amazon\ec2launch\ec2launch.exe" sysprep --shutdown=true
```