Winget на Windows: Пълно ръководство за команди и разширена употреба

Последна актуализация: 20 на февруари 2026
Автор: TecnoDigital
  • Winget е официалният мениджър на пакети за Windows, който ви позволява да инсталирате, актуализирате и деинсталирате приложения от командния ред.
  • Инструментът се интегрира с Microsoft Store, хранилище на общността и частни източници и поддържа голямо разнообразие от формати за инсталиране.
  • Позволява ви да автоматизирате цели екипи, използвайки YAML конфигурационни файлове, PowerShell скриптове и групови политики в корпоративни среди.
  • Включва разширени функции като изтегляне без инсталация, валидиране на манифест, ПИН код на версията и обширни опции за сигурност и регистрация.

команди на winget в Windows

Ако използвате Windows ежедневно и прекарвате половината си живот в инсталиране, актуализиране или премахване на програми, научаването да използвате Winget от терминала може да ви спести много време. Този официален мениджър на пакети на Microsoft внася в Windows начин на работа, много подобен на този на GNU/Linux дистрибуциите с apt или dnf, но без необходимост от инсталиране на инструменти на трети страни.

С Winget можете да търсите, инсталирате, актуализирате, деинсталирате и конфигурирате приложения, просто като пишете команди, както и да автоматизирате пълната настройка на компютъра с помощта на скриптове или конфигурационни файлове. Нека разгледаме по-подробно как работи, какви команди са налични и как да извлечете максимума от него, независимо дали сте домашен потребител, разработчик или системен администратор.

Какво е Winget и как работи мениджърът на пакети на Windows?

Winget е инструментът за команден ред за мениджъра на пакети на Windows . Това е клиент, който се свързва с различни източници (Microsoft Store, хранилището на общността Winget и частни хранилища), за да намира инсталатори, да ги изтегля и да извършва контролирана и повтаряща се инсталация.

На практика, winget се състои от няколко елемента, които работят заедно за управление на софтуера в системата, така че ядрото , видимо за потребителя, е командата winget , но зад кулисите има услуги и манифести, които описват всеки пакет.

Пълното решение за Windows Package Manager включва три основни части , които е важно да се разграничат, за да се разбере цялата екосистема:

  • Клиент на Winget: е изпълнимият файл на конзолата, който използвате в PowerShell, Terminal или командния ред за стартиране на команди като winget install o winget upgrade.
  • Услуги за опаковане и съхранениеMicrosoft поддържа хранилище на манифести на общността в GitHub и се интегрира с Microsoft Store, за да хоства и разпространява приложения на компютри с Windows.
  • Конфигурационни файлове на WingetТова са YAML файлове, които описват „желаното състояние“ на компютъра (приложения, настройки, скриптове), позволявайки конфигуриране на цялото устройство с една команда.

Философията е, че можете да дефинирате какъв софтуер и конфигурация искате, а мениджърът на пакети ще се погрижи за инсталирането, актуализирането и поддръжката на всичко автоматично, като минимизира човешките грешки и разликите между машините.

Инсталиране на Winget на Windows 10, Windows 11 и Windows Server

На повечето съвременни устройства Winget се предлага готов за употреба, защото е част от Инсталатор на приложения Разпространява се чрез Microsoft Store в Windows 10 и Windows 11 и чрез актуализации в Windows Server 2025. Просто отворете терминал и въведете winget за да проверя дали е налично.

Ако видите списъка с опции и версията на клиента, когато изпълните командата, това означава, че Windows Package Manager е инсталиран правилно . В противен случай можете да отидете в Microsoft Store, да потърсите „App Installer“ и да актуализирате или инсталирате пакета.

Инсталирайте предварителни версии на winget (за разработчици)

Ако искате да изпробвате новите функции на Winget преди всички останали, Microsoft предлага предварителни версии . Те са предназначени предимно за разработчици и напреднали потребители, които нямат нищо против да се сблъскат с някой и друг бъг.

