Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Winget Auto Update

Banner e detecção de pacote desatualizado

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.

Como ele roda

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.

O que tem

  • 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
  • -Silent pra automação; sem isso, sempre pergunta antes
  • Tirei o --force do winget de propósito: ele ignora mismatch de hash do instalador, e isso é abrir mão de uma checagem de segurança sem necessidade

Rodando na mão

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.ps1 e run.bat na mesma pasta, clica duas vezes no run.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"

Rodando no agendador (automático)

powershell.exe -ExecutionPolicy Bypass -NoProfile -File "C:\Users\Public\Scripts\winget-upgrade.ps1" -Silent

Adiciona -AutoReboot se quiser que ele reinicie sozinho quando o winget pedir.

Parâmetros

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)

Antes de rodar

  • Windows 10 (1809+) ou 11
  • winget instalado (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

Como ficou (7-Zip desatualizado)

Listagem do pacote desatualizado e confirmação

Atualização concluída com notificação toast

Log detalhado da execução

Licença

MIT

About

Atualização automática e silenciosa de pacotes via winget, com log persistente, retry automático e notificação

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages