PowerShell Gallery – это конечная точка для всех ваших потребностей в PowerShell, будь то вы новичок или опытный пользователь. И хорошая новость в том, что здесь есть обширная коллекция документации, скриптов, модулей и других ресурсов, созданных сообществом PowerShell.
В этом руководстве вы узнаете, как находить, загружать и устанавливать ресурсы из PowerShell Gallery.
Следите за обновлениями и повышайте свою мастерство в написании сценариев уже сегодня!
Предварительные требования
Этот учебник будет практическим демонстрационным материалом. Чтобы идти в ногу, убедитесь, что у вас есть система с установленным PowerShell 5.1 или более поздней версией. В этом учебнике используется Windows 10 с установленным PowerShell 5.3, но также должны работать и другие версии Windows и PowerShell.
Установка .NET Framework
Прежде чем погружаться в PowerShell Gallery, вам сначала нужен способ взаимодействия с ним, и основной способ – это .NET Framework.
Сначала вам нужно установить .NET Framework, который критичен для модуля PowerShellGet. Модуль PowerShellGet требует как минимум .NET Framework версии 4.5+. Модуль PowerShellGet позволяет вам находить, устанавливать, обновлять и публиковать артефакты PowerShell.
Но в этом учебнике вы установите .NET Framework версии 4.8.
? Обратите внимание, что .NET Framework v4.8 может уже быть установлен на вашей системе. Если это так, вы можете пропустить этот шаг. Но если у вас установлена более старая версия .NET Framework, удалите ее и обновите до более новой версии.
Чтобы установить .NET Framework, выполните следующие шаги:
1. Откройте ваш любимый веб-браузер и перейдите на официальную страницу загрузки .NET Framework.
2. Затем нажмите ссылку Загрузить .NET Framework 4.8 Developer Pack, чтобы загрузить файл, аналогичный ndp48-devpack-enu. Этот файл является установочным пакетом для NET Framework версии 4.8.

3. Дождитесь завершения загрузки и дважды щелкните загруженный файл, чтобы запустить установщик .NET Framework.

? Если у вас возникли проблемы с установкой .NET Framework, попробуйте запустить файл установки в режиме [совместимости]
4. Установите флажок внизу, чтобы принять условия лицензии, и нажмите кнопку Установить, чтобы установить .NET Framework 4.8.

Ниже вы можете увидеть ход установки, который может занять несколько минут, в зависимости от конфигурации вашей системы.

5. Теперь нажмите кнопку Закрыть, чтобы закрыть установщик после завершения установки.

6. Наконец, откройте PowerShell от имени администратора и выполните следующую [Start-Process]
команду для открытия приложения Добавление или удаление программ (appwiz.cpl
). Это приложение позволяет просматривать список установленных программ на вашей системе.
Вы увидите записи для .NET Framework 4.8 в списке установленных программ, как показано ниже.

Установка модуля PowerShellGet
После установки и запуска .NET Framework вы можете установить основной компонент галереи PowerShell, модуль PowerShellGet.
Версия PowerShellGet (1.0.0.1), поставляемая вместе с Windows PowerShell 5.1, имеет ограниченные возможности. Если вы используете Windows PowerShell 5.1 или более старую версию, рассмотрите возможность использования обновленных функций PowerShell Gallery. На данный момент последняя версия 3.0.17-beta17.
Для установки модуля PowerShellGet выполните следующие действия:
1. Запустите следующую команду. Она не выводит результат, но активирует протокол безопасности транспортного уровня (TLS) 1.2 в вашей сессии PowerShell. TLS – это протокол безопасности, который шифрует данные, передаваемые по Интернету.
Активация TLS 1.2 крайне важна, поскольку по умолчанию PowerShell не настроен на использование TLS 1.2. Эта команда устанавливает SecurityProtocol
для объекта System.Net.ServicePointManager
на TLS 1.2 (Tls12
). Таким образом, вы получаете доступ к PowerShell Gallery с использованием TLS 1.2 или выше.
? Обратите внимание, что эти изменения применяются только к текущей сессии PowerShell. Однако вы можете настроить PowerShell всегда использовать TLS 1.2, добавив указанную выше команду в свой профиль PowerShell.
Далее выполните команду Install-PackageProvider
, приведенную ниже, чтобы установить поставщик пакетов NuGet. Поставщик пакетов NuGet позволяет устанавливать и управлять пакетами из репозитория пакетов NuGet. Этот репозиторий является центральным хранилищем пакетов с открытым исходным кодом для платформы .NET.
Поставщик пакетов NuGet необходим перед использованием командлета [Install-Module]
для установки модулей из PowerShell Gallery. Почему? Многие модули в PowerShell Gallery распространяются в виде пакетов NuGet.