Има два често срещани начина за получаване на предварителен преглед на клиента:

  • Ръчно изтеглете пакета с предварителната версия от хранилището на winget в GitHub и Инсталирайте го, за да замените временно стабилния клиент.Няма да получавате автоматични актуализации за последващи предварителни версии от Магазина; ще трябва да повторите процеса, когато бъде пусната нова.
  • Присъедини се към Програма за вътрешен достъп на Windows с акаунт в Microsoft, служебен акаунт, училищен акаунт или Entra ID (преди AAD) в каналите Canary или Dev. В тези канали компилациите автоматично включват Актуализации на Winget от Microsoft Store с най-новите експериментални функции.

Инсталиране на Winget в Windows Sandbox (изолирано пространство)

Windows Sandbox е лека, еднократна работна среда, където можете да стартирате приложения изолирано от основната система . Всичко, което инсталирате вътре, се губи, когато затворите пясъчника, което го прави идеален за тестване.

Тази среда не се предлага с предварително инсталирани Microsoft Store или Winget, така че ще трябва да инсталирайте клиента ръчноMicrosoft препоръчва използването на PowerShell модула Microsoft.WinGet.Client и командата Repair-WinGetPackageManager за да "стартирате" крилото вътре в пясъчника.

От конзола на PowerShell в пясъчната кутия можете да използвате скрипт като този (адаптиран и форматиран), за да разположите стабилната версия на всички потребители в средата:

$progressPreference = 'silentlyContinue'
Install-PackageProvider -Name NuGet -Force | Out-Null
Install-Module -Name Microsoft.WinGet.Client -Force -Repository PSGallery | Out-Null
Repair-WinGetPackageManager -AllUsers

Ако е необходимо, модулът може да бъде инсталиран и с обхват на потребител или машина използвайки параметъра -Scope AllUsers en Install-Moduleи можете да добавите -IncludePrerelease a Repair-WinGetPackageManager за тестване на предварителните версии.

Важни съображения за разрешителни и административни въпроси

Начинът, по който инсталациите се държат с Winget, се променя в зависимост от това дали изпълнявате командите с администраторски права или като обикновен потребител . Това е ключово, ако управлявате много компютри или искате да автоматизирате процеси.

Когато стартирате Winget без повишени права, някои приложения ще изискват повишение за инсталиране. В тези случаи Windows ще покаже подкана за контрол на потребителските акаунти (UAC), която иска потвърждение. Ако откажете повишението, инсталирането или актуализирането на този конкретен пакет ще се провали.

Ако отворите PowerShell или командния ред като администратор и изпълните `winget`, инсталациите, които изискват повишени привилегии, няма да показват подканата за контрол на потребителските акаунти (UAC) , тъй като контекстът вече е повишен. Това е удобно, но означава, че трябва да бъдете много внимателни и да инсталирате само надежден софтуер , особено в корпоративна среда.

  Как да конфигурирате Windows, за да намалите напрежението в очите

В смесени сценарии (програми, които трябва да се изпълняват на потребителско ниво спрямо машинно ниво) е обичайно да се комбинират изпълнения на winget-и като потребител и като администратор или да се използват групови политики, за да се наложат определени поведения и да се намалят предупрежденията.

Основно използване на крилото: основни първи команди

След като актуализирате App Installer, използването на winget е толкова просто, колкото отворете PowerShell, Windows Terminal или CMD и пишете wingetЩе видите инсталираната версия, общ преглед и списък с наличните команди.

Типичният работен процес почти винаги започва с търсене, последвано от инсталиране на приложението, което ви интересува. Основните стъпки биха били нещо подобно:

  1. Търсене на приложение: winget search <nombre_de_app>
  2. Проверете името, идентификатора и произхода на желания пакет.
  3. Инсталирайте го: winget install <nombre_o_id>

По време на инсталацията, winget изтегля правилния инсталатор за вашата архитектура и изходен код и го стартира с подходящите параметри (обикновено в безшумен режим или с минимизиране на взаимодействието), като накрая ви информира дали всичко е минало добре.

Ако искате да видите приложенията, които вече имате на вашата система, можете да стартирате winget list така че Списък с инсталирани пакети с техните версииТази команда е много полезна за проверка на това какво може да се актуализира и какво се разпознава от Winget, дори ако първоначално не е било инсталирано с този инструмент.

Пълен списък с основните команди на крилата

