winget în PowerShell

Module, pachete și remoting Windows 10 1809+ (App Installer)

Managerul de pachete din Windows: caută, instalează, actualizează și listează aplicații din linia de comandă, inclusiv din PowerShell.

Sintaxă
winget search [[-q] <query>] [<options>]
winget install [[-q] <query> ...] [<options>]
winget upgrade [[-q] <query> ...] [<options>]
winget list [[-q] <query>] [<options>]

Ce face winget

winget este clientul de linie de comandă al Windows Package Manager. Vine cu App Installer pe Windows 11, pe Windows 10 versiunea 1809 sau mai nouă și pe Windows Server 2025 și îl rulezi la fel din PowerShell sau din Command Prompt. Nu este un cmdlet, ci un program extern: afișează text, nu obiecte, așa că Where-Object sau Select-Object nu funcționează pe coloanele lui. Pentru scripturi cu obiecte există modulul Microsoft.WinGet.Client din PowerShell Gallery.

winget search caută fără diferență între majuscule și minuscule, ca subșir, în nume, ID și moniker; wildcard-urile nu sunt acceptate. winget install are nevoie de un rezultat unic, de aceea forma sigură este --id împreună cu -e (potrivire exactă). Pachetele vin din sursele configurate, de obicei winget (depozitul comunității) și msstore (Microsoft Store); alegi una cu -s. Aliasuri: find pentru search, add pentru install, update pentru upgrade, ls pentru list.

winget list arată aplicațiile instalate, inclusiv cele instalate fără winget, și coloana Available când există o versiune nouă. winget upgrade fără argumente arată doar aplicațiile care pot fi actualizate, iar winget upgrade --all le actualizează pe toate. Unele programe de instalare cer drepturi de administrator și afișează fereastra UAC; într-o sesiune de administrator fereastra nu mai apare. În scripturi adaugi --accept-package-agreements și --accept-source-agreements, ca să nu rămână comanda în așteptarea unui răspuns.

Parametri

Parametru Descriere
--id Caută sau instalează doar după ID-ul pachetului (de forma Editor.Aplicatie).
-e, --exact Potrivire exactă, cu diferență între majuscule și minuscule, în loc de subșir.
-s, --source Folosește doar sursa indicată (winget sau msstore).
-v, --version Instalează sau actualizează la o versiune anume.
--scope user sau machine: instalare doar pentru tine sau pentru tot computerul.
-h, --silent Rulează programul de instalare fără interfață.
-i, --interactive Rulează programul de instalare în mod interactiv.
--accept-package-agreements Acceptă licența pachetului, fără întrebare.
--accept-source-agreements Acceptă termenii sursei (de exemplu ai depozitului comunității), fără întrebare.
-r, --recurse, --all La upgrade: actualizează toate pachetele care au o versiune nouă.
-u, --include-unknown La upgrade și list: include pachetele a căror versiune instalată nu poate fi determinată.
--upgrade-available La list: arată doar pachetele care pot fi actualizate.
-n, --count Limitează numărul de rezultate afișate.

Exemple

Exemplul 1: Căutarea exactă a unui pachet după ID

Cu --id și -e primești un singur rezultat, cu ID-ul pe care îl vei folosi la instalare.

winget search --id Notepad++.Notepad++ -e

Ieșire în terminal

Name      Id                  Version Source
--------------------------------------------
Notepad++ Notepad++.Notepad++ 8.8.5   winget

Exemplul 2: Instalarea unui pachet fără întrebări

winget descarcă programul de instalare, îi verifică hash-ul și îl rulează fără interfață.

winget install --id Notepad++.Notepad++ -e --silent --accept-package-agreements --accept-source-agreements

Ieșire în terminal

Found Notepad++ [Notepad++.Notepad++] Version 8.8.5
This application is licensed to you by its owner.
Microsoft is not responsible for, nor does it grant any licenses to, third-party packages.
Downloading https://github.com/notepad-plus-plus/notepad-plus-plus/releases/download/v8.8.5/npp.8.8.5.Installer.x64.exe
  ██████████████████████████████  6.34 MB / 6.34 MB
Successfully verified installer hash
Starting package install...
Successfully installed

Exemplul 3: Ce aplicații au actualizări

winget upgrade fără argumente doar listează; winget upgrade --all le-ar actualiza pe toate.

winget upgrade

Ieșire în terminal

Name                   Id                  Version Available Source
-------------------------------------------------------------------
Notepad++ (64-bit x64) Notepad++.Notepad++ 8.8.1   8.8.5     winget
7-Zip 24.09 (x64)      7zip.7zip           24.09   25.01     winget
2 upgrades available.

Greșeli frecvente

  • Instalezi după un nume scurt (winget install notepad) care se potrivește cu mai multe pachete: winget afișează rezultatele și nu instalează nimic; folosește --id cu -e.
  • Folosești wildcard-uri (winget search note*): nu sunt acceptate; căutarea este oricum după subșir.
  • Trimiți ieșirea lui winget list la Where-Object Version ...: sunt linii de text, nu obiecte; filtrează cu opțiunile winget sau folosește modulul Microsoft.WinGet.Client.
  • Rulezi winget într-un script neasistat fără --accept-source-agreements: la prima folosire a unei surse comanda poate aștepta acceptarea termenilor.

Comenzi înrudite

  • Install-Module: Descarcă și instalează module din PowerShell Gallery; în PowerShell 7.4+ ai și Install-PSResource, din modulul PSResourceGet.
  • Start-Process: Pornește un program sau deschide un fișier cu aplicația asociată, opțional ca administrator, într-o fereastră nouă sau așteptând să se termine.
  • Comenzi CMD și echivalentul PowerShell: Ce folosești în PowerShell în locul comenzilor CMD obișnuite (dir, cd, copy, del, ipconfig, ping, tasklist, taskkill, set).