Como atualizar automaticamente o software gratuito com Chocolatey

Você tem aplicativos no seu computador como Spotify , Adobe Reader , Chrome , Firefox , 7-Zip , VLC Media Player... a lista(VLC Media Player…the list) continua e todos eles são gratuitos. O que faríamos sem freeware ? No entanto, esses aplicativos exigem atualizações frequentes para corrigir falhas de segurança e introduzir recursos novos e úteis. As atualizações nunca acontecem em um momento conveniente.

É aí que o Chocolatey entra em cena. Use o aplicativo gratuito Chocolatey para manter seu software atualizado. É fácil, rápido, simples, e nós mencionamos grátis? Parece(Seems) bom demais para ser verdade, mas é. Mas o que é Chocolate(Chocolatey) ?

O que é Chocolatey?

Se você não fez nada na linha de comando do Windows(Windows command line) , PowerShell ou linha de comando do Linux(Linux command line) , o conceito de Chocolatey pode ser um pouco estranho. Chocolatey é um programa em nível de máquina que ajuda a gerenciar software(manage software) .

No nível da máquina, significa que não há uma interface gráfica de usuário(user interface) que o ajude a fazer as coisas. Todos os comandos devem ser digitados. Não deixe (t let)isso(Don) te assustar ! Se você pode escrever palavras, você pode dominar isso.

Como instalo o Chocolatey?

Há algumas coisas que o Chocolatey precisa para funcionar. Quando um programa precisa de outros programas de recursos do Windows para funcionar, esses programas necessários são chamados de dependências. As dependências do Chocolatey são que você deve estar usando pelo menos:(Chocolatey)

  • Windows 7 ou mais recente
  • PowerShell versão 2 ou mais recente
  • .NET Framework 4 ou mais recente
  • Além disso, você deve ter acesso de administrador(administrator access) em seu computador

Se você tem o Windows 7(Windows 7) ou mais recente, já tem o PowerShell versão 2(PowerShell version 2) ou mais recente. Se você não tem certeza se possui o .NET Framework 4 , não se preocupe. Ao instalar o Chocolatey , se você não tiver o .NET 4, o Chocolatey o instalará para você.

Abra o PowerShell digitando PowerShell na caixa(PowerShell) de pesquisa do Menu Iniciar(Start Menu) . Você deve ver um resultado chamado Windows PowerShell App .

Clique com o botão direito do mouse e selecione Executar como administrador(Run as Administrator) . Fazer isso é conhecido como executar o PowerShell em uma instância elevada(elevated instance) . É elevado aos privilégios do Administrador. A janela do PowerShell(PowerShell window) será aberta.

Na janela do PowerShell(PowerShell window) , digite ou copie(type or copy) e cole o comando:

Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’))

A parte Set-ExecutionPolicy Bypass -Scope Process -Force informa ao PowerShell que você não deseja impor a política de execução restrita apenas para esta próxima coisa. O PowerShell(PowerShell) , por padrão, só permitirá a execução de processos assinados. É a configuração de segurança(security setting) mais alta . Mas precisamos executar esse processo não assinado de instalação do Chocolatey .