Клиентът поддържа серия от специфични команди, предназначени да обхванат целия жизнен цикъл и конфигурация на приложението. В момента най-важните общи команди са:

команда описание
install инсталирам приложението, посочено от конфигурирания източник.
show проба подробна информация на пакет (редактор, версия, произход и др.).
source Тя позволява на добавяне, премахване или актуализиране хранилища за пакети.
search Направи Ново търсене на приложенията в конфигурираните източници.
list Показва списък на инсталираните пакети разпознат от крилото.
upgrade актуализиран конкретни приложения или всички такива, които имат нова версия.
uninstall деинсталирания конкретно приложение.
hash Изчислете SHA256 хеш от инсталатор.
validate Проверете валидност на манифест преди да го изпратите в хранилището на общността.
settings Отваряне и разрешаване на редактиране на файла конфигурация на крилото.
features Това показва състоянието на експериментални функции.
export износа във файл списъка с инсталирани пакети.
import Инсталиране на групи всички пакети, изброени в експортиран файл.
pin Тя позволява на версии на котви на пакети, така че те да не се актуализират след определен момент.
configure Стартиране на файлове от декларативна конфигурация да остави системата в желаното състояние.
download Изтегляне на инсталатори на приложения, без да ги стартирате.
repair опитвам reparar проблемни съоръжения.
dscv3 Команди, свързани с PowerShell DSC версия 3 и ресурси за конфигурация на желаното състояние.

Глобални опции и най-използвани параметри

Почти всички команди на Winget приемат глобални опции , които променят поведението им, като например показване на повече информация, контролиране на прокси сървъра или потискане на предупрежденията. Някои от най-важните са:

опция Función
-v, --version Показва текущата версия на клиента на winget.
--info Връща подробна информация за инсталирането (лицензи, поверителност, групови правила и др.).
-?, --help Представя на конкретна помощ на команда.
--wait Прави крило Изчакайте ключ преди излизане, полезно при изпълнение в краткотрайни прозорци.
--logs, --open-logs Отворете папката по подразбиране, където трупи на крила.
--verbose, --verbose-logs Активирайте a подробен запис за отстраняване на грешки.
--nowarn, --ignore-warnings Скрий предупредителни съобщения.
--disable-interactivity Опитайте да деактивирате всички интерактивни заявки за автоматизирана употреба.
--proxy Задайте HTTP/HTTPS прокси да се използва по време на това изпълнение.
--no-proxy Принуди крило Не използвайте прокси дори ако системата го е конфигурирала.

Основни практически функции: търсене, инсталиране, изброяване и актуализиране

В ежедневна употреба ще използвате Winget най-вече за няколко много директни команди, които ви позволяват да управлявате приложения, без ръчно да докосвате инсталаторите , точно както бихте направили с мениджър на пакети в Linux.

За да намерите наличен софтуер, имате на разположение winget search <texto>който връща списък с имена, идентификатори, версии и произход които съответстват на търсенето. Този списък ви помага също да идентифицирате точния идентификатор на пакета, който искате да инсталирате.

За да проверите кои програми сте инсталирали, просто изпълнете winget listКомандата показва всички приложения, които Winget разпознава, независимо дали са инсталирани с инструмента или не, и ви позволява да откриване на по-стари версии, които се нуждаят от актуализиране.

Стандартната инсталация се извършва с winget install NOMBRE_APP или още по-добре с Идентификатор на пакета, например: winget install Microsoft.VisualStudioCodeАко инсталацията изисква взаимодействие (приемане на ЛСКП, избор на опции и др.), тя обикновено се извършва в опростен или безшумен режим, доколкото е възможно.

Понякога инсталаторът спира процеса, за да ви помоли да приемете лицензионно споразумение или да потвърдите нещо на екрана. За да сте сигурни, че всичко ще протече гладко от началото до края без подкани, можете да използвате параметри като --silent y --accept-package-agreements --accept-source-agreements, така че Ще наложите приемането на споразуменията и ще премахнете ненужните прозорци..

За да поддържа системата актуална, winget предлага няколко начина за актуализиране на софтуера. Командата winget upgrade без повече приказки, ще покаже Всички приложения с налични нови версииДокато winget upgrade NOMBRE_APP ще актуализира само конкретен пакет.

