Windows 11: Implementação Automatizada com Unattend e OSDCloud
Instalar o Windows 11 em dez ou duzentas máquinas dá o mesmo trabalho: arrancar pela ISO, responder ao assistente, escolher partições, criar o utilizador local e juntar ao domínio à mão. Num parque que se renova por ciclos, esse tempo acumula-se e cada instalação manual é uma oportunidade para configurações divergentes. A Microsoft retirou entretanto a ferramenta que muitas organizações usavam para automatizar o processo: o Microsoft Deployment Toolkit (MDT) está retired e a sua integração com o Configuration Manager já não é suportada.
O caminho que substitui o MDT divide-se em duas peças. O ficheiro de resposta autounattend.xml automatiza o Windows Setup — partições, edições, chaves, contas e scripts de primeira execução (Windows Setup Automation Overview). O OSDCloud arranca do WinPE e automatiza o resto: descarrega o ESD oficial do Windows 11, aplica os driver packs do fabricante e lança a instalação sem intervenção (Deploy-OSDCloud Overview). A pós-instalação fecha o circuito com Intune e Autopilot: a máquina entra no tenant e recebe políticas sem servidor interno.
Neste artigo
- O MDT está retired — o que muda
- Como funciona o autounattend.xml
- Escrever o autounattend.xml
- Preparar o ambiente OSDCloud
- Criar o USB de arranque
- Lançar a instalação com Start-OSDCloud
- Verificar a máquina após a instalação
- Sysprep e imagem de referência
- USMT para migração de perfis
- Pós-instalação com Intune e Autopilot
- Erros Comuns
- Checklist
- Artigos Relacionados
- Fontes Oficiais
1. O MDT está retired — o que muda
O MDT acompanhava os administradores de Windows desde 2010: task sequences, driver management, migração de perfis com USMT. A página oficial de release notes afirma agora, em destaque, que “Microsoft Deployment Toolkit (MDT) is retired” (MDT release notes) e remete para a lista de funcionalidades removidas, onde consta que “The MDT Integration with CM and Standalone is no longer supported with Configuration Manager” (Removed and deprecated features).
Na prática, o que desaparece com o MDT: task sequences para instalar e capturar (o OSDCloud cobre a instalação e o DISM a captura), os nós de integração na consola do ConfigMgr e o WinPE próprio — substituído pelo boot image do OSDCloud.
O Windows Deployment Services (WDS) continua a existir e pode servir o boot image por rede, mas deixa de ser obrigatório: um USB com WinPE chega. O OSDCloud documenta até o caminho inverso — arrancar por cima de um boot image MDT ou ConfigMgr existente, exigindo os componentes WinPE (WinPE-WMI, WinPE-NetFX, WinPE-Scripting, WinPE-PowerShell, WinPE-StorageWMI, WinPE-DismCmdlets) e ligação à internet (Start OSDCloud from an MDT or ConfigMgr Boot Image). Para quem vinha do MDT é o percurso mais curto: manter o WinPE e instalar o módulo OSDCloud por cima.
2. Como funciona o autounattend.xml
O Windows Setup processa o ficheiro de resposta em passos de configuração:
| Pass | O que processa | Exemplo típico |
|---|---|---|
| windowsPE | Particionamento, imagem, drivers, chaves | Criar EFI + MSR + Windows |
| offlineServicing | Pacotes e drivers numa imagem offline | Injectar um driver raro |
| generalize | Sysprep, remoção de dados da máquina | Limpar apps antes de capturar |
| specialize | Configuração por máquina: nome, domínio | Scripts de preparação |
| oobeSystem | Primeiro arranque visível ao utilizador | Scripts finais |
O ficheiro com o nome exacto autounattend.xml na raiz do USB é detectado automaticamente pelo Windows Setup quando nenhum outro ficheiro de resposta é indicado (Windows Setup Automation Overview). O Setup copia-o para %WINDIR%\Panther e continua a processá-lo entre reboots — um autounattend mal formado “cola-se” a uma máquina durante vários passos.
Duas regras de segurança vêm directamente da documentação oficial: o Setup remove dados sensíveis (passwords, product keys) da cópia em cache no fim de cada pass, mas o ficheiro persiste em %WINDIR%\Panther entre reboots e deve ser eliminado antes de entregar a máquina ao utilizador.
3. Escrever o autounattend.xml
O exemplo seguinte automatiza a instalação do Windows 11 Pro numa PME portuguesa. Guardar como autounattend.xml na raiz do USB.
<?xml version="1.0" encoding="utf-8"?>
<unattend xmlns="urn:schemas-microsoft-com:unattend" xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<settings pass="windowsPE">
<component name="Microsoft-Windows-International-Core-WinPE" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<SetupUILanguage>
<UILanguage>pt-PT</UILanguage>
</SetupUILanguage>
<InputLocale>0816:00000816</InputLocale>
<SystemLocale>pt-PT</SystemLocale>
<UILanguage>pt-PT</UILanguage>
<UserLocale>pt-PT</UserLocale>
</component>
<component name="Microsoft-Windows-Setup" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<DiskConfiguration>
<Disk wcm:action="add">
<DiskID>0</DiskID>
<WillWipeDisk>true</WillWipeDisk>
<CreatePartitions>
<CreatePartition wcm:action="add">
<Order>1</Order><Type>EFI</Type><Size>300</Size>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>2</Order><Type>MSR</Type><Size>16</Size>
</CreatePartition>
<CreatePartition wcm:action="add">
<Order>3</Order><Type>Primary</Type><Extend>true</Extend>
</CreatePartition>
</CreatePartitions>
</Disk>
</DiskConfiguration>
<ImageInstall>
<OSImage>
<InstallFrom>
<MetaData wcm:action="add">
<Key>/IMAGE/NAME</Key>
<Value>Windows 11 Pro</Value>
</MetaData>
</InstallFrom>
<InstallTo>
<DiskID>0</DiskID><PartitionID>3</PartitionID>
</InstallTo>
</OSImage>
</ImageInstall>
<UserData>
<AcceptEula>true</AcceptEula>
<ProductKey><Key>W269N-WFGWX-YVC9B-4J6C9-T83GX</Key></ProductKey>
</UserData>
</component>
</settings>
<settings pass="specialize">
<component name="Microsoft-Windows-Deployment" processorArchitecture="amd64" publicKeyToken="31bf3856ad364e35" language="neutral" versionScope="nonSxS">
<RunSynchronousCommand wcm:action="add">
<Order>1</Order>
<Path>cmd /c copy /y E:\Scripts\SetupComplete.cmd C:\Windows\Setup\Scripts\SetupComplete.cmd</Path>
<Description>Copiar o script de pós-instalação</Description>
</RunSynchronousCommand>
</component>
</settings>
</unattend>
A chave do exemplo é a KMS client key genérica do Windows 11 Pro publicada pela Microsoft — activa contra um KMS interno, com a chave real a atribuir depois.
O que cada bloco faz:
- SetupUILanguage/InputLocale/SystemLocale/UserLocale — instala em português de Portugal, teclado 0816 — sem este bloco, a primeira pergunta do Setup é a língua
- DiskConfiguration com WillWipeDisk=true — apaga o disco 0 e cria a estrutura GPT/UEFI (EFI 300 MB, MSR 16 MB, resto primário)
- ImageInstall com /IMAGE/NAME — selecciona a edição dentro do ESD multi-edição, evitando o menu de escolha
- RunSynchronousCommand no specialize — copia o SetupComplete.cmd do USB para C:\Windows\Setup\Scripts, a pasta que o Windows executa automaticamente no fim da instalação
⚠ Atenção: o WillWipeDisk=true não pergunta nada — num portátil com dados pessoais, o disco é apagado na hora, sem confirmação e sem recuperação. Em frotas mistas, o comportamento mais seguro é manter o ClearDiskConfirm visível ou validar primeiro o modelo do disco.
4. Preparar o ambiente OSDCloud
O OSDCloud corre como módulo PowerShell dentro do WinPE — a preparação num PC de administração leva minutos:
# Instalar o módulo OSD (OSDCloud) a partir da PowerShell Gallery
Install-Module OSD -Scope AllUsers -Force
Import-Module OSD
# Criar o workspace (por defeito em C:\OSDCloud)
New-OSDCloudWorkspace -WorkspacePath C:\OSDCloud
O workspace guarda os templates WinPE e os scripts injectados no boot image. Os templates consultam-se e mudam-se com:
# Ver templates disponíveis e escolher
Get-OSDCloudTemplateNames
Set-OSDCloudTemplate -Name 'WinRE'
Atenção: as operações de workspace e template exigem PowerShell elevado.
Com o workspace criado, injectar conteúdo próprio no WinPE antes de gerar a ISO. O módulo OSD suporta scripts no arranque do WinPE e componentes adicionais ao boot image:
# Componentes WinPE obrigatórios para o OSDCloud (ADK Optional Components)
# WinPE-WMI, WinPE-NetFX, WinPE-Scripting, WinPE-PowerShell, WinPE-StorageWMI, WinPE-DismCmdlets
# Injetar o script que arranca o deployment automaticamente no arranque do WinPE
Edit-MyWinPE -Startup 'Start-OSDCloudGUI' -WorkspacePath C:\OSDCloud
O Edit-MyWinPE injeta o comando de arranque no WinPE: ao arrancar o USB, a consola PowerShell lança o OSDCloud sem que o técnico abra uma linha de comandos. Sem este passo, o arranque deixa o técnico no prompt do WinPE — a implementação é manual.
5. Criar o USB de arranque
A ISO do WinPE gera-se a partir do workspace e o USB grava-se com Rufus:
# Criar ISO do WinPE com OSDCloud
New-OSDCloudISO -WorkspacePath C:\OSDCloud
Depois de gravado, copiar para a raiz do USB os ficheiros próprios da organização:
USB (FAT32, UEFI)
├── autounattend.xml <- resposta do Windows Setup
└── Scripts\
└── SetupComplete.cmd <- pós-instalação
A estrutura exacta de pastas depende da versão do OSDCloud — o princípio mantém-se: o WinPE arranca e o Windows Setup recolhe o autounattend.xml da raiz quando o setup.exe é lançado.
O OSDCloud também arranca por cima de um boot image MDT ou ConfigMgr existente: abrir a consola do WinPE (F8 ou "Exit to Command Prompt") e lançar:
# Dentro do WinPE do MDT/ConfigMgr
Start PowerShell
Deploy-OSDCloud
O módulo descarrega-se em tempo de arranque e o Deploy-OSDCloud abre a interface de implementação sem infraestrutura própria.
6. Lançar a instalação com Start-OSDCloud
No modo interactivo, o GUI cobre a escolha de versão, edição, activação, língua e driver pack:
# No WinPE, GUI interactivo
Start-OSDCloudGUI
O GUI mostra informação do dispositivo (TPM 2.0, compatibilidade Autopilot) e aceita versão (por defeito a mais recente em General Availability — Windows 11 25H2 na altura de escrita), edição (Pro), língua (en-us por defeito — mudar para pt-PT) e driver pack escolhido automaticamente pelo modelo detectado (Deploy-OSDCloud Overview). O Start descarrega o ESD do Windows 11 dos servidores Microsoft, aplica o driver pack e o autounattend.xml e reinicia.
Para reposição de máquinas em série, o modo zero touch dispensa o GUI:
# No WinPE, zero touch: sem perguntas, sem confirmação de Clear-Disk
Start-OSDCloud -OSName 'Windows 11 25H2 x64' -OSEdition Pro -OSActivation Retail -OSLanguage pt-pt -ZTI
O parâmetro -ZTI assume os valores por defeito para o que não foi indicado e salta a confirmação de Clear-Disk — a instalação arranca de imediato.
⚠ Atenção: com -ZTI o disco é limpo sem confirmação — em conjunto com WillWipeDisk=true, o USB torna-se uma máquina de apagar discos.
7. Verificar a máquina após a instalação
Após o primeiro arranque, confirmar o estado base e a preparação para gestão:
# Na máquina recém-instalada, em modo administrador
Get-ComputerInfo -Property OsName, OsVersion
Get-TimeZone
Get-LocalUser | Select-Object Name, Enabled
OsName : Microsoft Windows 11 Pro
OsVersion: 10.0.26100
TimeZone : W. Europe Standard Time
Name Enabled
---- -------
AdminLocal True
A build 10.0.26100 é a família 24H2 — uma instalação 25H2 real mostraria 10.0.26200 (o 25H2 é um enablement package sobre a mesma base 26100, mas com número de build próprio). O fuso horário W. Europe e o utilizador local confirmam os restantes blocos do autounattend.
Em falha, o registo do Setup fica em C:\Windows\Panther\setupact.log e os logs do OSDCloud em X:\Windows\Temp no WinPE.
8. Sysprep e imagem de referência
O fluxo unattend+OSDCloud usa o ESD oficial e não precisa de imagem capturada. O sysprep mantém-se para o cenário de PC de referência com aplicações próprias (Office, aplicações internas) e captura em WIM: o generalize remove o SID e os dados específicos da máquina (Sysprep (System Preparation) Overview).
Num PC de referência em modo de auditoria (Ctrl+Shift+F3 na OOBE):
# No PC de referência, modo auditoria
cd C:\Windows\System32\sysprep
.\sysprep.exe /generalize /oobe /shutdown /unattend:C:\unattend.xml
- /generalize — remove o SID e dados específicos da máquina, a imagem fica genérica
- /oobe — o próximo arranque volta à experiência de primeira utilização
- /shutdown — desliga a máquina para captura
- /unattend — ficheiro com as acções do pass generalize
A captura faz-se com DISM em WinPE:
# Em WinPE, capturar a partição Windows
Dism /Capture-Image /ImageFile:D:\Win11Ref.wim /CaptureDir:C:\ /Name:"Win11 Ref"
Com o WIM capturado, a distribuição segue por OSDCloud ou fica como alternativa para máquinas sem ligação à internet em tempo real. A Microsoft desaconselha o sysprep em máquinas já entregues e em uso — é ferramenta de preparação de imagens, não de manutenção.
9. USMT para migração de perfis
Em reposição de portáteis, os dados locais atravessam a instalação com o User State Migration Tool (USMT), incluído no Windows ADK: ScanState lê o perfil da máquina antiga e LoadState escreve-o na nova (User State Migration Tool (USMT) overview).
# Na máquina antiga — capturar perfil do utilizador para partilha de rede
.\scanstate.exe \\server\mig$\user1 /i:migdocs.xml /i:migapp.xml /o /c
- /i:migdocs.xml /i:migapp.xml — conjuntos de regras de migração (documentos e definições de aplicações)
- /o — sobrescreve dados existentes no arquivo
- /c — continua mesmo com erros não críticos
Na máquina nova, o LoadState escreve o arquivo no perfil destino, que tem de existir antes do comando. Em frotas com OneDrive Known Folder Move, o USMT perde peso: os perfis já estão na cloud e a reposição é reinstalação limpa e novo login.
10. Pós-instalação com Intune e Autopilot
A máquina saída do OSDCloud entra no Intune por dois caminhos: a inscrição manual em reposições avulsas, e o Windows Autopilot — o hardware ID (hash do TPM + fabricante + serial) regista-se previamente no tenant e a OOBE detecta o registo, atribui o perfil de implementação e inscreve no Intune.
Fluxo para uma PME que vem do MDT:
O SetupComplete.cmd mínimo:
@echo off
REM Preparar a maquina para Autopilot
reg query HKLM\SOFTWARE\Microsoft\Provisioning\AutopilotSettings >nul 2>&1
if %errorlevel%==0 (
echo Autopilot ja configurado
) else (
echo A aguardar deteccao Autopilot na OOBE
)
O Intune fecha o circuito com BitLocker, conformidade, aplicações e updates. Num parque sem ConfigMgr, o OSDCloud na instalação e o Intune/Autopilot na gestão cobrem o ciclo de vida completo do endpoint.
Erros Comuns
| Problema | Causa | Solução |
|---|---|---|
| O autounattend.xml não é processado | Ficheiro mal nomeado (unattend.xml em vez de autounattend.xml) na raiz do USB, ou formato errado (UTF-16) | Renomear para autounattend.xml, gravar em UTF-8 e colocar na raiz |
| O Setup para numa pergunta de língua ou partição | Ficheiro de resposta sem o pass windowsPE válido ou mal formado | Validar o XML num validador e comparar com o exemplo da doc Windows SIM |
| WillWipeDisk apagou o disco errado | USB arrancado na máquina errada (dados pessoais) | Confirmar o DiskID correcto e testar primeiro em equipamento de laboratório |
| OSDCloud não descarrega o ESD | Sem internet no WinPE ou driver de rede em falta | Confirmar o driver NIC no boot image e a ligação de rede antes do Start |
| Máquina não entra no Autopilot | Hardware ID não registado ou grupo dinâmico sem máquina | Confirmar o registo no portal e o grupo no Entra |
| Sysprep falha com "package changed" | App da Store atualizada após o generalize | Remover a app antes do sysprep ou recriar a imagem |
| Perfis não migram com USMT | LoadState sem o utilizador destino criado | Criar a conta local ou de domínio antes do LoadState |
Checklist
- [ ] autounattend.xml na raiz do USB com o nome exacto (UTF-8)
- [ ] DiskConfiguration testada em máquina de teste — WillWipeDisk consciente
- [ ] Selecção da imagem por IMAGE/NAME dentro do ESD multi-edição
- [ ] DriverPack correcto no OSDCloud para cada modelo de portátil
- [ ] Workspace em C:\OSDCloud, template WinPE escolhido e USB arrancável testado em máquina piloto
- [ ] Instalação completa sem toque manual confirmada (ZTI ou GUI)
- [ ] SetupComplete.cmd executado e a preparar o Intune/Autopilot
- [ ] Hardware IDs Autopilot registados e atribuídos ao grupo Entra
- [ ] Inscrição Intune confirmada no portal
- [ ] WIM de referência (se aplicável) capturado em ambiente de auditoria
- [ ] Migração USMT validada com perfil de utilizador real
Artigos Relacionados
- Windows 11 24H2 e 25H2: Novas Funcionalidades e Checklist de Migração Empresarial
- Dia 26: Windows Autopilot — Implementação Zero-Touch com Intune
- Intune: Gerir Dispositivos Windows em PME sem Servidor
- Como Fazer Download do Windows 11 e Criar uma ISO: Guia Passo a Passo
Fontes Oficiais
- Windows Setup Automation Overview — Microsoft Learn
- Sysprep (System Preparation) Overview — Microsoft Learn
- User State Migration Tool (USMT) overview — Microsoft Learn
- Microsoft Deployment Toolkit release notes — Microsoft Learn
- Removed and deprecated features — Microsoft Learn
- Deploy-OSDCloud Overview — OSDCloud
- Start OSDCloud from an MDT or ConfigMgr Boot Image — OSDCloud