Менеджер пакетов PackageManagement (OneGet) в Windows 10

Использование OneGetОдно из самых интересных нововведений в Windows 10, которое обычный пользователь может и не заметить — это встроенный менеджер пакетов PackageManagement (ранее — OneGet), позволяющий легко устанавливать, искать и иными способами управлять программами на компьютере. Речь об установке программ из командной строки, а если вам не совсем ясно, о чем это и почему может быть полезным — рекомендую для начала посмотреть видео в конце этой инструкции.

Обновление: встроенный менеджер пакетов назывался OneGet на этапе предварительных версий Windows 10, теперь это модуль PackageManagement в PowerShell. Также в инструкции обновлены способы его использования. Обновление 2020: Microsoft представила диспетчер пакетов Winget.

PackageManagement является составной частью PowerShell в Windows 10, кроме этого, получить менеджер пакетов можно, установив Windows Management Framework 5.0 для Windows 8.1. В этой статье — несколько примеров использования менеджера пакета для рядового пользователя, а также способ подключить репозиторий (своего рода базу данных, хранилище) Chocolatey в PackageManagement (Chocolatey представляет собой независимый менеджер пакетов, который вы можете использовать в Windows XP, 7 и 8 и соответствующий репозиторий программ. Подробнее об использовании Chocolatey в виде независимого менеджера пакетов).

Команды PackageManagement в PowerShell

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

Для этого, начните набирать PowerShell в поиске панели задач, после чего кликните правой кнопкой мыши по найденному результату и выберите пункт «Запустить от имени Администратора».

Запуск PowerShell от имени администратора

Менеджер пакетов PackageManagement или OneGet позволяет работать с программами (устанавливать, удалять, искать, обновление пока не предусмотрено) в PowerShell с помощью соответствующих команд — аналогичные методы хорошо знакомы пользователям Linux. Чтобы получить представление, о чем идет речь, можете взглянуть на скриншот ниже.

Преимущества такого способа установки программ заключаются в:

  • использовании проверенных источников программ (вам не требуется искать вручную официальный сайт),
  • отсутствия установки потенциально нежелательного программного обеспечения при установке (и самого привычного процесса установки с кнопкой «Далее»),
  • возможности создавать сценарии установки (например, если необходимо установить полный набор программ на новый компьютер или после переустановки Windows, не нужно вручную скачивать и устанавливать их, достаточно запустить сценарий),
  • а также в простоте установки и управления ПО на удаленных машинах (для системных администраторов).

Получить список команд, доступных в PackageManagement, вы можете с помощью Get-Command -Module PackageManagement ключевыми из них для простого пользователя будут:

  • Find-Package — поиск пакета (программы), например: Find-Package -Name VLC (параметр Name можно пропустить, регистр букв не важен).
  • Install-Package — установка программы на компьютер
  • Uninstall-Package — удаление программы
  • Get-Package — просмотр установленных пакетов
Список команд Windows 10 PackageManagement

Остальные команды предназначены для просмотра источников пакетов (программ), их добавления и удаления. Эта возможность нам тоже пригодится.

Добавление репозитория Chocolatey в PackageManagement (OneGet)

К сожалению, в предустановленных репозиториях (источниках программ), с которыми работает PackageManagement мало что можно найти, особенно если речь идет о коммерческих (но при этом бесплатных) продуктах — Google Chrome, Skype, различные прикладные программы и утилиты.

Предлагаемое Microsoft для установки по умолчанию хранилище NuGet содержит средства разработки для программистов, но не для типичного моего читателя (кстати, в ходе работы с PackageManagement вам может постоянно предлагаться установка поставщика NuGet, я не нашел способа «избавиться» от этого, кроме как однократно согласиться с установкой).

Однако проблему можно решить, подключив репозиторий менеджера пакетов Chocolatey, для этого используйте команду:

Get-PackageProvider -Name chocolatey

Подтвердите установку поставщика Chocolatey, а после установки введите команду:

Set-PackageSource -Name chocolatey -trusted

Установка Chocolatey для менеджера пакетов Windows 10

Готово.

Последние действие, которое потребуется для того, чтобы пакеты chocolatey могли устанавливаться — изменить Execution-Policy. Для изменения введите команду, разрешающую выполненные всех подписанных доверенных сценариев PowerShell:

Set-ExecutionPolicy RemoteSigned

Команда разрешает использование подписанных сценариев, загруженных из Интернета.

Установка Execution Policy для Chocolatey

С этого момента пакеты из репозитория Chocolatey будут работать в PackageManagement (OneGet). При возникновении ошибок при их установке, попробуйте использовать параметр -Force.

