Пользователи Linux прекрасно знают, что в их операционной системе программы устанавливаются с помощью менеджера пакетов. Например, в Ubuntu/Debian – через apt , в RHEL/Centos – yum, Arch – pacman. Разработчики Windows 10 пошли по примерно тому же пути и включили модуль PackageManagement в PowerShell .
PackageManagement позволяет устанавливать, управлять и удалять приложения и программы из внешнего (или локального) хранилища, а также управлять списком подключенных хранилищ из командной строки в Windows 10 и Windows Server 2016/2019.
Модуль PackageManagement позволяет легко устанавливать новое программное обеспечение. Установка сводится к запуску одной команды PowerShell, программное обеспечение устанавливается из надежного источника. Пользователю не нужно искать и загружать дистрибутивы программного обеспечения в Интернете, что снижает риск загрузки устаревших или зараженных программ. Когда программное обеспечение обновляется в репозитории, оно может автоматически обновляться на клиентах.
Отобразите список доступных командлетов PowerShell в модуле PackageManagement:
Get-Command -Module PackageManagement
В текущей версии модуля (v 1.4.5) доступны следующие команды:
- Find-Package – поиск пакета (программы) в доступных репозиториях
- Get-Package – показать список установленных пакетов
- Get-PackageProvider – отобразить список поставщиков пакетов, доступных на компьютере
- Get-PackageSource – список доступных источников пакетов
- Install-Package – установить пакет (программу) на компьютер
- Register-PackageSource – добавить источник пакета для провайдера
- Save-Package – сохранить пакет локально, не устанавливая его
- Set-PackageSource – установить провайдера в качестве источника пакета
- Uninstall-Package – удалить программу (пакет)
- Unregister-PackageSource – удалить провайдера из списка источников пакетов
Поставщики пакетов
Пакеты обслуживаются разными провайдерами, которые могут получать пакеты из разных источников. Чтобы отобразить список доступных поставщиков, выполните следующую команду:
Find-PackageProvider
Давайте подключим популярное хранилище программного обеспечения – Chocolatey, содержащее тысячи различных программ.
Install-PackageProvider chocolatey
Подтвердите установку, нажав Y.
Сделайте Chocolatey надежным источником пакетов, чтобы не подтверждать установку пакета каждый раз.
Set-PackageSource -Name chocolatey -Trusted
Убедитесь, что Chocolatey теперь доступен среди репозиториев приложений:
Get-PackageSource
Установка приложений из репозитория Chocolatey
Давайте посмотрим, как установить приложение (пакет) от Chocolatey.
Список доступных приложений можно получить непосредственно с официального сайта Chocolatey ( https://chocolatey.org/packages ).
Предположим, вам нужен набор инструментов SysInternals. Чтобы не загружать его вручную, найдите пакет SysInternals в Chocolatey и установите его.
Find-Package -Name Sysinternals | Install-Package
Поскольку пакет не требует установки, он сохраняется на вашем компьютере в C:\Chocolatey\lib\ . В нашем примере это C:\Chocolatey\lib\ sysinternals.2019.12.19\tools
Вы можете установить несколько приложений одновременно, используя одну команду:
Find-Package -Name firefox, winrar, notepadplusplus, putty, dropbox | Install-Package
Как удалить пакет
Вы также можете удалить пакет, используя только одну команду. Например, чтобы удалить Adobe Reader, выполните следующую команду:
Uninstall-Package adobereader
Итак, мы рассмотрели новые способы установки приложений Windows из командной строки PowerShell.