Voltar

Atualizar do Windows 10 para o Windows 11

Descubra os benefícios e o processo passo a passo para atualizar do Windows 10 para o Windows 11 para melhorar sua experiência de computação.

Este guia encontra os dispositivos Windows 10 que podem ser atualizados para Windows 11 e, em seguida, inicia a atualização automaticamente neles. Ele se baseia em políticas de Frota e scripts do PowerShell.


 

Funcionalidade

Visão Geral

O processo tem três etapas:

  1. Leia o status do TPM 2.0 e do Secure Boot de cada dispositivo e salve-o no registro do Windows.
  2. Verifique os requisitos de hardware e software para decidir quais dispositivos se qualificam.
  3. Baixe o Windows 11 e instale-o silenciosamente nos dispositivos que se qualificam.

 

Como usar

Passo 1. Registrar TPM e Secure Boot no registro

  1. Crie uma política com a consulta abaixo. Ela verifica se as duas chaves de registro que contêm o TPM e o Secure Boot já existem.
SELECT 1 WHERE EXISTS (
      SELECT 1 FROM registry
      WHERE path = 'HKEY_LOCAL_MACHINE\Software\FleetDM\TPMVersion'
    )
    AND EXISTS (
      SELECT 1 FROM registry
      WHERE path = 'HKEY_LOCAL_MACHINE\Software\FleetDM\SecureBoot'
    );
  1. Anexe o script do PowerShell abaixo a essa política. Ele lê a versão do TPM e o status do Secure Boot e escreve ambos os valores no registro.
$TPM = Get-WmiObject -Namespace "Root\CIMv2\Security\MicrosoftTpm" -Class Win32_Tpm
$SecureBoot = Confirm-SecureBootUEFI

$TPMVersion = $TPM.SpecVersion
$SecureBootEnabled = if ($SecureBoot) { 1 } else { 0 }

# Escreva valores no registro (exemplo)
New-Item -Path "HKLM:\Software\FleetDM" -Force | Out-Null
Set-ItemProperty -Path "HKLM:\Software\FleetDM" -Name "TPMVersion" -Value $TPMVersion
Set-ItemProperty -Path "HKLM:\Software\FleetDM" -Name "SecureBoot" -Value $SecureBootEnabled

Quando o script for executado, HKLM\Software\FleetDM\TPMVersion e HKLM\Software\FleetDM\SecureBoot existirão e conterão os valores atuais.

Passo 2. Verifique quais dispositivos Windows 10 se qualificam

  1. Crie uma segunda política com a consulta abaixo. Ela verifica RAM, núcleos de CPU, arquitetura, TPM 2.0 e Secure Boot.
SELECT 1 FROM os_version as os JOIN system_info as si WHERE
    os.name NOT LIKE 'Microsoft Windows 10%'
    OR si.physical_memory < 4 * 1024 * 1024 * 1024
    OR si.cpu_physical_cores < 2
    OR si.cpu_type NOT LIKE '%x86_64%'
    OR NOT EXISTS (
      SELECT * FROM registry
      WHERE path = 'HKEY_LOCAL_MACHINE\Software\FleetDM\TPMVersion'
       AND data LIKE '2%'
    )
    OR NOT EXISTS (
      SELECT * FROM registry
      WHERE path = 'HKEY_LOCAL_MACHINE\Software\FleetDM\SecureBoot'
       AND data = '1'
    );
  1. Leia o resultado da maneira certa: a consulta retorna 1 quando o dispositivo não é uma máquina Windows 10 elegível. Trate-o como uma política de não conformidade. Os dispositivos onde não retorna 1 são os que você pode atualizar.

Passo 3. Inicie a atualização em dispositivos elegíveis

  1. Anexe o script abaixo aos dispositivos que passaram no passo 2.
  2. O script baixa o ISO do Windows 11, monta-o, copia os arquivos de instalação para o disco local e agenda uma instalação silenciosa que é executada como SYSTEM.
# Importações
Import-Module BitsTransfer

# Variáveis
$uri = "https://production-bucket-public-files.s3.eu-west-3.amazonaws.com/Win11_24H2_French_x64.iso" # locale francês — substitua pela ISO de idioma e região adequadas
$destination = "C:\Win11.iso"
$log = "C:\logs\download_win11_iso.log"

# Crie a pasta de logs se não existe
if (-not (Test-Path -Path "C:\logs")) {
    New-Item -Path "C:\logs" -ItemType Directory | Out-Null
}

