winget: instale e atualize todos os apps do Windows em segundos

Formatar um PC no trabalho e ter que instalar Chrome, 7-Zip, VLC, Visual Studio Code, Notepad++, Git e mais dez programas — um por um, cada um com seu instalador, cada um com o bendito "próximo, próximo, concluir" — é o tipo de coisa que faz qualquer sysadmin perder 40 minutos sem agregar nada. O winget resolve exatamente isso: um comando, todos os programas instalados.
O que é o winget
O winget (Windows Package Manager) é o gerenciador de pacotes oficial da Microsoft, disponível por padrão no Windows 11 e no Windows 10 versão 1709 ou superior. Funciona de forma parecida com o apt no Debian ou o brew no macOS: você busca um pacote por nome, instala com um comando e o sistema cuida do download, da verificação e da instalação — sem pop-ups, sem assistentes gráficos, sem barra de toolbar indesejada embutida no instalador.
O repositório padrão (winget-pkgs) mantém mais de 6.000 pacotes, incluindo os mais usados por desenvolvedores e sysadmins. A Microsoft Store funciona como fonte secundária automaticamente configurada.
Como verificar se o winget está disponível
Abra o PowerShell ou o Prompt de Comando e rode:
winget --versionSe retornar algo como v1.11.x, está pronto para uso. Caso apareça "comando não reconhecido", instale o App Installer pela Microsoft Store ou atualize o Windows para uma build recente — o winget vem embutido a partir do Windows 11 21H2.
Comandos essenciais do dia a dia
Buscar um pacote
winget search vlcRetorna uma tabela com nome, ID do pacote, versão e fonte. O ID é o que você usa para instalações exatas — evita ambiguidade quando há pacotes com nomes parecidos. Por exemplo: VideoLAN.VLC em vez de só "vlc".
Instalar um ou vários programas
winget install VideoLAN.VLCPara instalar vários de uma vez na mesma linha:
winget install Google.Chrome Mozilla.Firefox 7zip.7zip Git.Git Microsoft.VisualStudioCodeO winget processa cada pacote em sequência, baixando e instalando sem interação manual.
Listar programas instalados
winget listMostra todos os pacotes que o winget reconhece no sistema, com a versão instalada e a versão disponível. Útil para auditar o que está desatualizado antes de rodar o upgrade.
Desinstalar
winget uninstall VideoLAN.VLCComo atualizar todos os programas do Windows de uma vez?
Use winget upgrade --all. Ele verifica todos os pacotes reconhecidos e atualiza os que têm nova versão disponível — sem precisar abrir nenhum programa manualmente.
Para uso em scripts sem interação do usuário, adicione as flags de automação:
winget upgrade --all --silent --accept-package-agreements --accept-source-agreements--silent— sem janelas gráficas durante a instalação--accept-package-agreements— aceita licenças de uso automaticamente--accept-source-agreements— aceita os termos das fontes configuradas
Execute com privilégios de administrador para atualizar pacotes instalados para todos os usuários da máquina.
Export e Import: migrando seu setup para outro PC
Esse é o recurso menos conhecido do winget e um dos mais úteis na prática. Antes de formatar ou migrar para uma máquina nova, exporte a lista de tudo que está instalado:
winget export -o C:\backup\meus-apps.jsonO arquivo JSON gerado lista todos os pacotes reconhecidos pelo winget. No PC novo, depois de instalar o Windows, restaure tudo com:
winget import -i C:\backup\meus-apps.json --accept-package-agreementsO winget instala tudo de uma vez. Programas que não estão no repositório — software corporativo, drivers específicos, aplicações legadas — não entram no JSON e precisam de instalação manual. Mas a maior parte de um setup padrão de desenvolvedor ou analista é coberta sem esforço.
Automatizando as atualizações com o Agendador de Tarefas
Para manter as máquinas sempre atualizadas sem intervenção, crie uma tarefa agendada. Salve o seguinte em C:\Scripts\winget-update.ps1:
winget upgrade --all --silent --accept-package-agreements --accept-source-agreementsNo Agendador de Tarefas (Task Scheduler), crie uma tarefa que execute o PowerShell com esse script, com privilégios elevados:
powershell.exe -ExecutionPolicy Bypass -File "C:\Scripts\winget-update.ps1"Configure para rodar às 3h da manhã de domingo, quando a estação provavelmente está ociosa. Em ambientes com múltiplas estações, dá para distribuir esse script via GPO ou pelo Microsoft Intune.
Se você ainda usa o PowerShell no nível básico, essa tarefa agendada é um ponto de entrada natural para automações reais: um arquivo, uma regra de horário, dezenas de programas mantidos atualizados sem tocar no mouse.
Dicas rápidas
- Versão específica:
winget install Git.Git --version 2.44.0 - Escopo de instalação:
--scope userinstala só para o usuário atual;--scope machinepara todos - Forçar reinstalação: acrescente
--forceaoinstall - Detalhes de um pacote:
winget show Git.Git - Incluir pacotes sem versão conhecida no upgrade:
--include-unknown
winget ou Chocolatey?
Por muito tempo, o Chocolatey foi o gerenciador de pacotes mais usado no Windows. Ainda tem repositório maior e recursos avançados interessantes para ambientes corporativos. Mas o winget não precisa de instalação adicional no Windows 11, tem suporte oficial da Microsoft e integra com a Microsoft Store. Para uso pessoal e setups de desenvolvimento, o winget cobre o essencial sem dependências externas — e a curva de entrada é menor.
Para sysadmins que querem ir além — hardening de estações antes do deploy, por exemplo — o winget combina bem com as configurações de segurança do Windows 11 que já cobrimos aqui: instalar um sistema limpo com winget e já aplicar as políticas de segurança na mesma sequência é uma rotina que fecha em menos de 30 minutos.
Conclusão
O winget não é novidade — a primeira versão pública saiu em 2020 — mas ainda é subutilizado fora de ambientes de desenvolvimento. Para quem administra múltiplas máquinas Windows, o par winget export + winget import já justifica aprender a ferramenta. E o winget upgrade --all agendado é o tipo de automação simples que elimina uma categoria inteira de tarefas repetitivas sem exigir um script elaborado.
Se quiser ir mais fundo no lado de scripting — encadear o winget com outras automações ou criar relatórios de versão instalada — o ponto de partida natural é o PowerShell 7.6 LTS, que trouxe melhorias relevantes para scripts de automação de infraestrutura.




Comentários