После установки вы теперь можете воспользоваться API NuGet. API NuGet позволяет получать доступ к репозиторию пакетов NuGet для создания инструментов и приложений, взаимодействующих с репозиторием пакетов NuGet. Как взаимодействовать? Выполняйте различные задачи, такие как поиск, установка и обновление пакетов.
Обычно существует две версии API NuGet, которые вы можете использовать в зависимости от ваших требований и возможностей вашего клиента и сервера.
Version | Description | Usage |
v2 | Uses XML as the data format for communication between the client and server.
This version is based on the original NuGet API introduced in 2011 and is the legacy version of the API. |
The v2 API is recommended if you use an older version of NuGet or a client or server that does not support the v3 API.
This version is supported by all versions of NuGet and is compatible with older clients and servers. |
v3 | Uses JSON as the data format for communication between the client and server. This version was introduced in 2013 as an improvement over the v2 API and included many new features and improvements.
Many new features included are support for side-by-side package installation, improved search capabilities, and large package support. |
The v3 API is recommended if you use a newer NuGet version. The v3 API is faster and more efficient than the v2 API.
This version is not supported by older versions of NuGet and may not be compatible with older clients and servers. |
? В общем случае рекомендуется использовать NuGet API v3, поскольку он предоставляет самые актуальные функции и возможности.
3. Запустите нижеприведенную команду Set-PSRepository
, которая не выводит информацию, но устанавливает ваш репозиторий PowerShell Gallery (PSGallery
) в качестве доверенного источника пакетов. Это позволяет устанавливать модули из PowerShell Gallery.
4. Теперь выполните команду Install-Module
ниже, чтобы установить последнюю версию (-AllowPrerelease
) модуля PowerShellGet
.

5. Наконец, выполните команду Get-InstalledModule
ниже, чтобы убедиться, что модуль PowerShellGet
был успешно установлен.
Вы увидите, что модуль PowerShellGet перечислен, как показано ниже, с репозиторием PSGallery, если установка прошла успешно.

Обнаружение модулей из PowerShell Gallery
Теперь, когда у вас установлен модуль PowerShellGet, вы можете искать и устанавливать модули из PowerShell Gallery. Это позволяет расширить возможности вашей среды PowerShell и более эффективно автоматизировать сложные задачи.
Для поиска модуля в галерее PowerShell вы можете использовать командлет Find-Module
. Этот командлет ищет в галерее PowerShell модули, соответствующие указанным критериям поиска, таким как имя модуля, версия или тег.
1. Выполните команду Find-Module
ниже, чтобы найти модули в галерее PowerShell с именем, соответствующим AzureRM
.
Вывод ниже указывает только на один модуль, соответствующий имени AzureRM в галерее PowerShell. Вы также можете увидеть основную информацию о каждом модуле, такую как его имя, версия, репозиторий и т. д.

