O winget
, também conhecido como Windows Package Manager, é uma ferramenta de gerenciamento de pacotes da Microsoft, lançada oficialmente em 2020, que facilita a instalação, atualização e gerenciamento de aplicativos no Windows. Ele funciona de maneira semelhante a gerenciadores de pacotes em outros sistemas operacionais, como o apt
no Linux ou o brew
no macOS. A ideia principal é automatizar a instalação de softwares e manter o sistema atualizado com o mínimo de esforço.
winget
:winget
permite instalar softwares diretamente de repositórios online. Por exemplo, para instalar o Google Chrome, basta executar: winget install Google.Chrome
O winget
busca o pacote no repositório oficial e executa a instalação automaticamente, sem necessidade de downloads manuais ou de navegar por instaladores gráficos.
winget upgrade
lista todos os pacotes que têm uma versão mais recente disponível. Você pode então atualizar pacotes específicos ou todos de uma vez: winget upgrade --all
winget
também permite desinstalar aplicativos de forma rápida e direta: winget uninstall <nome-do-aplicativo>
winget search <nome-parcial-do-aplicativo>
winget
usa o repositório da Microsoft, mas também suporta múltiplos repositórios, permitindo que empresas e desenvolvedores adicionem seus próprios repositórios privados.O winget
funciona com base em manifestos, que são arquivos contendo informações sobre os pacotes (nome, versão, URL, etc.). Esses manifestos são armazenados em repositórios públicos ou privados, que o winget
utiliza para buscar os pacotes. A Microsoft mantém um repositório público de manifestos no GitHub, onde desenvolvedores podem enviar seus próprios manifestos para disponibilizar seus aplicativos através do winget
.
winget
:winget
automatiza o processo de instalação e atualização de aplicativos, eliminando a necessidade de baixar e executar instaladores manualmente.winget
, você pode gerenciar todos os seus aplicativos a partir de uma única ferramenta, o que simplifica a manutenção e a organização do sistema.winget install <pacote>
: Instala um software.winget upgrade <pacote>
: Atualiza um software específico.winget upgrade --all
: Atualiza todos os softwares instalados que possuem uma nova versão disponível.winget list
: Lista todos os pacotes instalados no sistema.winget uninstall <pacote>
: Remove um software.winget search <termo>
: Pesquisa pacotes disponíveis.winget source
: Gerencia os repositórios de pacotes.Enquanto no Linux os gerenciadores de pacotes são essenciais para o funcionamento do sistema (como apt
, yum
, e dnf
), no Windows, o conceito de gerenciador de pacotes é relativamente novo. Até o lançamento do winget
, os usuários do Windows geralmente precisavam baixar instaladores manualmente e seguir os passos de instalação gráficos. Com o winget
, a Microsoft deu um grande passo em direção à automação e à praticidade, semelhante ao que o brew
faz no macOS.
O winget
ainda está em desenvolvimento ativo e novas funcionalidades estão sendo constantemente adicionadas. A comunidade de desenvolvedores também participa ativamente enviando manifestos para novos pacotes no repositório oficial. Essa ferramenta deve se tornar cada vez mais essencial para profissionais de TI que buscam automação em ambientes Windows, especialmente em grandes redes corporativas.
AGORA VAMOS AO QUE INTERESSA!
Para gerenciar atualizações de software remotamente em dispositivos Windows utilizando o winget
, você precisará configurar um ambiente que permita a execução de comandos remotos. Existem várias abordagens para isso, como o uso do PowerShell Remoting, que é ideal para este tipo de tarefa em um ambiente Windows.
winget
.winget
instalado: O winget
deve estar instalado nos dispositivos. Em sistemas mais recentes, ele já vem por padrão. Caso não esteja, pode ser instalado via Microsoft Store.winget
RemotamentePara se conectar remotamente aos dispositivos, você precisa habilitar o PowerShell Remoting. Isso pode ser feito utilizando o comando Enable-PSRemoting
.
Enable-PSRemoting -Force
Este comando deve ser executado tanto no computador de origem (de onde você vai controlar remotamente) quanto nos dispositivos de destino.
Nota: Este comando habilita o serviço de escuta do PowerShell Remoting, configura regras de firewall e permite a execução de scripts remotos.
Se os dispositivos de origem e destino não estiverem no mesmo domínio, pode ser necessário configurar os dispositivos de destino como TrustedHosts.
Execute o seguinte comando no computador de origem:
Set-Item WSMan:\localhost\Client\TrustedHosts -Value "Endereço-IP-do-Destino"
Nota: Substitua
"Endereço-IP-do-Destino"
pelo IP do dispositivo remoto ou utilize"*"
para confiar em todos os hosts, embora isso seja menos seguro.
Testar a conexão remota pode ser feito com o seguinte comando:
Test-WSMan -ComputerName "Endereço-IP-do-Destino"
Se o teste for bem-sucedido, você está pronto para iniciar o processo de gerenciamento remoto.
Agora que o PowerShell Remoting está habilitado e configurado, você pode iniciar uma sessão remota e executar comandos winget
.
Abra uma sessão remota para o dispositivo de destino:
Enter-PSSession -ComputerName "Endereço-IP-do-Destino" -Credential (Get-Credential)
Uma vez dentro da sessão remota, execute o comando para listar as atualizações pendentes:
winget upgrade
Isso listará todos os pacotes que têm atualizações disponíveis.
Para executar as atualizações dos pacotes listados, você pode usar o seguinte comando:
winget upgrade --all
Esse comando atualiza automaticamente todos os pacotes que possuem versões mais recentes disponíveis.
Você pode criar um script em PowerShell para automatizar todo o processo de verificação e atualização dos pacotes. Aqui está um exemplo simples:
$computers = @("PC1", "PC2", "PC3") # Substitua pelos IPs ou nomes dos PCs
foreach ($computer in $computers) {
Invoke-Command -ComputerName $computer -ScriptBlock {
# Verifica e atualiza os pacotes pendentes
winget upgrade --all
} -Credential (Get-Credential)
}
Este script conecta-se aos computadores listados na variável $computers
, verifica as atualizações e executa-as automaticamente.
Get-Credential
garante que as credenciais não sejam armazenadas em texto plano no script.Gerenciar atualizações de software remotamente com o winget
via PowerShell Remoting pode simplificar significativamente a manutenção de múltiplos dispositivos. O processo envolve habilitar o PowerShell Remoting, configurar hosts confiáveis (se necessário), e usar scripts para automatizar a execução do winget
.
Falha permite que invasores manipulem o agente de um usuário por meio de um problema…
Um exploit de dia zero, dirigido aos firewalls FortiGate da Fortinet, foi descoberto à venda…
A família SHELBY mostra um exemplo preocupante de malware moderno com design modular, sofisticado e…
Hackers estão explorando o diretório mu-plugins do WordPress para injetar códigos maliciosos que não aparecem…
O Google implementou uma nova funcionalidade de "Detecção de Golpes" com inteligência artificial no aplicativo…
O grupo APT28, ligado à Rússia, está utilizando técnicas avançadas de ofuscação em seus ataques…