Начало работы с коллекцией PowerShell
Коллекция PowerShell — это репозиторий пакетов, содержащий скрипты, модули и ресурсы DSC, которые можно скачать и использовать. Командлеты в модуле PowerShellGet используются для установки пакетов из коллекции PowerShell. Вам не нужно входить в систему, чтобы скачать элементы из коллекции PowerShell.
Заметка
Пакет можно скачать из коллекции PowerShell напрямую, но это не рекомендуется. Дополнительные сведения см. в разделе скачивание пакета вручную.
Обнаружение пакетов из коллекции PowerShell
Пакеты можно найти в коллекции PowerShell с помощью элемента управления поиска Find-Module
, Find-DscResource
и Find-Script
командлеты в зависимости от типа пакета с -Repository PSGallery
.
Результаты из коллекции можно фильтровать с помощью следующих параметров:
- Имя
- AllVersions
- MinimumVersion
- RequiredVersion
- Ярлык
- Включает
- DscResource
- RoleCapability
- Команда
- Фильтр
Если вы заинтересованы только в обнаружении определенных ресурсов DSC в коллекции, можно запустить командлет Find-DscResource
. Find-DscResource возвращает данные о ресурсах DSC, содержащихся в коллекции.
Так как ресурсы DSC всегда предоставляются в рамках модуля, вам по-прежнему необходимо запустить Install-Module
для установки этих ресурсов DSC.
Сведения о пакетах в коллекции 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, а затем щелкните Развернуть в службе автоматизации Azure на странице сведений о пакете. Вы перенаправляетесь на портал управления Azure, где выполняется вход с помощью учетных данных учетной записи Azure. Обратите внимание, что развертывание пакетов с зависимостями развертывает все зависимости в службе автоматизации Azure. Кнопка "Развернуть в службе автоматизации Azure" может быть отключена, добавив тег AzureAutomationNotSupported в метаданные пакета.
Дополнительные сведения об службе автоматизации Azure см. в документации по службы автоматизации 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
powershellgallery.azureedge.net
psg-prod-eastus.azureedge.net
Узлы, необходимые при использовании веб-сайта коллекции PowerShell:
-
*.powershellgallery.com
— веб-сайт -
go.microsoft.com
иaka.ms
— службы перенаправления
Важный
По состоянию на апрель 2020 г. коллекция PowerShell больше не поддерживает протокол TLS версии 1.0 и 1.1. Если вы не используете TLS 1.2 или более поздней версии, при попытке получить доступ к коллекции PowerShell появится сообщение об ошибке. Используйте следующую команду, чтобы убедиться, что используется TLS 1.2:
[Net.ServicePointManager]::SecurityProtocol = [Net.ServicePointManager]::SecurityProtocol -bor [Net.SecurityProtocolType]::Tls12
Дополнительные сведения см. в объявления
Связанные ссылки
PowerShellGet & Gallery