# Inicie o download
try {
    "`n[$(Get-Date)] Iniciando download..." | Out-File -Append $log
    if (-not (Test-Path $destination)){
      Start-BitsTransfer -Source $uri -Destination $destination
    }
    "`n[$(Get-Date)] Download concluído com sucesso." | Out-File -Append $log
} catch {
    "`n[$(Get-Date)] Erro duração download: $_" | Out-File -Append $log
}

# Variáveis adicionais
$isoPath = "C:\Win11.iso"
$setupFolder = "C:\Temp\Win11Files"
$taskName = "Win11SilentUpgrade"

# Passo 1 - Monte o ISO
Mount-DiskImage -ImagePath $isoPath -PassThru | Out-Null
Start-Sleep -Seconds 2
$vol = Get-Volume -DiskImage (Get-DiskImage -ImagePath $isoPath)
$driveLetter = $vol.DriveLetter

# Passo 2 - Copie o conteúdo do ISO localmente
New-Item -ItemType Directory -Force -Path $setupFolder | Out-Null
Copy-Item "$driveLetter`:\*" -Destination $setupFolder -Recurse

# Desmonte o ISO
Dismount-DiskImage -ImagePath $isoPath

# Passo 3 - Crie e agende a tarefa de instalação $action = New-ScheduledTaskAction -Execute "C:\Temp\Win11Files\setup.exe" -Argument "/auto upgrade /migratedrivers none /resizerecoverypartition enable /dynamicupdate disable /eula accept /quiet /noreboot /uninstall disable /compat ignorewarning /copylogs C:\logs\WinSetup.log"
$principal = New-ScheduledTaskPrincipal -UserId "SYSTEM" -LogonType ServiceAccount -RunLevel Highest
$task = New-ScheduledTask -Action $action -Principal $principal -Trigger (New-ScheduledTaskTrigger -Once -At (Get-Date).AddMinutes(1))

Register-ScheduledTask -TaskName $taskName -InputObject $task -Force

# Passo 4 - Inicie a tarefa imediatamente
Start-ScheduledTask -TaskName $taskName

Dicas e Melhores Práticas

  • Altere o ISO antes de executar qualquer coisa. O script aponta para um ISO francês. Substitua a URL pela ISO do seu idioma e região.
  • Execute o passo 1 primeiro e dê tempo. O passo 2 depende dos valores do registro escritos no passo 1. Um dispositivo sem eles sempre aparece como não elegível.
  • Comece com um pequeno grupo. A instalação é executada silenciosamente e sem um prompt de reinicialização. Experimente em alguns dispositivos antes de toda a frota.
  • Mantenha os logs. O log de download vai para C:\logs\download_win11_iso.log e o log de instalação para C:\logs\WinSetup.log. Verifique-os primeiro quando algo falhar.
  • Planeje para o download. Cada dispositivo baixa um ISO completo do Windows 11, então evite conexões lentas ou pagas por uso.

 

Solução de Problemas e FAQ

Solução de Problemas

  • Um dispositivo que você esperava que se qualificasse aparece como não elegível. Verifique se o script do passo 1 foi executado nele e se ambas as chaves de registro existem. Em seguida, verifique os requisitos na consulta do passo 2: Windows 10, pelo menos 4 GB de RAM, pelo menos 2 núcleos físicos de CPU, um processador x86_64, versão do TPM 2 e Secure Boot ativado.
  • A atualização não começou. Abra C:\logs\download_win11_iso.log para ver se o ISO foi baixado. Se foi, procure a tarefa agendada Win11SilentUpgrade no dispositivo.
  • A instalação falhou parcialmente. Leia C:\logs\WinSetup.log, onde o script informa a instalação do Windows para copiar seus logs.

 

FAQ

  1. A consulta do passo 2 retorna os dispositivos elegíveis?
    Não, o oposto. Ela retorna 1 para dispositivos que não se qualificam. Os dispositivos elegíveis são aqueles onde não retorna 1.
     
  2. Por que salvar TPM e Secure Boot no registro?
    Para que a política de elegibilidade possa lê-los com uma consulta de registro simples.
     
  3. Qual conta executa a atualização?
    SYSTEM, através de uma tarefa agendada que o script cria e inicia imediatamente.
     
  4. O script reinicia o dispositivo?
    O comando de instalação inclui /noreboot, então o script não força uma reinicialização por si só.

Este artigo foi útil?

Give feedback about this article

Não consegue encontrar o que procura?

A nossa equipa de apoio ao cliente está aqui para si.

Contacte-nos

Knowledge Base Software powered by Helpjuice