Ако предпочитате да направите всичко наведнъж, winget upgrade --all Ще се опита да актуализира всички пакети, които имат по-нова версия. Тук влизат в действие разрешенията: ако го стартирате като потребител, Известия от UAC ще бъдат издавани за всяка инсталация, която изисква повдигане.Ако го направите като администратор, те ще бъдат управлявани без да се показват диалоговите прозорци.

  Как да използвате PC Manager в Windows 10 и 11, за да оптимизирате компютъра си

И накрая, деинсталирането също е много лесно с winget uninstall NOMBRE_APPи дори можете включване на множество приложения в един и същ команден ред така че да бъдат премахвани един след друг, стига winget да ги разпознае в системата.

По-малко известни, но много полезни команди

В допълнение към основните команди, winget включва няколко функции, които остават незабелязани в много кратки ръководства и които са много практични при работа с много пакети или е необходимо да се избегнат грешки при идентификация.

Командата winget show NOMBRE_APP Използва се, за да се види всички подробности за пакета, преди да го инсталирате: издател, конкретна версия, идентификатор, източник, тип инсталатор и понякога дори официалната връзка. Можете също да филтрирате по идентификатор с winget show --id ID_PAQUETE да се стремиш към нещо сигурно.

Ако се притеснявате, че инсталацията ще се забави, докато чака да приемете лицензионните споразумения, можете да добавите параметрите --accept-package-agreements y --accept-source-agreements a winget install така че Правните условия се приемат автоматично. без диалогов прозорец.

Комбинирането на тези опции с --silent, например winget install NOMBRE_APP --accept-package-agreements --accept-source-agreements --silent, получавате напълно без надзор съоръжения, много полезно в скриптове за внедряване или когато искате да оставите компютъра да работи, докато правите нещо друго.

Команда за изтегляне на winget: изтегляне на инсталатори без инсталиране

В определени ситуации може да искате да изтеглите инсталатори на приложения, но все още да не ги стартирате : например, за да ги преместите на офлайн машини, да подготвите локално хранилище или ръчно да прегледате съдържанието преди инсталиране.

За това е командата. winget download, чиято основна употреба е winget download [[-q] <query>] [<options>]Той поддържа както общи заявки, така и филтри по ID, име или псевдоним и изтегля инсталатора (или инсталаторите), съответстващи на вашия избор.

Когато пакетът идва от Microsoft Store и е пакетирано приложение ( MSIX, APPX, пакети и др. ), `winget` може също да изтегли свързания лицензен файл. В тези случаи командата изисква удостоверяване с Entra ID и акаунтът да принадлежи към роли като Глобален администратор, Потребителски администратор или Администратор на лицензи, за да генерира и извлече този лицензен файл офлайн.

Ако искате да избегнете работа с офлайн лиценза, можете да използвате параметъра --skip-license o --skip-microsoft-store-package-licenseтака че това крило Просто изтеглете инсталатора и не се опитвайте да получите лицензния файл.

Командата позволява и филтриране по платформа или архитектура. --platform Можете да избирате между стойности като например Windows.Desktop, Windows.Universal o Windows.Holographic за ограничаване на изтеглянията до определен тип устройство.

По същия начин с --architecture можете да посочите x86, x64, ARM или ARM64 за да изберете само инсталатора, подходящ за целевия процесор. Това е особено полезно, ако ще премествате тези файлове на други компютри с различна архитектура от вашата.

Сред най-честите опции на winget download включват:

  • -d, --download-directory: папка, където ще бъдат запазени изтеглените инсталатори.
  • -m, --manifest: път към YAML манифест, който описва какво трябва да се изтегли.
  • --id, --name, --moniker: филтри за ограничаване на резултата до конкретен пакет.
  • -v, --version: точната версия за изтегляне, ако не искате най-новата.
  • -s, --source: ограничава операцията до специфичен произход.
  • --scope, --installer-type, --locale, --skip-dependenciesРазширени опции за подробен контрол на това, което се изтегля.

Някои практически примери биха били:

winget download --id Microsoft.PowerToys --version 0.15.2
winget download --id Microsoft.WingetCreate --installer-type msix
winget download --id Microsoft.PowerToys --scope machine --architecture x64 --download-directory C:\Instaladores

