Всё о 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, и пользователю не нужно искать и загружать установочные файлы программного обеспечения в Интернете, что снижает риск загрузки устаревших или заражённых программ. Программное обеспечение устанавливается из надёжного источника. Когда программное обеспечение обновляется в репозитории, оно может автоматически обновляться на клиентах.
Install Software Using Powershell in Windows 10
Модуль PackageManagement
Модуль PackageManagement уже интегрирован в Windows 10, и для него требуется PowerShell 5 и выше. Чтобы PackageManagement работал под Windows 8.1, сначала необходимо установить Windows Management Framework 5.0. Microsoft также выпустила отдельный модуль PackageManagement для работы в PowerShell v.3 и 4.
Посмотрим список доступных командлетов PowerShell в модуле PackageManagement:
Get-Command -Module 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 — удаляет провайдера из списка источников пакетов
Поставщики пакетов
Пакеты обслуживаются разными поставщиками, которые могут получать пакеты из разных источников. Чтобы отобразить список доступных поставщиков, выполните эту команду:
Как установить приложения с помощью Powershell
Find-PackageProvider
По умолчанию в системе установлено два источника пакетов: NuGet (nuget.org) и PowerShellGet (официальная онлайн-галерея скриптов PowerShell от MSFT). В первую очередь они рассчитаны на программистов и системных администраторов.
Примечание. В Nano Server есть специальный провайдер NanoServerPackage, о котором пойдёт речь в следующей статье.
Чтобы получить доступ к репозиторию прикладного программного обеспечения, давайте подключим популярный репозиторий программного обеспечения — Chocolatey, содержащий более 4500 различных программ.
Установите нового провайдера, Chocolatey:
Install-PackageProvider ChocolateyGet
Обратите внимание, что PowerShell (или Windows Terminal) нужно запускать с правами администратора. Как это сделать смотрите в статье «Как запустить PowerShell с правами администратора».
Если вы получили следующее сообщение об ошибке, то это означает, что PowerShell запущен без прав администратора:
Install-PackageProvider: Administrator rights are required to install packages in ». Log on to the computer with an account that has Administrator rights, and then try again, or install in ‘C:UsersMiAlAppDataLocalPackageManagementProviderAssemblies’ by adding «-Scope CurrentUser» to your command. You can also try running the Windows PowerShell session with elevated rights (Run as Administrator).
Подтвердите установку провайдера, нажав Y.
Сделайте Chocolatey надёжным источником пакетов, чтобы каждый раз не подтверждать установку пакета из этого репозитория.
Set-PackageSource -Name chocolatey -Trusted
Убедитесь, что Chocolatey теперь доступен среди репозиториев приложений:
Get-PackageSource
Установка приложений из репозитория 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 ChocolateyGet
В верхней части окна PowerShell появится ползунок, указывающий, что пакет Adobe Reader загружается. Сразу после завершения загрузки приложение устанавливается в системе.
Другой пример. Допустим, вам нужен набор инструментов SysInternals. Чтобы не загружать его вручную, найдите в Chocolatey пакет SysInternals и установите его.
Find-Package -Name Sysinternals | Install-Package
Поскольку пакет не требует установки, он сохраняется на вашем компьютере и хранится в папке C:ProgramDatachocolateybin.
Вы можете установить несколько приложений одновременно, используя одну команду:
Find-Package -Name firefox, 7zip, notepadplusplus, putty, dropbox | Install-Package
Как удалить пакет
Вы также можете удалить пакет, используя всего одну команду. Например, чтобы удалить Adobe Reader, выполните эту команду:
Uninstall-Package adobereader
Итак, мы рассмотрели новые способы установки приложений Windows из командной строки PowerShell. В ближайшее время могут появиться графические надстройки для PackageManagement, которые позволят легко управлять установкой/удалением программного обеспечения для обычных пользователей без навыков работы с интерфейсом командной строки.
- Уникальная статья
Источник: pwsh.ru
Как в Windows 10 устанавливать программы с онлайн-репозиториев с помощью PowerShell
В отличие от Linux , в которой приложения традиционно устанавливаются из внешних репозиториев, в ОС Windows установка большинство десктопных программ выполняется из EXE или MSI -файла, реже с помощью веб-установщика, загружающего на ПК исполняемый файл. По мнению приверженцев Linux , этот способ имеет целый ряд недостатков, так, во-первых, нужную программу приходится вручную искать в интернете, во-вторых, при этом всегда есть риск загрузить устаревшую или зараженную вирусами версию.
И действительно, установка программного обеспечения из доверенных репозиториев снижает риск «подхватить» вирус, помогает сэкономить потраченное на поиск нужного ПО время, да и вообще, существенно упрощает процедуру инсталляции и обновления программных пакетов. Впрочем, возможность установки приложений из внешних репозиторием присутствует и в Windows, просто эта функция не получила широкого признания. Так, в десятой версии Windows имеется специальный модуль PackageManagement, позволяющий скачивать и устанавливать приложения из онлайнового или локального источника, используя командную строку PowerShell .
Чтобы просмотреть список доступных комадлетов, запустите PowerShell от имени администратора и выполните команду Get-Command -Module PackageManagement .
В текущей версии модуля имеется 13 командлентов. Вот они:
• Get-Package — выводит список инсталлированных программ и компонентов.
• Get-PackageProvider — с помощью этой команды можно получить список поддерживаемых поставщиков программного обеспечения.
• Find-Package — команда выполняет поиск программ в источнике.
• Get-PackageSource — получение списка источников.
• Install-Package — команда производит установку программы на компьютер.
• Uninstall-Package — удаление программы.
• Register-PackageSource — добавление источника программ для поддерживаемого поставщика.
• Save-Package — сохранение дистрибутива приложения без инсталляции на компьютер.
• Set-PackageSource — установка поставщика в качестве источника пакетов.
• Unregister-PackageSource — удаление поставщика из списка источников пакетов.
Теперь давайте посмотрим, как всем этим пользоваться. Для начала нужно узнать, какие поставщики ПО поддерживаются. Запустите PowerShell от имени администратора и выполните такую команду:
Find-PackageProvider
Скорее всего, после выполнения команды вы получите предложение установить поставщика nuget. Nuget, равно как PSGallery и еще целый ряд провайдеров больше ориентированы на системных администраторов, обычным же пользователям больше подойдет Chocolatey , тем не менее, его стоит установить, чтобы в дальнейшем система больше его не предлагала.
Поэтому вводим y , жмем ввод и получаем список доступных провайдеров. Теперь подключим поставщика Chocolatey , выполнив указанную ниже команды и подтвердив установку вводом y :
Install-PackageProvider chocolatey
Обратите также внимание на предупреждение, что поставщик Chocolatey не отмечен как надежный.
Это значит, что каждый раз при установке пакета будет запрашиваться подтверждение. Чтобы его отключить, нужно внести провайдера в список доверенных, выполнив следующую команду:
Set-PackageSource -Name chocolatey -Trusted
При этом в корне системного диска у вас должна появиться папка Chocolatey .
Теперь убедимся, что провайдер установлен и с ним можно работать:
Get-PackageSource
На положительный результат будет указывать флаг true в колонке InTrast. Итак, поставщик подключен, теперь давайте установим на компьютер какое-нибудь приложение. Естественно, для этого нам нужно знать, имеется ли оно в базе Chocolatey . Тут есть два варианта — можно зайти на официальный сайт поставщика chocolatey.org/packages и вбить его название в поисковую форму.
Либо выполнить поиск прямо в консоли PowerShell , воспользовавшись командлетом Find-Package . Найдем и установим браузер Opera. Выполняем команду поиска, указав в качестве параметра Name название программы и название поставщика в качестве параметра Source :
Find-Package -Name *Opera* -Source Chocolatey
Приложение в базе Chocolatey найдено, давайте его установим, но перед этим надо обязательно разрешить, если этого не было сделано раньше, выполнение скриптов PowerShell иначе исполняемые файлы программ могут не скачаться.
Политика меняется такой командой:
Set-ExecutionPolicy Unrestricted
Теперь загрузим и инсталлируем нашу программу. Для этого выполняем команду с параметрами Name (название пакета) и ProviderName (название поставщика) :
Install-Package -Name Opera -ProviderName Chocolatey
В результате выполнения команды приложение будет загружено и установлено в автоматическом тихом режиме.
Точно таким же образом вы можете найти скачать другие программы, включая их портативные редакции, которые в отличие от обычных инсталлируемых версий будут сохранены в каталог C:Chocolateylib в распакованном виде.
Источник: www.white-windows.ru
Установка приложений с помощью менеджера пакетов 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 — удалить поставщика из списка источников пакетов
Провайдеры пакетов
Пакеты обслуживаются различными провайдерам, которые могут получать пакеты из разных источников. Чтобы вывести список всех доступных провайдеров, выполните:
По умолчанию в системе имеются 2 установленных источника пакетов: nuget.org и PSGallery (официальная онлайн галерея скриптов PowerShell от MSFT). Но они предназначены в первую очередь для программистов и системных администраторов.
Примечание. В Nano Server есть специальный еще провайдер NanoServerPackage, о нем в следующей статье.
Чтобы получить доступ к каталогу прикладного ПО, подключим популярный репозитарий ПО – Chocolatey, содержащий на данный момент более 4500 различных программ.
Установим новый провайдер Chocolatey:
Подтвердим установку провайдера, нажав Y.
Сделаем Chocolatey доверенным источником пакетов, чтобы каждый раз при установке пакета не приходилось подтверждать установку.
Set-PackageSource -Name chocolatey -Trusted
Убедимся, что Chocolatey теперь присутствует среди доступных репозитариев приложений:
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, выполните команду:
Итак, мы рассмотрели новые возможности установки приложений в Windows из командной строки PowerShell. В ближайшем будущем, вероятно, появятся графические надстройки над модулем PackageManagement, позволяющие легко управлять установкой/удалением ПО и простым пользователям без навыков работы с CLI.
Источник: ddr64.link