A 16 de Fevereiro de 2022, a Microsoft anunciou a primeira grande evolução de funcionalidades para o Windows 11, com o Dev Build 22557; a lista de mudanças era longa, e apelativa, mas o que fez toda a gente ter um calafrio na espinha foi isto:
Similar to Windows 11 Home edition, Windows 11 Pro edition now requires internet connectivity during the initial device setup (OOBE) only. If you choose to setup device for personal use, MSA will be required for setup as well. You can expect Microsoft Account to be required in subsequent WIP flights.
Tal como o Windows 11 Home Edition, a edição Windows 11 Pro agora requer uma ligação à Internet, mas apenas durante a configuração inicial do sistema (OOBE). Se escolher uma configuração para uso pessoal, será necessário também MSA. Pode partir do princípio de que uma conta Microsoft será obrigatória em futuros lançamentos WIP.
Para dizer a verdade, uma conta Microsoft sempre foi obrigatória para ser um Insider; mas o que isto revela é que a Microsoft está a ponderar eliminar uma das principais razões pelas quais muitos utilizadores preferem utilizar uma edição Pro do Windows, apesar de ser mais cara.
A partir desse momento, quem desejar as outras vantagens da edição Pro (BitLocker, acesso por Remote Desktop Connection a partir de outros computadores, Hyper-V e WSL2, suporte para mais do que um CPU) também precisa de ter uma conta Microsoft, ou uma conta de domínio.
O truque que se costumava usar desde o WIndows 10 era desligar todas as ligações de rede e dizer que se queria usar uma conta de domínio sem nenhum Domain Controller presente na rede, o que resultava num timeout e na possibilidade de criar uma conta local.
Talvez seja isto que a Microsoft vai bloquear, não apresentando a alternativa para criar uma conta local.
Que fazer?
A alternativa será usar o ambiente de instalação e deployment do Windows para passar por cima de todo o processo OOBE (Out-Of-Box-Experience), onde está incluído o processo NetFlow que força o uso de uma conta Microsoft. Por enquanto o Windows Setup ainda não foi muito modificado no WIndows 11, apesar de a Microsoft estar a empurrar as PMEs que insistem em ter computadores locais para usarem Azure Active Directory + Intune/Endpoint Configuration Manager + Autopilot para em vez do clássico Windows Server + Windows Deployment Services (que de resto já não é suportado pelo Windows 11)
Também se pode modificar o boot.wim para se ligar a uma pasta de rede e lançar o Windows Setup
Ou fazer como um OEM e usar um script para fazer tudo à mão
(fonte)
Claro que tanto o ECM como o MDT dependem de Volume Licen$ing…
Unattended Setup
A automatização do Windows Setup depende de um Answer File em formato XML (genericamente chamado unattend.xml).
Este ficheiro pode estar em vários locais, mas os mais vulgares são:
%WINDIR%\Panther\unattend.xml
- Raiz da drive de onde foi lançado o Windows Setup
- Raiz de uma drive removível presente durante o Windows Setup
- Raiz da pasta de rede de onde foi lançado o Windows Setup
Autounattend.xml
e unattend.xml
não são idênticos:
Autounattend.xml
contém as informações específicas para os passos iniciais do Windows Setup: linguagem do Windows Setup e do Windows a instalar, teclado, formatos, particionamento de discos e partição onde deve ser instalado o Windows, Upgrade ou Clean Install, chave de activação, e, presumo, slipstreaming de drivers e especialização durante o primeiro reinício.unattend.xml
contém o resto e corre durante o segundo reinício (passos userAudit e oobeSystem)
O ficheiro controla os vários passos do processo de instalação e pode ser criado de maneira point-and-click com a ferramenta Windows System Image Manager (SIM), que é parte do Assessment and Deployment Kit (ADK), ou no site Windows Answer File Generator
Mas vamos tentar simplificar a coisa.
Para passar por cima do OOBE e da obrigatoriedade de ter uma conta Microsoft, basta automatizar as seguintes operações:
- Responder automagicamente (ou não) às perguntas do OOBE, saltando o passo de criação de contas
- Criar uma (ou várias) contas locais na base de dados SAM
E vou acrescentar duas conveniências, que são:
- Configurações de localização
- Configuração de Zona de Tempo
Cabeçalho
O ficheiro começa com o cabeçalho XML e a declaração do passo oobeSystem
:
|
|
Dentro das tags <settings>
, colocamos as configurações.
Configuração de localização
Normalmente descarrego ISOs English-International, mas quero o teclado e os formatos em pt-PT; para ver a lista de valores que deve consultar para outras opções de linguagem, teclado e formato, consultar esta página
Os valores a configurar são:
InputLocale
: esquema de tecladoSystemLocale
: país ou regiãoUILanguage
: linguagem do WindowsUserLocale
: local do sistemaUILanguageFallback
: linguagem de recurso (normalmenteen-US
mas no caso das edições English-International éen-GB
)
|
|
Configuração de OOBE
A seguir colocamos a configuração do OOBE:
|
|
Os detalhes da configuração ProtectYourPC
estão aqui; o valor 3
diz Não
a tudo.
Configuração de utilizador(es)
E finalmente chegamos ao finalmente, que é criar automaticamente uma, ou várias, contas locais que não sejam Microsoft Accounts.
A seguir à tag </OOBE>
mas antes da tag </component>
, colocar o seguinte:
|
|
Time Zone
Para finalizar, costumo deixar a configuração de zona de tempo de Lisboa (outras zonas de tempo estão aqui), inserindo antes da tag </component>
<TimeZone>GMT Standard Time</TimeZone>
Ficheiro final
|
|
Gravar o ficheiro como unattend.xml
assegurando que está codificado em ASCII ou UTF-8.
Fornecer o ficheiro ao Windows Setup
Há várias maneiras de entregar o ficheiro, como visto acima.
Instalação a partir de uma drive USB
Se vai usar um programa como o Rufus (ou o Media Creation Toolkit da Microsoft) para criar uma drive USB de instalação, pode deixá-lo na raiz da drive. Em princípio, será copiado automaticamente para %WINDIR%\Panther
(mas não testei este mecanismo).
Instalação a partir de ISO
Caso se use o ficheiro ISO (como no caso de uma VM) ou um disco óptico, existem duas opções:
Editar o ISO
Montar o ISO, copiar os ficheiros para uma pasta (no exemplo será c:\isos\
), usar o DISM para abrir e montar a imagem de instalação (install.wim
), copiar o unattend.xml
para Windows\Panther
, e fechar a imagem WIM.
dism /Mount-Image /ImageFile:"c:\isos\install.wim" /Index:1 /MountDir:c:\mount
copy unattend.xml c:\mount\windows\panther\unattend.xml
dism /Unmount-Image /MountDir:c:\mount /Commit
Index
corresponde à edição do Windows que pretende instalar; usar o comando dism /Get-ImageInfo /imagefile:C:\isos\install.wim
Depois usar a ferramenta que preferir para criar um novo ISO.
Não testei este passo, mas deve funcionar, é um procedimento descrito na documentação da Microsoft.
Instalar de ISO e colocar o XML numa drive USB
Normalmente este é o processo mais simples e o mais fácil de implementar: grava-se o XML para uma drive USB que possa ser ligada ao computador a instalar (ou à VM) mas que não possa ser utilizada para arrancar o sistema
Chegado a um momento específico do processo de instalação (depois do 2º reinicio, ou seja, quando o sistema passa de “generalizado” para “especializado”), o unattend.xml
será lido, analisado e copiado para a pasta C:\Windows\Panther\
Acaba por ser necessário possuir uma drive USB física e passá-la à VM (pelo processo específico de cada plataforma de virtualização) para que o
unattend.xml
seja aplicado desta maneira
Resultados
Se o processo não der erro por algum problema com a sintaxe ou os valores do XML, as contas são criadas:
O resultado de type c:\windows\panther\unattend.xml
mostra que o nosso ficheiro foi copiado mas as palavras-passe foram censuradas como medida de segurança.
Na versão 21H01 do Windows 10 isto também acontece.
Mesmo assim, recomendo vivamente apagar o ficheiro a partir de uma sessão de linha de comandos com permissões de administrador.
Problemas
O link para o Windows Terminal no “Power Menu” (Win-X ou clique-direito no botão Windows) não funcionava até se abrir manualmente o Windows Terminal em All Apps
Feito isso, o atalho começa a funcionar. Se é problema causado pela criação da conta em modo unattended sem passar pelo OOBE ou é específico desta compilação, não sei.
Outro problema é a Pesquisa não funcionar (não é possível procurar a aplicação Windows Terminal, simplesmente não há resultados).
Comentário final
Cada vez mais o Windows se torna disfuncional na ausência de uma ligação de rede durante a instalação; não me parece que a Microsoft esteja a caminhar na direcção certa, mas os consumidores decidiram premiar sistemas ainda mais fechados como o iOS e o Android, e a Microsoft deve achar que se não se quiser tornar na nova IBM precisa de ir pelo mesmo caminho e empurrar os seus utilizadores actuais para os seus serviços de cloud, por isso o resultado é o Windows 11.
À medida que a Microsoft se fecha, mais e mais pessoas se sentem desconsideradas, mas se mal esperam por se verem livres da Microsoft, têm a absoluta anarquia que é o ecossistema Linux, a espionagem da Google e a prisão dourada da Apple como alternativas.
Escolham bem. A Microsoft quer principalmente dinheiro pelos seus serviços, em vez de privacidade, liberdade ou previsibilidade.