Script PowerShell que atualiza seus pacotes via winget sozinho, com log, retry se der erro e um toast avisando no final. Roda no boot (silencioso, sem incomodar ninguém) ou na mão, quando você quiser ver o que tem pra atualizar antes de mandar ver.
| Modo | Como | O que você vê |
|---|---|---|
Automático (-Silent) |
Agendador, no boot | Nada. Roda numa sessão sem acesso à área de trabalho, instalador nenhum consegue abrir popup pra você |
| Manual | Rodando o script direto | Lista o que tá desatualizado e pergunta [s/n] antes de mexer |
Passo a passo de instalação em docs/task-scheduler.md.
- Log diário em
logs\, do lado do script, com rotação - Se pedir reboot (código 3010), avisa e não reinicia sozinho por padrão
- Se der erro de verdade, tenta de novo 1x antes de desistir
- Toast no fim avisando o resultado
-Silentpra automação; sem isso, sempre pergunta antes- Tirei o
--forcedo winget de propósito: ele ignora mismatch de hash do instalador, e isso é abrir mão de uma checagem de segurança sem necessidade
Duplo-clique direto em winget-upgrade.ps1 só abre o Bloco de Notas, não roda nada (é assim que o Windows trata .ps1 por padrão). Duas saídas:
- Baixa
winget-upgrade.ps1erun.batna mesma pasta, clica duas vezes norun.bat. Ele já pede elevação sozinho. Se o SmartScreen reclamar, é só "Mais informações > Executar assim mesmo". - Ou direto pelo PowerShell:
powershell.exe -ExecutionPolicy Bypass -NoProfile -File ".\winget-upgrade.ps1"powershell.exe -ExecutionPolicy Bypass -NoProfile -File "C:\Users\Public\Scripts\winget-upgrade.ps1" -SilentAdiciona -AutoReboot se quiser que ele reinicie sozinho quando o winget pedir.
| Parâmetro | O que faz |
|---|---|
-Silent |
Pula a pergunta e o aviso de reboot |
-AutoReboot |
Junto com -Silent, reinicia sozinho quando precisar |
-LogRetentionDays <int> |
Quantos dias de log guardar (padrão: 30) |
- Windows 10 (1809+) ou 11
wingetinstalado (já vem nas versões recentes; senão, pega o "App Installer" na Microsoft Store)- Precisa ser admin local na máquina
- Não precisa mexer na Execution Policy do sistema, o script já chama com
-ExecutionPolicy Bypass


