Categories: PowerShellWindows 10

Установка приложений с помощью менеджера пакетов PowerShell

В состав Windows 10 разработчики включили новый PowerShell модуль с именем PackageManagement . Модуль PackageManagement (ранее назывался OneGet) позволяет из консоли PoSh устанавливать, управлять и удалять приложения и программы из некого внешнего (или локального) репозитория, а также управлять списком подключенных репозиториев. Проще говоря, в Windows 10/ Windows Server 2016 появилась возможность устанавливать программы из командной строки по аналогии с известной командой Linux apt-get install .

Модуль менеджера пакетов PackageManagement позволяет существенно упростить процедуру установки нового ПО. Вся установка по сути сводиться к выполнению одной команды PowerShell, и, самое главное, пользователю не нужно самостоятельно искать в интернете и выкачивать дистрибутивы софта, рискуя скачать устаревшую или зараженную версию. Установка проводится из доверенного источника программ. При обновлении программного обеспечения в репозитории, оно может быть автоматически обновлено на клиентах.

Модуль PackageManagement

Модуль PackageManagement уже встроен в Windows 10, а для его работы требуется PowerShell 5 . Поэтому для работы менеджера пакетов в Windows 8.1 нужно сначала установить Windows Management Framework 5.0 . Также Microsoft выпустила отдельный модуль для работы менеджера пакетов и на PowerShell версий 3 и 4.

Выведем список доступных командлетов PowerShell в модуле PackageManagement:

Get-Command -Module PackageManagement

В текущей версии модуля (v 1.0.0.1) имеются такие команды:

  • Find- Package — поиск пакета (программы) в доступных репозиториях
  • Get- Package — получить список установленных пакетов
  • Get- PackageProvider — список провайдеров (поставщиков пакетов), доступных на компьютере
  • Get- PackageSource — список доступных источников пакетов
  • Install- Package — установить пакет (программу) на компьютере
  • Register- PackageSource — добавить источник пакетов для провайдера
  • Save- Package — сохранить пакет локально без его установки
  • Set- PackageSource — задать провайдер в качестве источника пакетов
  • Uninstall- Package — удалить программу (пакет)
  • Unregister- PackageSource — удалить поставщика из списка источников пакетов

Провайдеры пакетов

Пакеты обслуживаются различными провайдерам, которые могут получать пакеты из разных источников. Чтобы вывести список всех доступных провайдеров, выполните:

Find-PackageProvider

По умолчанию в системе имеются 2 установленных источника пакетов: nuget.org и PSGallery (официальная онлайн галерея скриптов PowerShell от MSFT). Но они предназначены в первую очередь для программистов и системных администраторов.

Примечание . В Nano Server есть специальный еще провайдер NanoServerPackage, о нем в следующей статье.

Чтобы получить доступ к каталогу прикладного ПО, подключим популярный репозитарий ПО – Chocolatey , содержащий на данный момент более 4500 различных программ.

Установим новый провайдер Chocolatey:

Install-PackageProvider chocolatey

Подтвердим установку провайдера, нажав Y.

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

Set-PackageSource -Name chocolatey -Trusted

Убедимся, что Chocolatey теперь присутствует среди доступных репозитариев приложений:

Get-PackageSource

Name                             ProviderName     IsTrusted  Location
----                             ------------     ---------  --------
PSGallery                        PowerShellGet    False      https://www.powershellgallery.com/api/v2/
chocolatey                       Chocolatey       True      http://chocolatey.org/api/v2/

Установка приложений из репозитория Chocolatey

Рассмотрим теперь, как установить приложение (пакет) из репозитория Chocolatey.

Список доступных для установки приложения можно получить непосредственно на официальном веб сайте Chocolatey ( https://chocolatey.org/packages )

Также можно найти и установить нужное приложение прямо из консоли PowerShell. Например, для просмотра pdf файлов нам понадобилось установить приложение Adobe Acrobat Reader . Т.к. мы не знаем полного названия приложения, для его установки нам нужно получить имя пакета в каталоге. Выполним поиск в репозитории по ключевому слову ‘adobe’:

Find-Package -Name *adobe* -Source Chocolatey

В консоли появится список всех пакетов по данному ключу. Нам нужен пакет adobereader (нужно использовать именно имя пакета из столбца Name).

Запускаем установку пакета Adobe Reader:

Install-Package -Name adobereader -ProviderName Chocolatey

Вверху окна PowerShell появится ползунок, свидетельствующий о начале загрузки пакета Adobe Reader. Сразу после окончания загрузки, приложение установится в системе.

Еще один пример. Допустим, нам понадобилось иметь на компьютере набор утилит SysInternals. Чтобы не качать его вручную, найдем пакет SysInternals в репозитарии Chocolatey и установим его.

Find-Package -Name Sysinternals | Install-Package

Т.к. пакет не требует установки, он сохраняется на компьютер и хранится в каталоге C:Chocolateylib . В нашем примере это каталог C:Chocolateylibsysinternals.2016.11.18tools

Сразу несколько приложений можно установить всего одной командой:

Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package

Удаление пакета

Удаление приложения на компьютере выполняется также одной командой. К примеру, для удаления Adobe Reader, выполните команду:

Uninstall-Package adobereader

Итак, мы рассмотрели новые возможности установки приложений в Windows из командной строки PowerShell. В ближайшем будущем, вероятно, появятся графические надстройки над модулем PackageManagement, позволяющие легко управлять установкой/удалением ПО и простым пользователям без навыков работы с CLI.

admin

Share
Published by
admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago