Publish-Module
將指定的模組從本機電腦發行至線上資源庫。
Syntax
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>]
Description
Cmdlet Publish-Module
會使用 API 金鑰,將模組發佈至線上 NuGet 型資源庫,並儲存為資源庫中使用者設定檔的一部分。 您可以指定依模組名稱,或依包含模組之資料夾的路徑來發行模組。
當您依名稱指定模組時, 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
允許標示為發行前版本的模組。
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,這是有效的 NuGet URI。
您可以執行 Set-PSRepository
來設定PublishLocation。
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
會發生什麼情況。 Cmdlet 並不會執行。
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
輸入
輸出
備註
PowerShell 包含下列的 Publish-Module
別名:
- 所有平台:
pumo
Publish-Module
在 PowerShell 3.0 或更新版本的 PowerShell、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 部落格中的公告 \(英文\)。
發行模組時需要在模組之資源庫頁面上所顯示的中繼資料。 必要的中繼資料包含模組名稱、版本、描述和作者。 大部分的中繼資料都是取自模組資訊清單,但某些中繼資料可以在參數中 Publish-Module
指定,例如Tag、ReleaseNote、IconUri、ProjectUri和LicenseUri。 如需詳細資訊,請參閱影響PowerShell 資源庫 UI 的封裝資訊清單值。