А теперь простой пример использования PackageManagement с подключенным поставщиком Chocolatey.

  1. Например, нам нужно установить бесплатную программу Paint.net (это может быть и другая бесплатная программ, большинство свободно распространяемых программ присутствуют в репозитории). Вводим команду find-package -name paint (можно вводить имя частично, если не знаете точного названия пакета, ключ «-name» не обязателен).
  2. В результате мы видим, что paint.net присутствует в репозитории. Для установки используем команду install-package -name paint.net (точное имя берем из левого столбца). Установка программы в PackageManagement
  3. Дожидаемся окончания установки и получаем установленную программу, не разыскивая, где ее скачать и не получая попутно нежелательное ПО на свой компьютер.

Видео — Использование менеджера пакетов PackageManagement (aka OneGet) для установки программ в Windows 10

Ну и в завершение — все то же самое, но в формате видео, возможно, для кого-то из читателей так будет проще понять — пригодится это для него или нет.

Пока всё, как управление пакетами будет выглядеть в дальнейшем еще посмотрим: была информация и о возможном появлении графического интерфейса OneGet и о поддержке приложений для рабочего стола из магазина Windows Store и о других возможных перспективах развития продукта.

Комментарии (15) к Менеджер пакетов PackageManagement (OneGet) в Windows 10

  • ваня

    А куда делся блок сайта поделиться?

    Ответить

    • Dmitry

      Один блок есть, внизу сайта, но он не отображается на мобильных, чтоб не мешал. А кнопки внизу статьи я убрал, некоторые проблемы с ними были.

      Ответить

  • Brother Boris

    Читал статью на Хабре и там ссылка на сайт с русскими командами была oneget.info

    Ответить

  • pocketpda

    Ну попробуйте сказать что не у Linux стырили идею. Менеджер пакетов в Linux давно стоит, и всё что надо можно спокойно насетапить из командной строки, о да чуть не забыл там же множество рабочих столов присутствует.

    Ответить

    • Dmitry

      А разве кто-то спорит?

      Ответить

    • Mr.L

      А кроме Linux ещё есть Solaris и куча разных вариаций BSD… Там тоже всё это давно есть. Ах, да… Линух же сам клон BSD.

      Ответить

  • Ололо

    Сотрясание воздуха в коментариях

    Ответить

  • Денис Скрипник

    Здравствуйте. Хочу дополнить:
    1. Копируете все команды из статьи.
    2. Проверяете все программы.
    3. Вводите команды install в блокноте.
    4. Сохраняете в формате .ps1.
    5. Открываете Windows PowerShell администратор.
    6. Вводите путь до файла.
    7. Ждёте, пока всё поставится.
    P. S. А есть ещё другие репозитории? Просто некоторых программ нет, а хотелось бы их автоматически ставить. Например, используемая мной программа экранного доступа сейчас имеет версию 2016.3, а в репозитории версия от 2014.
    Отсутствует Dev-C++, хотя эта программа бесплатная.
    Благодарю.

    Ответить

    • Dmitry

      Насчет других репозиториев — по идее должны быть, но что-то мне нагуглить не удалось, искал и по repositories и по package providers.

      Ответить

      • romash1408

        найти все доступные oneget репозитории можено командой
        find-packageprovider *

        Ответить

  • Денис Скрипник

    Ок. Вопрос: как выяснить, почему не удаётся запустить любое приложение с правами администратора? Появляется контроль учётных записей с просьбой ввести логин и пароль, хотя самих полей ввода логина и пароля нет.
    В свойствах служб нет возможности выбора вариантов.
    Как можно это исправить? Ни управление учётными записями, ни командная строка администратор, ни Windows Powershell администратор не запускаются.
    Заранее очень благодарю.

    Ответить

    • Dmitry

      Здравствуйте. Сам с таким не сталкивался. Нашел вот такое решение для 8-ки (предполагаю, что и для 10-ки будет работать) — goo.gl/Dk0gJF
      Суть в том, что активируем скрытую учетку администратора (один из способов у меня описан здесь — https://remontka.pro/reset-password-windows-10/ (добиваемся окна командной строки на экране блокировки, а там уже можно и активировать),
      а под нею перезаводим «потерянную» учетную запись администратора.

      Ответить

      • Денис Скрипник

        Благодарю. Получилось.

        Ответить

  • Yaromax

    Доброго времени суток. С Шоколадкой не все гладко — иногда пакеты просто отказываются устанавливаться, приходится ставить их руками…

    Ответить

  • HalloMain

    Пожалуй самый интересный вопрос.
    Предположим, мне нужно установить софт на много компов, которые еще не в домене.
    Я бы скачал определенный софт в определенную папку, а потом бы уже инсталлил на нужные компы. Зачем для нескольких компов все время качать из интернета нужный софт? Это же винда…

    Ответить

Оставить комментарий

Интересное
Новое
Список инструкций Windows 11 Windows 10 Подписаться