A iex ((New-Object System.Net.WebClient).DownloadString(‘https://chocolatey.org/install.ps1’)) do comando diz ao PowerShell para ir ao site Chocolatey(Chocolatey website) , baixar a instalação script .ps1 e execute-o. Essa é a parte que realmente instala o Chocolatey .

Você verá um monte de texto voando(text fly) . Sinta(Feel) -se à vontade para voltar e ler para saber o que acabou de acontecer. No final, sugere que você execute o comando choco /? para ver uma lista de funções. Essa é uma boa maneira de garantir que sua instalação funcionou. Vá em frente e execute esse comando.

Outra pilha de texto passará voando, o que também é bom de ler e entender. No final, se sua instalação do Chocolatey funcionou, você verá algo como o seguinte, onde a parte verde lista qual versão você acabou de instalar.

Instalando software com Chocolatey

Vamos dar uma olhada rápida na instalação de software com Chocolatey antes de atualizarmos o software com ele.

Vá para a página https://chocolatey.org/packages para navegar pelo software que está disponível via Chocolatey . Você verá que eles são chamados de pacotes.

Encontre um pacote que você gostaria de instalar. Para este exemplo, usaremos Malwarebytes Anti-Malware . É sempre bom ter o Malwarebytes no seu computador.

Em uma instância elevada do PowerShell , use o comando choco install malwarebytes . É isso. A instalação começará. Ele vai parar com o seguinte texto:

Se você estiver confortável em permitir que o Chocolatey gerencie seu software, quando esta instalação estiver concluída, devemos usar o recurso choco enable -n allowGlobalConfirmation(choco feature enable -n allowGlobalConfirmation) para que possamos automatizar instalações e atualizações no futuro. Por enquanto, vamos apenas usar A para concluir a instalação.

Você verá que o Malwarebytes está baixando e então começa a instalar.

Em cerca de um minuto, o Malwarebytes será baixado e instalado sem nenhum trabalho adicional para você.

Atualizar software com Chocolatey

Agora que temos algum software instalado, podemos tentar atualizá-lo com Chocolatey . Novamente(Again) , você precisa do PowerShell aberto como Administrador(Administrator) . Então você pode executar o comando choco upgrade malwarebytes .

Isso fará com que Chocolatey saia e veja se há uma atualização e, em seguida, atualize-a. Acabamos de instalar o Malwarebytes, então ele mostrará que zero out um pacote foi atualizado. Tudo bem.

Se você instalou vários pacotes com Chocolatey , você pode atualizá-los todos com um comando de uma linha: choco upgrade all -y .

Isso é tão difícil quanto fica. Agora, o que devemos fazer para atualizar automaticamente o software com Chocolatey é, de alguma forma, fazer com que esse comando seja executado em um cronograma.

Atualizar software(Update Software) automaticamente com Chocolatey

A próxima etapa você pode fazer usando o Bloco(Notepad) de Notas ou o PowerShell ISE ( Ambiente de Script Integrado(Integrated Scripting Environment) ). Faremos este exemplo usando o Bloco(Notepad) de Notas , pois nem todas as versões do Windows possuem o PowerShell ISE .

Abra o Bloco de Notas. Copie o comando choco upgrade all -y no Bloco de Notas.

Salve isso como script(PowerShell script) do PowerShell nomeando-o como upgrade-ChocoPackages.ps1 . A extensão .ps1 informa ao Windows que este é um  script do PowerShell(PowerShell script) .

Altere o tipo de arquivo de Text Documents (*.txt) para All Files (*.*).Se você não fizer isso, o Windows(Windows) fará upgrade-ChocoPackages.ps1.txt e achará que é apenas um arquivo do Bloco(Notepad file) de Notas .

O Windows vem com um ótimo recurso chamado Agendador de Tarefas(Task Scheduler) . O usuário doméstico(home user) médio provavelmente não sabe disso, mas o Agendador de Tarefas(Task Scheduler) é o recurso que já faz muitas coisas funcionarem regularmente.

No Menu Iniciar, pesquise(Start Menu search) no Agendador de Tarefas(Task Scheduler) . Clique(Click) nele quando aparecer como resultado.

Quando o Agendador de Tarefas(Task Scheduler) for aberto, clique em Biblioteca do Agendador de Tarefas(Task Scheduler Library) na área superior esquerda da janela. Isso mostrará todas as tarefas agendadas atualmente configuradas em seu computador.

No painel Ações(Actions) na área superior direita, clique em Criar tarefa(Create Task…) ... . Criar tarefa básica não(Create Basic Task isn) é adequado para essa situação, pois usaremos instruções de argumento posteriormente.

Na janela que se abre, na guia Geral , dê à tarefa um nome como (General)Choco Upgrade All e depois uma Descrição(Description ) como Atualiza todos os softwares instalados pelo Chocolatey( Updates all software installed by Chocolatey) . Se sua conta de usuário(user account) atual não for uma conta de administrador(administrator account) em seu computador, use o botão Alterar usuário ou grupo(Change User or Group) para selecionar a conta de administrador(Administrator account) .

Você também precisará saber a senha da conta do Administrador . (Administrator account)Certifique(Make) - se de que Executar se o usuário está conectado ou não(Run whether the user is logged on or not) está selecionado. Isso permitirá que o script seja executado mesmo se você não estiver em seu computador e terá todos os privilégios necessários para fazer o trabalho.

A guia Acionadores(Triggers) é onde você informa à tarefa quando deseja que ela seja executada. Para isso, uma vez por semana deve ser suficiente. Em nosso exemplo, ele está configurado para ser executado todos os domingos(Sunday) à 1h. Escolha um horário em que você provavelmente não esteja usando o computador para obter o melhor desempenho.

Recomenda-se também marcar Parar a tarefa se ela durar mais de:(Stop the task if it runs longer than:) e alterar a duração para 2 horas. Você pode ajustar isso como quiser. Para permitir que o gatilho seja aplicado, você deve marcar a caixa Ativado(Enabled) na parte inferior.

Vá para a guia Ações(Actions) e diremos à tarefa o que queremos que ela faça. A ação(Action) será padronizada para Iniciar um programa(Start a program) . Isso é o que queremos, então deixe isso. No campo Program/script , digite powershell.exe. Isso permite que o Windows saiba que você executará um script do PowerShell(PowerShell script) .

No campo Adicionar argumentos(Add arguments) , insira os seguintes argumentos.

-noprofile – isso impede a execução de scripts de perfil do PowerShell(PowerShell profile) e informa para executar apenas o script desejado.

-ExecutionPolicy Bypass – Se você não tem certeza se a execução do script foi habilitada, é bom ter isso nos argumentos. Isso garantirá que o script seja executado.

-file – esse é o argumento que informa ao Agendador de Tarefas que o que vem a seguir é o caminho para o arquivo que queremos que o PowerShell execute. Em nosso exemplo, o script foi salvo em C:\Scripts\upgrade-ChocoPackages.ps1 . Pode ser diferente no seu computador, então ajuste de acordo. Se o caminho para o seu arquivo tiver algum nome com espaços, você precisará colocar o caminho inteiro entre aspas.

O argumento completo será parecido com -noprofile -executionpolicy bypass -file C:\Scripts\upgrade-ChocoPackages.ps1

Na guia Condições(Conditions ) , há mais opções que podemos definir sobre como o script deve ser executado. Olhe para eles para ver quais você gostaria de aplicar. Para este exemplo, está definido para Iniciar a tarefa somente se o computador estiver com alimentação CA(Start the task only if the computer is on AC power) e Parar se o computador alternar para a alimentação da bateria(Stop if the computer switches to battery power ) para garantir que não estejamos descarregando a bateria.

Ativar o computador para executar esta tarefa(Wake the computer to run this task) é selecionado para garantir que a tarefa seja executada, independentemente de o computador estar no modo de suspensão ou não.

Na guia Configurações(Settings ) , é recomendável marcar a caixa Permitir que a tarefa seja executada sob demanda(Allow task to be run on demand) , para que possamos testar manualmente a tarefa quando terminarmos. As seleções padrão para o restante são boas.

Clique em OK para concluir a criação da tarefa agendada. Uma janela deve aparecer com o nome do usuário que você selecionou de volta na guia Geral. Você deve digitar a senha do usuário e clicar em (user and click) OK . Isso informa ao Windows que você, de fato, tem autoridade para executar a tarefa.

Agora você está de volta à janela principal do Agendador de Tarefas(Task Scheduler window) . Encontre sua nova tarefa. Clique com o botão direito do mouse na tarefa e selecione (task and select) Executar(Run ) para testá-la.

Você não verá nada significativo acontecer, exceto que o status da tarefa mudará para Em execução(Running) . Em cerca de um minuto, você deverá ver o Last Run Time também mudar para o timestamp quando você começou a executar a tarefa.

Se você não recebeu nenhuma mensagem de erro, a tarefa deve estar bem. Feche a janela do Agendador de Tarefas(Task Scheduler window) e não se preocupe em atualizar manualmente qualquer software que você instalou com o Chocolatey novamente.

Tudo feito!

Pode parecer muito trabalho para configurar isso. Considere isso: você levou algo entre 10 e 30 minutos para configurar isso. Se você estiver usando isso para atualizar 10 programas e cada programa levar cerca de 6 minutos para passar pelo processo de atualização todo mês, você economizou entre 30 e 50 minutos.

Você já está à frente no tempo economizado. Ao longo de um ano, isso pode ser de 6 a 10 horas de tempo economizado. Isso não inclui o tempo economizado por saber usar o Chocolatey para instalar programas em um minuto ou dois em vez de 10 ou 15 minutos.



About the author

Josh tem mais de 10 anos de experiência na indústria de software e wireless, especificamente nas áreas de programação e análises do Android. Atualmente, ele é engenheiro de software sênior da Microsoft, trabalhando em vários produtos do MS Office. Josh tem um forte interesse em ajudar outras pessoas a aprender novas ferramentas de software e está sempre disposto a compartilhar suas dicas e truques com aqueles que perguntam.



Related posts