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 com 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. Ler o status do TPM 2.0 e do Secure Boot de cada dispositivo e salvá-lo no registro do Windows.
  2. Verificar os requisitos de hardware e software para decidir quais dispositivos são elegíveis.
  3. Baixar o Windows 11 e instalá-lo silenciosamente nos dispositivos que são elegíveis.

 

Como usar

Passo 1. Registrar TPM e Secure Boot no registro

  1. Criar 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. Anexar 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 }

# Escrever 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. Verificar quais dispositivos com Windows 10 são elegíveis

  1. Criar 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. Ler o resultado da maneira correta: a consulta retorna 1 quando o dispositivo não é uma máquina Windows 10 elegível. Trate isso como uma política de não conformidade. Os dispositivos onde não retorna 1 são os que você pode atualizar.

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

  1. Anexar o script abaixo aos dispositivos que passaram pelo 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 roda 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" # localidade francesa — substitua pela ISO da sua língua e região
$destination = "C:\Win11.iso"
$log = "C:\logs\download_win11_iso.log"

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

# Iniciar 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 completado com sucesso." | Out-File -Append $log
} catch {
    "`n[$(Get-Date)] Erro dentro do download: $_" | Out-File -Append $log
}

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

# Passo 1 - Montar 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 - Copiar o conteúdo do ISO localmente
New-Item -ItemType Directory -Force -Path $setupFolder | Out-Null
Copy-Item "$driveLetter`:\*" -Destination $setupFolder -Recurse

# Desmontar o ISO
Dismount-DiskImage -ImagePath $isoPath

# Passo 3 - Criar e agendar a tarefa de instalação task
$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 - Iniciar a tarefa imediatamente
Start-ScheduledTask -TaskName $taskName

Dicas e Melhores Práticas

  • Troque o ISO antes de executar qualquer coisa. O script aponta para um ISO em francês. Substitua a URL pela ISO da sua língua 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 configuração é executada silenciosamente e sem um prompt de reinicialização. Teste em alguns dispositivos antes de aplicar em toda a frota.
  • Mantenha os logs. O log de download vai para C:\logs\download_win11_iso.log e o log de configuração para C:\logs\WinSetup.log. Verifique-os primeiro quando algo falhar.
  • Planeje para o download. Cada dispositivo puxa 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 fosse elegível 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 configuração falhou no meio do caminho. Leia C:\logs\WinSetup.log, onde o script informa ao Windows Setup 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 são elegíveis. 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 simples ao registro.
     
  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 configuração inclui /noreboot, então o script não força uma reinicialização por conta própria.

Este artigo foi útil?

Give feedback about this article

Não consegue encontrar o que procura?

A nossa equipe de atendimento ao cliente está aqui para ajudar.

Contato

Knowledge Base Software powered by Helpjuice

class="shortcode_"