2. Затем выполните одну из следующих команд для поиска модулей с использованием -Tag
с ключевым словом Azure
. Параметр -Tag
нечувствителен к регистру, поэтому вы можете использовать azure
или Azure
как ключевое слово тега.
Зачем использовать теги для модуля? Тег – это ключевое слово или метка, связанная с модулем, описывающая его содержание и функциональность в галерее PowerShell.
Например, если модуль связан с облачной платформой Azure, вы можете пометить его ключевым словом Azure
. Это позволяет пользователям, заинтересованным в ресурсах, связанных с Azure, легко находить и открывать модуль, выполняя поиск по тегу Azure
.
PowerShell Gallery – это обширный репозиторий ресурсов, в котором участвуют множество авторов. Здесь вы найдете множество модулей, связанных с популярными ключевыми словами, такими как Azure
.
В результате, вы увидите длинный список модулей, соответствующих вашему ключевому слову или тегу, как на следующих скриншотах.

? Вы также можете использовать теги для группировки связанных модулей и быстрого поиска связанных ресурсов. Например, используйте тег
Virtualization
, чтобы сгруппировать модули, связанные с виртуализационными технологиями, такими как Hyper-V или VMware.
3. Теперь выполните следующую команду, чтобы сузить поиск и найти конкретный модуль, объединив параметры в командлете Find-Module
.
Нижеприведенная команда находит модуль из PowerShell Gallery, учитывая следующие параметры:
-Name
– Поиск модулей с определенным именемAz.Compute
.
-Tag
– Поиск модулей с тегамиAzure
иMicrosoft
.

Установка и обновление модулей
Как только вы нашли интересующий вас модуль, установка этого модуля находится всего в нескольких нажатиях клавиш. Вы можете использовать командлет Install-Module
для загрузки модулей из PowerShell Gallery и установки их на вашей локальной системе.
1. Выполните следующую команду, чтобы загрузить и установить модуль Az.Compute
из PowerShell Gallery.
Если команда выполнена успешно, она не выдаст вывода, но вы проверите установку на следующем шаге.
2. Затем выполните следующую команду Get-InstalledModule
, чтобы проверить наличие модуля Az.Compute
в вашей системе.

? В качестве альтернативы, выполните командлет
Get-InstalledModule
без параметров, чтобы отобразить список всех установленных модулей в вашей системе. Но будьте осторожны, прокручивая список, если установлено слишком много модулей, это может неприятно сказаться на глазах.

3. Теперь выполните следующую команду Update-Module
, которая не выводит результат, но ищет последнюю версию определенного модуля (т.е. Az.Compute
) и обновляет его.
Обновление установленных модулей может включать исправление ошибок, новые функции или другие улучшения.
Удаление модулей PowerShell
Иногда вам может потребоваться удалить модуль из вашей системы. Например, если вам больше не нужен модуль или он вызывает проблемы.
Для удаления модуля из вашей системы вы можете использовать командлет Uninstall-Module
. Этот командлет удаляет модуль и все его файлы из вашей системы, фактически деинсталлируя его.
? Убедитесь, что тщательно рассмотрели последствия удаления модуля перед выполнением этого действия. Удаление модуля может иметь непредвиденные последствия, такие как нарушение работы других программ или скриптов, зависящих от этого модуля.
Выполните следующую команду Uninstall-Module
, чтобы удалить конкретный модуль (Az.Compute
) с вашей системы. Если деинсталляция прошла успешно, эта команда не выведет никаких результатов.
? Если другие программы или скрипты используют данный модуль в настоящее время, команда
Uninstall-Module
выдаст ошибку, и деинсталляция не будет выполнена.
Заключение
Модули PowerShell – это мощные инструменты, которые позволяют добавлять функциональность в ваше средство PowerShell быстро. В этом руководстве, совместно с PowerShell Gallery, вы можете открывать и устанавливать модули всего несколькими командами.
Воспользуйтесь преимуществами PowerShell Gallery и найдите модули PowerShell, чтобы настраивать и усовершенствовать свои сценарии и рабочие процессы в PowerShell уже сегодня!