Формати на инсталатора, съвместими с Winget

За да работи последователно с хиляди приложения, winget разпознава голям брой често срещани типове инсталатори на Windows , включително съвременни пакетни инсталатори и класически инсталатори.

В момента поддържаните формати включват:

  • Изпълними файлове EXE с параметри за тиха инсталация (Безшумен o SilentWithProgress).
  • записи Пощенски които са разположени в преносим режим.
  • Инсталатори Настройка на Inno.
  • Инсталатори Nullsoft (NSIS).
  • пакети MSI y Wix..
  • Пакетирани приложения APPX y MSIX.
  • Тип инсталатори ГОРЯ.
  • приложения портативен (без традиционна инсталация, директни изпълними файлове).

Благодарение на този диапазон, winget може да управлява както съвременни приложения от Store, така и традиционни десктоп програми , при условие че техните манифести са правилно дефинирани в съответното хранилище.

Скриптиране и автоматизация с WinGet и PowerShell

Ако обичате да автоматизирате задачи или да управлявате множество екипи, комбинирането на Winget с PowerShell и декларативни скриптовеЗа тази цел Microsoft публикува модула Microsoft.WinGet.Client в галерията на PowerShell, която предоставя специфични командлети за взаимодействие с услугата.

С този модул можете да създавате скриптове, които инсталират, актуализират или поправят пакети, използвайки чист PowerShell, да интегрирате winget в CI/CD конвейери или да го включите в скриптове за осигуряване на нови машини.

Освен това, конфигурационните файлове на YAML, свързани с командата winget configure ви позволяват да опишете в един документ:

  • Предварителни изисквания (твърдения), като минимална версия на Windows.
  • Ресурси, които включват пакети за инсталиране, скриптове за изпълнение, системни настройки и др.

Опростена примерна конфигурация може да включва раздел с твърдения, където е зададена минималната компилация на Windows 10 , и раздел с ресурси с Visual Studio Code, Google Chrome и PowerShell скрипт за подготовка на други модули. След като имате този YAML файл, просто изпълнете:

winget configure --file ruta\a\winget.yaml

По този начин, една единствена команда оставя компютъра със същия набор от приложения и настройки отново и отново, което е идеално за корпоративни среди, класни стаи, лаборатории или вашия собствен компютър след форматиране.

Добавяне на хранилища и работа с персонализирани източници

По подразбиране Winget използва Microsoft Store и хранилището на общността, поддържано в GitHub, като основни източници. Можете обаче да добавите и допълнителни хранилища, за да разширите каталога или да работите с вътрешните пакети на вашата организация.

Много корпоративни среди създават собствен REST код с манифести за своите корпоративни приложения, така че потребителите да могат да ги инсталират с помощта на winget, сякаш са публични пакети , но контролират версиите, лицензите и разпространението.

За да добавите нов шрифт, отворете PowerShell като администратор и изпълнете команда, подобна на тази:

winget source add --name MiRepositorio --arg https://url.de.mi.repo/api

Командата поддържа допълнителни опции, като например --type (тип на произход, обикновено REST), --trust-level (например Надеждни o нито един) Y --accept-source-agreements, Това работи за автоматично приема споразуменията на това хранилище без да е необходимо да го потвърждавате ръчно.

  Как да слушате музика без загуба на качество в Spotify от вашия компютър

За да проверите дали източникът е добавен правилно, можете да използвате winget source list и прегледайте списъка с регистрирани източници. Можете също така да актуализирате или изтривате източници, когато вече не са ви необходими.

Winget за разработчици, независими доставчици на софтуер (ISV) и фирми

Въпреки че всеки потребител може да се възползва от winget, той наистина блести в ръцете на разработчици, производители на софтуер и ИТ администратори, които трябва да стандартизират инсталациите и работните среди.

Разработчиците могат да опишат основните си инструменти (редактори, SDK, компилатори, различни помощни програми) във файл и да позволят на Windows Package Manager да се погрижи за правилното инсталиране на всички зависимости , без пропуски или несъвместими версии между машините.

