Publish-Module

Публикует указанный модуль с локального компьютера в коллекцию в Интернете.

Синтаксис

Publish-Module
       -Name <String>
       [-RequiredVersion <String>]
       [-NuGetApiKey <String>]
       [-Repository <String>]
       [-Credential <PSCredential>]
       [-FormatVersion <Version>]
       [-ReleaseNotes <String[]>]
       [-Tags <String[]>]
       [-LicenseUri <Uri>]
       [-IconUri <Uri>]
       [-ProjectUri <Uri>]
       [-Exclude <String[]>]
       [-Force]
       [-AllowPrerelease]
       [-SkipAutomaticTags]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Publish-Module
       -Path <String>
       [-NuGetApiKey <String>]
       [-Repository <String>]
       [-Credential <PSCredential>]
       [-FormatVersion <Version>]
       [-ReleaseNotes <String[]>]
       [-Tags <String[]>]
       [-LicenseUri <Uri>]
       [-IconUri <Uri>]
       [-ProjectUri <Uri>]
       [-Force]
       [-SkipAutomaticTags]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Описание

Командлет Publish-Module публикует модуль в онлайн-коллекции на основе NuGet с помощью ключа API, хранящегося в профиле пользователя в коллекции. Модуль для публикации можно указывать с помощью имени модуля или пути к папке, содержащей модуль.

При указании модуля по имени публикует первый модуль, Publish-Module который будет найден с помощью команды Get-Module -ListAvailable <Name>. Если вы указываете минимальную версию модуля для публикации, Publish-Module публикует первый модуль с версией, которая больше указанной минимальной версии или равна ей.

Для публикации модуля требуются метаданные, которые отображаются на странице коллекции для этого модуля. Обязательные метаданные включают имя модуля, версию, описание и автора. Хотя большинство метаданных берется из манифеста модуля, некоторые метаданные должны быть указаны в Publish-Module параметрах, таких как Tag, ReleaseNote, IconUri, ProjectUri и LicenseUri, так как эти параметры соответствуют полям в коллекции на основе NuGet.

Параметры, которые принимают номера версий модуля, ожидают строк, отформатированных в виде номеров версий.

  • Номера стандартных версий имеют формат x.y.z , где x, y и z — числа.
  • Предварительные версии имеют формат , в котором <prerelease_label> является произвольной x.y.z-<prerelease_label> строкой, назначенной для этого выпуска.

Примеры

Пример 1. Публикация модуля

В этом примере MyDscModule публикуется в сетевой коллекции с помощью ключа API, указывая учетную запись владельца модуля в сети. Если MyDscModule не является допустимым модулем манифеста, который указывает имя, версию, описание и автора, возникает ошибка.

Publish-Module -Name "MyDscModule" -NuGetApiKey "11e4b435-6cb4-4bf7-8611-5162ed75eb73"

Пример 2. Публикация модуля с метаданными коллекции

В этом примере MyDscModule публикуется в сетевой коллекции с помощью ключа API для указания учетной записи владельца модуля. Дополнительные метаданные отображаются на веб-странице модуля в коллекции. Владелец добавляет два тега поиска для модуля, связав его с Active Directory; добавлена краткая заметка о выпуске. Если MyDscModule не является допустимым модулем манифеста, который указывает имя, версию, описание и автора, возникает ошибка.

$parameters = @{
    Name        = "MyDscModule"
    NuGetApiKey = "11e4b435-6cb4-4bf7-8611-5162ed75eb73"
    LicenseUri  = "http://contoso.com/license"
    Tag         = "Active Directory","DSC"
    ReleaseNote = "Updated the ActiveDirectory DSC Resources to support adding users."
}
Publish-Module @parameters

Параметры

-AllowPrerelease

Позволяет публиковать модули, помеченные как предварительные выпуски.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Запрашивает подтверждение перед запуском Publish-Module.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Указывает учетную запись пользователя, которая имеет права на публикацию модуля для указанного поставщика пакета или источника.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Exclude

Определяет файлы, исключаемые из опубликованного модуля.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Force

Принудительное выполнение команды без запроса на подтверждение пользователем.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FormatVersion

Принимает только допустимые значения, заданные атрибутом ValidateSet .

Дополнительные сведения см. в разделах Объявление атрибута ValidateSet и ValidateSetAttribute.

Type:Version
Accepted values:2.0
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-IconUri

Указывает URL-адрес значка для модуля. Указанный значок отображается на веб-странице коллекции модуля.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-LicenseUri

Указывает URL-адрес условий лицензирования для модуля, который требуется опубликовать.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Указывает имя модуля, который требуется опубликовать. Publish-Module выполняет поиск указанного имени модуля в $Env:PSModulePath.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-NuGetApiKey

Указывает ключ API, который требуется использовать для публикации модуля в коллекции в Сети. Ключ API является частью вашего профиля в сетевой коллекции. Его можно найти на странице учетной записи пользователя в коллекции. Ключ API — это функциональные возможности NuGet.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Path

Указывает путь к модулю, который требуется опубликовать. Этот параметр принимает путь к папке, содержащей модуль. Имя папки должно совпадать с именем модуля.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-ProjectUri

Указывает URL-адрес веб-страницы этого проекта.

Type:Uri
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ReleaseNotes

Указывает строку, содержащую заметки о выпуске или комментарии, которые должны быть доступны пользователям этой версии модуля.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Repository

Указывает понятное имя репозитория, зарегистрированного с помощью команды Register-PSRepository. Репозиторий должен иметь значение PublishLocation, которое является допустимым универсальным кодом ресурса (URI) NuGet. Параметр PublishLocation можно задать, выполнив команду Set-PSRepository.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RequiredVersion

Указывает точную версию одного модуля для публикации.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SkipAutomaticTags

Удаляет команды и ресурсы из включения в качестве тегов. Пропускает автоматическое добавление тегов в модуль.

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Tags

Добавляет один или несколько тегов в модуль, который вы публикуете. Примеры тегов: DesiredStateConfiguration, DSC, DSCResourceKit или PSModule. Разделяйте несколько тегов запятыми.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Показывает, что произойдет при выполнении Publish-Module . Командлет не выполняется.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Входные данные

String

PSCredential

Выходные данные

Object

Примечания

PowerShell включает следующие псевдонимы для Publish-Module:

  • Для всех платформ.
    • pumo

Publish-Module выполняется в PowerShell 3.0 или более поздних выпусках PowerShell, в Windows 7 или Windows 2008 R2 и более поздних выпусках Windows.

Важно!

Начиная с апреля 2020 года коллекция PowerShell не поддерживает протокол TLS (Transport Layer Security) версий 1.0 и 1.1. Если вы не используете TLS 1.2 или более поздней версии, при попытке доступа к коллекции PowerShell возникнет ошибка. Чтобы проверить, используется ли TLS 1.2, выполните следующую команду:

[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

Дополнительные сведения см. в объявлении в блоге, посвященном PowerShell.

Для публикации модуля требуются метаданные, которые отображаются на странице коллекции для этого модуля. Обязательные метаданные включают имя модуля, версию, описание и автора. Большинство метаданных берется из манифеста модуля, но некоторые метаданные можно указать в Publish-Module параметрах, таких как Tag, ReleaseNote, IconUri, ProjectUri и LicenseUri. Дополнительные сведения см. в разделе Значения манифеста пакета, влияющие на пользовательский интерфейс коллекция PowerShell.