|
Друзі сайту
|
winget: пакетний менеджер Windows — корпоративне розгортання без MSI-полюванняЦикл: IT-Wiki / Атлас команд Windows Переглядів: 8
Перед стартом
Базові команди
Сценарій 1. Разове встановленняЗадача: встановити PowerShell 7 на свіжо-розгорнутий сервер. winget search PowerShell У виводі — ідентифікатор winget install Microsoft.PowerShell --silent --accept-package-agreements --accept-source-agreements Розбір прапорів:
Без --accept-* у скрипті = вічне зависання
Якщо забути Сценарій 2. Масове оновлення всьогоОдна команда оновить ВСЕ, що winget розпізнає: winget upgrade --all --silent --accept-package-agreements --accept-source-agreements Або більш акуратно — подивитись що буде оновлюватись, і лише потім застосувати: winget upgrade winget upgrade --all --silent --accept-package-agreements --accept-source-agreements Виключити конкретний пакет (наприклад, не чіпати Chrome — його оновлює сама Google): winget upgrade --all --exclude Google.Chrome --silent Сценарій 3. Масове розгортання — export/importЗадача: налаштували робоче оточення на «еталонній» машині (15-20 застосунків). Треба те саме на 50 інших машинах. На еталонній: winget export -o C:\Deploy\apps.json У
На цільовій машині: winget import -i C:\Deploy\apps.json --accept-package-agreements --accept-source-agreements winget проходить список і встановлює пакети послідовно. Silent-прапор у Сценарій 4. Корпоративне розгортання через Intune / GPOЧерез Intune Proactive Remediation (чи startup-скрипт у GPO) на нову машину автоматично: # bootstrap.ps1
$manifest = "\\fileserver\deploy\baseline-apps.json"
# Перевірити, чи winget взагалі є
if (-not (Get-Command winget -ErrorAction SilentlyContinue)) {
Write-Output "winget missing — needs App Installer from Microsoft Store"
exit 1
}
winget import -i $manifest `
--accept-package-agreements `
--accept-source-agreements `
--ignore-unavailable `
--ignore-versions
Write-Output "Deployment finished"
Прапори для корпоративного розгортання:
Сценарій 5. winget на Windows Server 2022 — додаткова настройкаWindows Server 2022 не має winget з коробки. Встановлення: # PowerShell від адміна Invoke-WebRequest -Uri "https://github.com/microsoft/winget-cli/releases/latest/download/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle" -OutFile "C:\Temp\winget.msixbundle" Add-AppxPackage -Path C:\Temp\winget.msixbundle Залежить від інших пакетів (VCLibs, UI.Xaml). Повний порядок і скрипт — у репозиторії microsoft/winget-cli. Після встановлення — перезайдіть у сесію. На Server 2022 Core (без GUI)
Без Сценарій 6. Власний репозиторій (enterprise)Якщо у вас закрита корпоративна мережа без доступу до Microsoft CDN, можна запустити Windows Package Manager Private Repository — self-hosted REST API з власним індексом пакетів. Додати джерело: winget source add --name CorpRepo --arg https://winget.corp.local/api --type Microsoft.Rest Встановлення з власного джерела: winget install MyApp --source CorpRepo Розгортання приватного репозиторію — окрема тема (див. GitHub microsoft/winget-cli-restsource). У 90% випадків цей рівень не потрібен — достатньо publicrepo з SSL-проксі для фільтрації. Типові пасткиПастка 1:
winget не знаходить командуНайчастіше — не встановлений App Installer (він постачає winget). У Windows 10 21H2+ App Installer з коробки, але на свіжо-розгорнутій машині міг не оновитись з Microsoft Store. Перевірка: Get-AppxPackage Microsoft.DesktopAppInstaller | Select Name, Version Якщо нема — ставимо з Microsoft Store або msixbundle (див. Сценарій 5). Пастка 2:
winget через SYSTEM-акаунтПід SYSTEM-акаунтом (Task Scheduler, Intune Script, GPO Startup) $wingetPath = (Resolve-Path "C:\Program Files\WindowsApps\Microsoft.DesktopAppInstaller_*_x64__8wekyb3d8bbwe\winget.exe").Path | Select -Last 1 & $wingetPath install Microsoft.PowerShell --silent У Windows Server 2025 з'явився Machine-scope winget, який працює коректно з SYSTEM — але поки мало хто на ньому. Пастка 3: корпоративний проксі
winget тягне пакети через HTTPS. У закритих мережах з проксі-автентифікацією треба вказати проксі явно: winget settings --set network.proxy "http://proxy.corp.local:8080" Або через змінні середовища Коротка пам'ятка — корпоративні сценаріїГотові рядки
Пов'язане
winget перетворює «полювання за MSI по 15 сайтах» на один YAML-рядок. Для баз нових машин — обов'язково. Для масового розгортання — відмінна альтернатива SCCM для SMB. Інші статті цього циклуТеги: winget Windows Package Manager MSI silent install winget import corporate deployment PowerShell deployment
|
Опитування
Якою програмою обліку ви користуєтесь?
Архів
Хмаринка тегів
1С Active Directory Applied cheatsheet Dahua diskpart DISM Event Log Get-Service gpresult gpupdate Hikvision ipconfig MBR netsh ping PowerShell Restart-Service RSoP services TCP Test-NetConnection UEFI Vstarcam WEB Windows Windows Services winsock WMI filter Конфігурація Ніжин Ніжин відеоспостереження виробництво впровадження відеонагляд відеоспостереження дизайн монтаж розділи інтеграція
|
![[IT-FORMAT]](/uploads/logo22.png)
