Поделиться через


Publish-Module

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

Синтаксис

ModuleNameParameterSet (По умолчанию)

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>]

ModulePathParameterSet

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 являются числами
  • Предварительные версии имеют формат x.y.z-<prerelease_label> , в котором <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

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

Свойства параметров

Тип:SwitchParameter
Значение по умолчанию:False
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

ModuleNameParameterSet
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Confirm

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

Свойства параметров

Тип:SwitchParameter
Значение по умолчанию:False
Поддержка подстановочных знаков:False
Не показывайте:False
Псевдонимы:cf

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Credential

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

Свойства параметров

Тип:PSCredential
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-Exclude

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

Свойства параметров

Тип:

String[]

Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

ModuleNameParameterSet
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Force

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

Свойства параметров

Тип:SwitchParameter
Значение по умолчанию:False
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-FormatVersion

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

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

Свойства параметров

Тип:Version
Значение по умолчанию:None
Принимаемые значения:2.0
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-IconUri

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

Свойства параметров

Тип:Uri
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-LicenseUri

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

Свойства параметров

Тип:Uri
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Name

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

Свойства параметров

Тип:String
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

ModuleNameParameterSet
Позиция:Named
Обязательный:True
Ценность воронки продаж:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-NuGetApiKey

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

Свойства параметров

Тип:String
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Path

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

Свойства параметров

Тип:String
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

ModulePathParameterSet
Позиция:Named
Обязательный:True
Ценность воронки продаж:False
Значение из конвейера по имени свойства:True
Значение из оставшихся аргументов:False

-ProjectUri

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

Свойства параметров

Тип:Uri
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-ReleaseNotes

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

Свойства параметров

Тип:

String[]

Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Repository

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

Свойства параметров

Тип:String
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-RequiredVersion

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

Свойства параметров

Тип:String
Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

ModuleNameParameterSet
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-SkipAutomaticTags

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

Свойства параметров

Тип:SwitchParameter
Значение по умолчанию:False
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-Tags

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

Свойства параметров

Тип:

String[]

Значение по умолчанию:None
Поддержка подстановочных знаков:False
Не показывайте:False

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

-WhatIf

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

Свойства параметров

Тип:SwitchParameter
Значение по умолчанию:False
Поддержка подстановочных знаков:False
Не показывайте:False
Псевдонимы:wi

Наборы параметров

(All)
Позиция:Named
Обязательный:False
Ценность воронки продаж:False
Значение из конвейера по имени свойства:False
Значение из оставшихся аргументов:False

CommonParameters

Этот командлет поддерживает общие параметры: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction и -WarningVariable. Дополнительные сведения см. в разделе about_CommonParameters.

Входы

String

PSCredential

Выходы

Object

Примечания

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

  • Все платформы:
    • pumo

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

Это важно

По состоянию на апрель 2020 г. коллекция PowerShell больше не поддерживает протокол TLS версии 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.