Начало работы с коллекцией PowerShell
PowerShell Gallery — это репозиторий пакета, который содержит скрипты, модули и ресурсы DSC, которые вы можете загрузить и использовать. Командлеты из модуля PowerShellGet используются для установки пакетов из коллекции PowerShell. Входить в систему для скачивания элементов из коллекции PowerShell необязательно.
Примечание
Можно скачать пакет непосредственно из коллекции PowerShell, но делать это не рекомендуется. Дополнительные сведения см. в статье Скачивание пакета вручную.
Обнаружение пакетов в коллекции PowerShell
Найти пакеты в коллекции PowerShell можно с помощью элемента управления Поиск на домашней странице коллекции PowerShell, или просмотрев страницы "Модули" и "Скрипты" на странице пакетов. Найти пакеты в коллекции PowerShell можно также при помощи командлетов Find-Module
, Find-DscResource
и Find-Script
(в зависимости от типа пакета) с параметром -Repository PSGallery
.
Вы можете отфильтровать результаты в коллекции используя следующие параметры:
- Имя
- AllVersions
- MinimumVersion
- RequiredVersion
- Тег
- Includes
- DscResource
- RoleCapability
- Get-Help
- Фильтр
Если вас интересуют только определенные ресурсы DSC в коллекции, выполните командлет Find-DscResource
. Командлет Find-DscResource возвращает сведения о ресурсах DSC, содержащихся в коллекции.
Так как ресурсы DSC всегда являются частью модуля, вам по-прежнему потребуется выполнить командлет Install-Module
, чтобы установить их.
Изучение пакетов в коллекции PowerShell
Когда вы нашли пакет, который вас интересует, о нем можно узнать больше. Для этого можно изучить страницу конкретного пакета в коллекции. На ней представлены все метаданные, переданные вместе с пакетом. Эти метаданные предоставляются автором пакета и не проверяются корпорацией Майкрософт. Владелец пакета привязан к учетной записи в коллекции, используемой для публикации пакета, поэтому надежнее ориентироваться на нее, а не на информацию в поле "Автор".
Если вы нашли пакет, который, по вашему мнению, опубликован с нарушениями, щелкните Сообщить о нарушении на странице этого пакета.
Если вы используете Find-Module
или Find-Script
, эти данные можно просмотреть в возвращенном объекте PSGetModuleInfo . В следующем примере возвращаются данные модуля PSReadLine в коллекции.
Find-Module -Name PSReadLine -Repository PSGallery | Get-Member
Скачивание пакетов из коллекции PowerShell
При скачивании пакетов из коллекции PowerShell рекомендуется сделать следующее:
Изучение
Чтобы скачать пакет из коллекции для изучения, выполните командлет Save-Module
или Save-Script
(в зависимости от типа пакета). Так вы сможете сохранить пакет локально без установки и проверить его содержимое. Не забудьте удалить пакет, сохраненный вручную.
Некоторые из этих пакетов созданы корпорацией Майкрософт, а другие — сообществом PowerShell. Корпорация Майкрософт рекомендует ознакомиться с содержимым и кодом пакетов в этой коллекции перед их установкой.
Если вы нашли пакет, который, по вашему мнению, опубликован с нарушениями, щелкните Сообщить о нарушении на странице этого пакета.
Установка
Чтобы установить пакет из коллекции для использования, выполните командлет Install-Module
или Install-Script
(в зависимости от типа пакета).
Командлет Install-Module
устанавливает модуль в $env:ProgramFiles\WindowsPowerShell\Modules
по умолчанию.
Для выполнения этой операции необходима учетная запись администратора. При добавлении параметра -Scope CurrentUser
модуль будет установлен в каталог $HOME\Documents\WindowsPowerShell\Modules
.
Install-Script
по умолчанию устанавливает скрипт в каталог $env:ProgramFiles\WindowsPowerShell\Scripts
.
Для выполнения этой операции необходима учетная запись администратора. При добавлении параметра -Scope CurrentUser
скрипт будет установлен в каталог $HOME\Documents\WindowsPowerShell\Scripts
.
По умолчанию командлеты Install-Module
и Install-Script
устанавливают последнюю версию пакета. Чтобы установить более раннюю версию пакета, добавьте параметр -RequiredVersion
.
Развертывание
Чтобы развернуть пакет из коллекции PowerShell в службе автоматизации Azure, щелкните Служба автоматизации Azure, а затем Deploy to Azure Automation (Развернуть в службе автоматизации Azure) на странице сведений о пакете. После этого вы будете перенаправлены на портал управления Azure, на который нужно войти с использованием учетных данных учетной записи Azure. Обратите внимание, что развертывание пакетов с зависимостями приводит к развертыванию всех зависимостей в службе автоматизации Azure. Кнопку "Развернуть в службе автоматизации Azure" можно отключить, добавив тег AzureAutomationNotSupported в метаданные пакета.
Дополнительные сведения о службе автоматизации Azure см. в соответствующей документации.
Обновление пакетов из коллекции PowerShell
Чтобы обновить пакеты, установленные из коллекции PowerShell, выполните командлет Update-Module
или Update-Script
. При запуске без дополнительных параметров Update-Module
пытается обновить все модули, установленные командлетом Install-Module
. Чтобы выборочно обновить модули, добавьте параметр -Name
.
Аналогично при запуске без дополнительных параметров Update-Script
пытается обновить все сценарии, установленные командлетом Install-Script
. Чтобы выборочно обновить скрипты, добавьте параметр -Name
.
Перечисление пакетов, установленных из коллекции PowerShell
Чтобы узнать, какие модули вы установили из коллекции PowerShell, выполните командлет Get-InstalledModule
. Эта команда перечисляет все модули в системе, установленные непосредственно из коллекции PowerShell.
Аналогично, чтобы узнать, какие скрипты были установлены из коллекции PowerShell, выполните командлет Get-InstalledScript
. Эта команда перечисляет все скрипты в системе, установленные непосредственно из коллекции PowerShell.
Сетевой доступ к коллекция PowerShell
Эти имена узлов должны быть добавлены в списки разрешений, управляющие доступом из сети.
Узлы, необходимые для обнаружения пакетов и скачивания:
onegetcdn.azureedge.net
— имя узла CDN;
Узлы, необходимые при использовании веб-сайта коллекции PowerShell:
devopsgallerystorage.blob.core.windows.net
— имя узла учетной записи хранения;*.powershellgallery.com
— веб-сайт;go.microsoft.com
— служба перенаправления.
Важно!
Начиная с апреля 2020 года коллекция PowerShell не поддерживает протокол TLS (Transport Layer Security) версий 1.0 и 1.1. Если вы не используете TLS 1.2 или более поздней версии, при попытке доступа к коллекции PowerShell возникнет ошибка. Чтобы проверить, используется ли TLS 1.2, выполните следующую команду:
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Дополнительные сведения см. в объявлении в блоге, посвященном PowerShell.
Связанные ссылки
PowerShellGet & Gallery