PowerShell: системное администрирование и программирование
Всё о PowerShell в Windows и на Linux. Системное администрирование Windows
Как пользоваться PackageManagement в PowerShell в Windows 10
Разработчики включили в PowerShell новый модуль PackageManagement в Windows 10. PackageManagement (ранее называвшийся OneGet) позволяет устанавливать, управлять и удалять приложения и программы из внешнего (или локального) репозитория, а также управлять списком подключённых репозиториев из консоли PoSh. Другими словами, теперь вы можете устанавливать программы из командной строки в Windows 10/Windows Server 2016, как это делается в Linux, с помощью известной команды apt-get install.
Модуль PackageManagement упрощает установку нового программного обеспечения. Установка сводится к запуску одной команды PowerShell, и пользователю не нужно искать и загружать установочные файлы программного обеспечения в Интернете, что снижает риск загрузки устаревших или заражённых программ. Программное обеспечение устанавливается из надёжного источника. Когда программное обеспечение обновляется в репозитории, оно может автоматически обновляться на клиентах.
Модуль PackageManagement
Модуль PackageManagement уже интегрирован в Windows 10, и для него требуется PowerShell 5 и выше. Чтобы PackageManagement работал под Windows 8.1, сначала необходимо установить Windows Management Framework 5.0. Microsoft также выпустила отдельный модуль PackageManagement для работы в PowerShell v.3 и 4.
Посмотрим список доступных командлетов PowerShell в модуле PackageManagement:
В текущей версии модуля (v 1.4.7) доступны следующие команды:
- Find-Package — поиск пакета (программы) в доступных репозиториях
- Find-PackageProvider — поиск провайдеров распространения пакетов
- Get-Package — показывает список установленных пакетов
- Get-PackageProvider — выводит список поставщиков пакетов, доступных на компьютере
- Get-PackageSource — выводит список доступных источников пакетов
- Import-PackageProvider — добавляет поставщиков пакетов управления пакетами в текущий сеанс
- Install-Package — устанавливает пакет (программу) на компьютер
- Install-PackageProvider — устанавливает одного или нескольких поставщиков пакетов управления пакетами.
- Register-PackageSource — добавляет источник пакета для поставщика
- Save-Package — сохраняет пакет локально, не устанавливая его
- Set-PackageSource — устанавливает поставщика в качестве источника пакета
- Uninstall-Package — удаляет программу (пакет)
- Unregister-PackageSource — удаляет провайдера из списка источников пакетов
Поставщики пакетов
Пакеты обслуживаются разными поставщиками, которые могут получать пакеты из разных источников. Чтобы отобразить список доступных поставщиков, выполните эту команду:
По умолчанию в системе установлено два источника пакетов: NuGet (nuget.org) и PowerShellGet (официальная онлайн-галерея скриптов PowerShell от MSFT). В первую очередь они рассчитаны на программистов и системных администраторов.
Примечание. В Nano Server есть специальный провайдер NanoServerPackage, о котором пойдёт речь в следующей статье.
Чтобы получить доступ к репозиторию прикладного программного обеспечения, давайте подключим популярный репозиторий программного обеспечения — Chocolatey, содержащий более 4500 различных программ.
Установите нового провайдера, Chocolatey:
Обратите внимание, что PowerShell (или Windows Terminal) нужно запускать с правами администратора. Как это сделать смотрите в статье «Как запустить PowerShell с правами администратора».
Если вы получили следующее сообщение об ошибке, то это означает, что PowerShell запущен без прав администратора:
Подтвердите установку провайдера, нажав Y.
Сделайте Chocolatey надёжным источником пакетов, чтобы каждый раз не подтверждать установку пакета из этого репозитория.
Убедитесь, что Chocolatey теперь доступен среди репозиториев приложений:
Установка приложений из репозитория Chocolatey
Давайте посмотрим, как установить приложение (пакет) от Chocolatey.
Список доступных приложений можно получить прямо на официальном сайте Chocolatey (https://chocolatey.org/packages).
Вы также можете найти и установить приложения прямо из консоли PowerShell. Например, для просмотра файлов PDF необходимо установить Adobe Acrobat Reader. Поскольку мы не знаем полного имени приложения, нам нужно было получить имя пакета в каталоге для его установки. Выполните поиск в репозитории по ключевому слову «adobe»:
Список всех пакетов, содержащих это ключевое слово, появится в консоли. Нам нужен adobereader (это имя пакета из столбца Name, которое нам нужно использовать).
Запустите установку пакета Adobe Reader:
В верхней части окна PowerShell появится ползунок, указывающий, что пакет Adobe Reader загружается. Сразу после завершения загрузки приложение устанавливается в системе.
Другой пример. Допустим, вам нужен набор инструментов SysInternals. Чтобы не загружать его вручную, найдите в Chocolatey пакет SysInternals и установите его.
Поскольку пакет не требует установки, он сохраняется на вашем компьютере и хранится в папке C:\ProgramData\chocolatey\bin\.
Вы можете установить несколько приложений одновременно, используя одну команду:
Как удалить пакет
Вы также можете удалить пакет, используя всего одну команду. Например, чтобы удалить Adobe Reader, выполните эту команду:
Итак, мы рассмотрели новые способы установки приложений Windows из командной строки PowerShell. В ближайшее время могут появиться графические надстройки для PackageManagement, которые позволят легко управлять установкой/удалением программного обеспечения для обычных пользователей без навыков работы с интерфейсом командной строки.