PKGMGR — управление пакетами Windows из командной строки

PKGMGR — встроенная утилита командной строки Windows для установки, удаления и обновления программных пакетов без графического интерфейса.

PKGMGR (Package Manager) — утилита командной строки Windows для управления программными пакетами: установки, обновления, удаления компонентов ОС и сторонних пакетов без графического интерфейса. Применяется системными администраторами для автоматизации развёртывания компонентов Windows и управления обновлениями в корпоративной среде.

Синтаксис команды PKGMGR

PKGMGR [/ip /m:путь_к_пакету] [/iu:имя_компонента] [/up /m:путь_к_пакету]
       [/uu:имя_компонента] [/l:файл_лога] [/n:путь_к_xml] [/quiet] [/?]

Плейсхолдеры:

  • путь_к_пакету — полный путь к файлу пакета (.cab или папке с manifest)
  • имя_компонента — системное имя компонента Windows (например, IIS-WebServerRole)
  • файл_лога — путь к файлу, куда записывается лог операции
  • путь_к_xml — путь к XML-файлу с описанием пакетов для пакетных операций

Ключи и параметры

Ключ Описание Пример
/ip Установить пакет из указанного пути (install package) PKGMGR /ip /m:C:\pkg\update.cab
/iu Включить компонент Windows по имени (install update) PKGMGR /iu:TelnetClient
/up Обновить пакет (update package) PKGMGR /up /m:C:\pkg\update.cab
/uu Отключить компонент Windows (uninstall update) PKGMGR /uu:TelnetClient
/l Сохранить лог операции в файл PKGMGR /iu:TelnetClient /l:C:\log.txt
/n Использовать XML-файл для пакетной операции PKGMGR /n:C:\packages.xml
/quiet Тихий режим — без запросов подтверждения PKGMGR /iu:TelnetClient /quiet
/norestart Не перезагружать систему после установки PKGMGR /ip /m:C:\pkg\update.cab /norestart
/? Показать справку по команде PKGMGR /?

Примеры использования

Включить клиент Telnet

Компонент Telnet отключён по умолчанию. Включить его можно одной командой без перехода в «Панель управления».

PKGMGR /iu:TelnetClient

После выполнения команда telnet станет доступна в командной строке без перезагрузки.

Установить пакет из .cab-файла

Используется при ручной установке обновления или компонента, загруженного отдельно.

PKGMGR /ip /m:C:\Updates\KB123456.cab /quiet /norestart

Пакет установится в тихом режиме; перезагрузка не произойдёт автоматически.

Обновить существующий пакет

Если пакет уже установлен и нужно применить новую версию:

PKGMGR /up /m:C:\Updates\KB123456_new.cab

Система заменит старую версию пакета новой.

Отключить компонент Windows

Чтобы отключить встроенный компонент, например игры Windows:

PKGMGR /uu:WindowsGames

Компонент будет деактивирован; файлы останутся на диске, но функция станет недоступна.

Пакетная установка через XML

Для развёртывания нескольких компонентов на множестве машин удобно использовать XML-описание.

PKGMGR /n:C:\deploy\components.xml /quiet /norestart /l:C:\logs\pkgmgr.log

Все компоненты из файла components.xml будут установлены последовательно; результат запишется в лог.

Просмотр справки

Для получения полного списка ключей прямо в консоли:

PKGMGR /?

Частые ошибки и решения

Ошибка / симптом Причина Решение
«Отказано в доступе» при запуске CMD запущен без прав администратора Открыть командную строку через «Запуск от имени администратора»
«PKGMGR не является внутренней командой» Файл pkgmgr.exe отсутствует или переменная PATH не включает %SystemRoot%\System32 Проверить наличие C:\Windows\System32\pkgmgr.exe; при необходимости восстановить через SFC
Ошибка 0x800F081F «Исходные файлы не найдены» Пакет требует дополнительных файлов из образа Windows Указать источник установки: смонтировать ISO и добавить ключ /m: с путём к WIM
Команда зависает без вывода Операция выполняется в фоне; PKGMGR работает асинхронно Добавить ключ /l: и следить за логом; не прерывать процесс до появления записи «Completed»
Пакет установился, но функция не работает до перезагрузки Некоторые компоненты требуют рестарта Перезагрузить систему; не использовать /norestart для критичных компонентов ядра

Когда применять, а когда нет

PKGMGR подходит для управления компонентами Windows Vista / Windows Server 2008, а также для установки .cab-пакетов в автоматизированных сценариях развёртывания. Команда требует прав администратора. Начиная с Windows 8 и Server 2012 рекомендуется использовать DISM вместо PKGMGR — он получил расширенный функционал и активно развивается. В PowerShell аналогом служит Add-WindowsFeature (для серверных ОС) и Enable-WindowsOptionalFeature для рабочих станций. Для управления сторонними приложениями (не компонентами ОС) PKGMGR не предназначен — используйте winget или msiexec.

FAQ

Чем PKGMGR отличается от DISM?

PKGMGR — более старая утилита, ориентированная на Vista/Server 2008. DISM заменил её начиная с Windows 8 и поддерживает работу с образами WIM, офлайн-обслуживание и более широкий набор операций.

Нужно ли перезагружать компьютер после PKGMGR?

Зависит от пакета. Компоненты, интегрированные в ядро системы, требуют перезагрузки. Используйте ключ /norestart, если хотите перезагрузить позже вручную.

Можно ли использовать PKGMGR в Windows 10?

Формально файл pkgmgr.exe присутствует в системе, но Microsoft рекомендует DISM или PowerShell-командлеты. PKGMGR может работать некорректно с пакетами, созданными для новых версий ОС.

Как узнать имя компонента для ключа /iu?

Выполните DISM /online /Get-Features — команда выведет список всех компонентов с их системными именами, которые можно передать в PKGMGR /iu.

Что означает код ошибки 0x800F0922?

Ошибка указывает на нехватку места на системном разделе или проблему с подключением к Windows Update. Освободите место на диске C: и повторите операцию.

Как отменить установку пакета, выполненную через PKGMGR?

Используйте ключ /uu:имя_компонента для отключения компонента или DISM /online /Remove-Package /PackageName:имя для удаления установленного пакета.

Оцените статью
( Пока оценок нет )
MW10
Добавить комментарий

Нажимая на кнопку "Отправить комментарий", я даю согласие на обработку персональных данных и принимаю политику конфиденциальности.