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 、ユーザーのプロファイルの一部としてギャラリーに格納されている API キーを使用して、オンライン NuGet ベースのギャラリーにモジュールを発行します。 モジュールの名前、またはモジュールを含むフォルダーへのパスのいずれかでモジュールを発行するように指定できます。

モジュールを名前で指定すると、 Publish-Module を実行 Get-Module -ListAvailable <Name>して見つかった最初のモジュールを発行します。 発行するモジュールの最小バージョンを指定した場合は、 Publish-Module 指定した最小バージョン以上のバージョンで最初のモジュールを発行します。

モジュールを発行するには、モジュールのギャラリー ページに表示されるメタデータが必要です。 必要なメタデータには、モジュールの名前、バージョン、説明、作成者が含まれています。 ほとんどのメタデータはモジュール マニフェストから取得されますが、これらのパラメーターは NuGet ベースのギャラリー内の Publish-Module フィールドと一致するため、 TagReleaseNoteIconUriProjectUriLicenseUri などのパラメーターで一部のメタデータを指定する必要があります。

モジュールのバージョン番号を受け取るパラメーターには、バージョン番号として書式設定された文字列が必要です。

  • 標準バージョン番号の形式 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 キーを使用してモジュール所有者のギャラリー アカウントを示すことによって、オンライン ギャラリーに発行されます。 提供された追加のメタデータは、ギャラリー内のモジュールの Web ページに表示されます。 所有者は、モジュールに対して 2 つの検索タグを追加し、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 を指定します。 指定したアイコンが、モジュールのギャラリー Web ページに表示されます。

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

このプロジェクトに関する Web ページの 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して登録されているリポジトリのフレンドリ名を指定します。 リポジトリには、有効な NuGet URI である PublishLocation が必要です。 PublishLocation は、 を実行Set-PSRepositoryして設定できます。

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

-RequiredVersion

発行する 1 つのモジュールの正確なバージョンを指定します。

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

発行するモジュールに 1 つ以上のタグを追加します。 タグの例としては、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 の PowerShell 3.0 以降のリリース、Windows 7 または Windows 2008 R2 以降のリリースの Windows で実行されます。

重要

2020 年 4 月時点で、PowerShell ギャラリーでは、トランスポート層セキュリティ (TLS) バージョン 1.0 および 1.1 がサポートされなくなります。 TLS 1.2 以降を使用していない場合、PowerShell ギャラリーにアクセスしようとするとエラーが発生します。 次のコマンドを使用して、確実に TLS 1.2 を使用するようにします。

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

詳細については、PowerShell ブログのお知らせを参照してください。

モジュールを発行するには、モジュールのギャラリー ページに表示されるメタデータが必要です。 必要なメタデータには、モジュールの名前、バージョン、説明、作成者が含まれています。 ほとんどのメタデータはモジュール マニフェストから取得されますが、一部のメタデータは、TagReleaseNoteIconUriProjectUriLicenseUri などのパラメーターでPublish-Module指定できます。 詳細については、「PowerShell ギャラリー UI に影響するパッケージ マニフェスト値」を参照してください。