Доставчиците на софтуер (ISV) имат достъп до хранилището на общността Winget в GitHub, където могат да качват своите манифести на приложения, така че инструментът да ги включи в изходния код по подразбиране. Пакетите се валидират автоматично и могат да бъдат проверявани ръчно, за да се гарантира тяхното качество.

В корпоративни среди Winget опростява задачата за екипите по сигурност и ИТ, тъй като може да се използва заедно с Microsoft Intune и групови политики, за да наложи строги правила за това какво се инсталира, от кои източници и при какви условия, намалявайки рисковете и поддържайки постоянно ниво на актуализации и защита.

Сигурност, закотвяне на сертификати и групови политики

Връзката между Winget, Microsoft Store и други REST източници е защитена от проверки на сертификати и механизми за сигурност , за да се предотвратят атаки от типа „човек по средата“ (MITM) и кражба на идентификационни данни или данни.

В конкретния случай на Microsoft Store има политика, наречена BypassCertificatePinningForMicrosoftStore че Проверете дали Winget валидира хеша на сертификата на Store спрямо списък с известни сертификати. Това е ключово, когато организацията използва защитни стени с SSL инспекция, които могат да попречат на валидирането.

Опциите в тази политика са:

  • Без конфигурация (по подразбиране): winget спазва стандартните настройки на Package Manager и проверява сертификатите на Store.
  • се даде възможност наПропуска се валидирането на сертификата на Microsoft Store, което може да е необходимо в някои сценарии за SSL проверка, но Рискът от MITM атаки се увеличава..
  • деактивиранеWinget е принуден да провери дали сертификатът наистина принадлежи на Store, преди да започне връзката.

Закрепването на сертификати е допълнителен слой сигурност, който гарантира, че комуникацията между клиента на Winget и Microsoft Store не може лесно да бъде прихваната или манипулирана . Деактивирането му без основателна причина е лоша идея от гледна точка на сигурността.

В допълнение към тази политика, всяка версия на Windows 11 включва специфични ADMX/ADML шаблони за Winget , които разширяват опциите за конфигуриране в конзолата за управление на групови политики (GPMC). Те са организирани в категории като разрешен контрол на изходния код, локална разработка (експериментални функции, локални манифести) и политики за изпълнение и използване на прокси.

За да използвате тези шаблони, можете да изтеглите файла от GitHub. DesktopAppInstallerPolicies.zip съответстваща на версията на Winget, която ви интересува, разархивирайте я и копирайте файловете .admx y .adml към стандартните маршрути на C:\Windows\PolicyDefinitions и неговата подпапка за език. Оттам новите опции ще се появят в GPMC и ще можете да приложете ги към организационни единици, сайтове или целия домейн.

Отстраняване на грешки, регистриране и изпращане на нови пакети

Когато нещо се обърка (неуспешни изтегляния, инсталации, които не завършват, конфликти на версии), winget генерира подробни лог файлове , които са много полезни за намиране на източника на проблема.

Можете да отворите папката с лог файлове с опцията --open-logs или активиране --verbose-logs така че инструментът да запазва повече информация за всяка операция. Официалното хранилище winget-cli Той също така поддържа списък с често срещани проблеми и препоръчителни решения, където е добра идея да разгледате, преди да отворите нов проблем.

Ако ви липсва програма от каталога, винаги можете да създадете и изпратите манифест в хранилището на общността. По този начин тя не само ще бъде достъпна за вас, но и други потребители и организации могат лесно да я инсталират от Winget.

Самият инструмент е с отворен код и се намира в хранилището microsoft/winget-cliНаписано е на C++ и е проектирано да се компилира с Visual Studio 2022. Ако искате да допринесете, ще трябва приемам и подписвам Лицензионното споразумение за сътрудници (CLA) от Microsoft и публикувайте промените от клон на вашия fork.

В крайна сметка, познаването и овладяването на Winget ви дава възможността да третирате вашия Windows компютър по-скоро като „сървър“ или сериозна система за разработка: всичко може да се пише чрез скриптове, всичко може да се възпроизвежда и с фин контрол върху това какво се инсталира и как , като се избягват ненужни кликвания и изненади под формата на неправилно подредени версии или програми, за които никой не знае как са попаднали на компютъра.