Publiceren-ModulePublish-Module

Een opgegeven module uit de lokale computer aan een online galerie publiceert.Publishes a specified module from the local computer to an online gallery.

BeschrijvingDescription

De publiceren-Module cmdlet een module publiceert naar een online op basis van het NuGet-galerie met behulp van een API-sleutel opgeslagen als onderdeel van een gebruikersprofiel in de galerie.The Publish-Module cmdlet publishes a module to an online NuGet-based gallery by using an API key, stored as part of a user's profile in the gallery. U kunt de module die u wilt publiceren met de naam van de module of door het pad naar de map met de module opgeven.You can specify the module to publish either by the module's name, or by the path to the folder containing the module.

Wanneer u een module met de naam opgeeft, publiceren-Module publiceert u de eerste module die zou worden gevonden door te voeren Get-Module -ListAvailable <Name>.When you specify a module by name, Publish-Module publishes the first module that would be found by running Get-Module -ListAvailable <Name>. Als u een minimale versie van een module die u wilt publiceren, opgeeft publiceren-Module publiceert u de eerste module met een versie die is groter dan of gelijk zijn aan de minimale versie die u hebt opgegeven.If you specify a minimum version of a module to publish, Publish-Module publishes the first module with a version that is greater than or equal to the minimum version that you have specified.

Publiceren van een module vereist metagegevens die wordt weergegeven op de galeriepagina voor de module.Publishing a module requires metadata that is displayed on the gallery page for the module. Vereiste metagegevens bevat de naam, versie, beschrijving en auteur.Required metadata includes the module name, version, description, and author. Hoewel de meeste metagegevens afkomstig is van de module-manifest, bepaalde metagegevens moet worden opgegeven in publiceren-Module parameters, zoals label, ReleaseNote, IconUri, ProjectUri, en LicenseUri, omdat deze parameters overeenkomen met de velden in op basis van het NuGet-galerie.Although most metadata is taken from the module manifest, some metadata must be specified in Publish-Module parameters, such as Tag, ReleaseNote, IconUri, ProjectUri, and LicenseUri, because these parameters match fields in a NuGet-based gallery.

De parameter RequiredVersion kunt u opgeven dat de exacte versie van een module moet worden gepubliceerd.The RequiredVersion parameter allows you to specify the exact version of a module to be published. De parameter Path ondersteunt ook het basispad voor de module met de versie-map.The Path parameter also supports the module base path with the version folder. De parameter Force switch op de cmdlet Publish-Module bootstraps de NuGet.exe zonder te vragen.The Force switch parameter on Publish-Module cmdlet bootstraps the NuGet.exe without prompting.

De syntaxis van cmdletCmdlet syntax

Get-Command -Name Publish-Module -Module PowerShellGet -Syntax

Verwijzing naar het online help van cmdletCmdlet online help reference

Publiceren-ModulePublish-Module

VoorbeeldopdrachtenExample commands

ContosoServer module with different versions to be published.
PS C:\\windows\\system32> Get-Module -Name ContosoServer -ListAvailable
Directory: C:\\Program Files\\WindowsPowerShell\\Modules
ModuleType Version Name ExportedCommands
---------- ------- ---- ----------------
Manifest 2.8 ContosoServer Get-ContosoServer
Manifest 2.0 ContosoServer Get-ContosoServer
Manifest 1.5 ContosoServer Get-ContosoServer
Manifest 1.0 ContosoServer Get-ContosoServer
PS C:\\windows\\system32> Publish-Module -Name ContosoServer -RequiredVersion 1.0 -Repository LocalRepo -NuGetApiKey Local-Repo-NuGet-ApiKey
PS C:\\windows\\system32> Find-Module -Name ContosoServer -Repository LocalRepo
Version Name Repository Description
------- ---- ---------- -----------
1.0 ContosoServer LocalRepo ContosoServer module
PS C:\\windows\\system32> Publish-Module -Name ContosoServer -RequiredVersion 1.5 -Repository LocalRepo -NuGetApiKey Local-Repo-NuGet-ApiKey
PS C:\\windows\\system32> Find-Module -Name ContosoServer -Repository LocalRepo
Version Name Repository Description
------- ---- ---------- -----------
1.0 ContosoServer LocalRepo ContosoServer module
1.5 ContosoServer LocalRepo ContosoServer module
PS C:\\windows\\system32> Publish-Module -Path "C:\\Program Files\\WindowsPowerShell\\Modules\\ContosoServer\\2.0" -Repository LocalRepo -NuGetApiKey Local-Repo-NuGet-ApiKey
PS C:\\windows\\system32> Find-Module -Name ContosoServer -Repository LocalRepo
Version Name Repository Description
_------ ---- ---------- -----------
1.0 ContosoServer LocalRepo ContosoServer module
1.5 ContosoServer LocalRepo ContosoServer module
2.0 ContosoServer LocalRepo ContosoServer module

Publiceren van een module met afhankelijkhedenPublishing a module with dependencies

Maakt een module met afhankelijkheden en bereik van de versie opgegeven in de eigenschap RequiredModules van de module-manifest.Create a module with dependencies and version range specified in RequiredModules property of its module manifest.

Opmerking:Note:

  • *wordt alleen ondersteund in MaximumVersion en ook moet aan het einde van de versietekenreeks.* is supported only in MaximumVersion and also it should be at the end of version string.
  • *vervangen door 999999999 in de version-object.* is replaced with 999999999 in the version object.
PS C:\windows\system32> $requiredModules = @( @{ModuleName = 'RequiredModule1'; ModuleVersion = '0.1'; MaximumVersion = '1.9'; }, @{ModuleName = 'RequiredModule2'; MaximumVersion = '1.*'; })

PS C:\windows\system32> cd C:\MyModules\ModuleWithDependencies

PS C:\MyModules\ModuleWithDependencies> New-ModuleManifest -Path .\ModuleWithDependencies.psd1 -ModuleVersion 1.0 -RequiredModules $requiredModules -Description 'ModuleWithDependencies demo module'

Module ModuleWithDependencies met afhankelijkheden publiceren naar de opslagplaats.Publish ModuleWithDependencies module with dependencies to the repository.

PS C:\MyModules\ModuleWithDependencies> Publish-Module -Path C:\MyModules\ModuleWithDependencies -Repository LocalRepo

ModuleWithDependencies module met de bijbehorende afhankelijkheden vinden door op te geven - IncludeDependenciesFind ModuleWithDependencies module with its dependencies by specifying -IncludeDependencies

PS C:\MyModules\ModuleWithDependencies> Find-Module -Name ModuleWithDependencies -Repository LocalRepo -IncludeDependencies

Version    Name                                Type       Repository           Description
-------    ----                                ----       ----------           -----------
1.0        ModuleWithDependencies              Module     localrepo            ModuleWithDependencies demo module
1.5        RequiredModule1                     Module     localrepo            RequiredModule1 module
1.5        RequiredModule2                     Module     localrepo            RequiredModule2 module

De module ModuleWithDependencies met afhankelijkheden installeren.Install the ModuleWithDependencies module with dependencies.

Houd er rekening mee dat versie bereiken worden gehonoreerd tijdens de installatie van de afhankelijkheid.Note that version ranges are honored during the dependency installation.

PS C:\windows\system32> Get-InstalledModule
PS C:\windows\system32>
PS C:\windows\system32> Install-Module -Name ModuleWithDependencies -Repository LocalRepo
PS C:\windows\system32>
PS C:\windows\system32> Get-InstalledModule

Version    Name                                Type       Repository           Description
-------    ----                                ----       ----------           -----------
1.0        ModuleWithDependencies              Module     localrepo            ModuleWithDependencies demo module
1.5        RequiredModule1                     Module     localrepo            RequiredModule1 module
1.5        RequiredModule2                     Module     localrepo            RequiredModule2 module

Inhoud van de module ModuleWithDependencies2-manifestbestandContents of ModuleWithDependencies2 module manifest file

@{
# Version number of this module.
ModuleVersion = '2.0'
# ID used to uniquely identify this module
GUID = '0eae34da-99dd-4608-8d28-c614fe7b0841'
# Author of this module
Author = 'manikb'
# Company or vendor of this module
CompanyName = 'Unknown'
# Copyright statement for this module
Copyright = '(c) 2015 manikb. All rights reserved.'
# Description of the functionality provided by this module
Description = 'ModuleWithDependencies2 module'
# Modules that must be imported into the global environment prior to importing this module
RequiredModules = @('RequiredModule1',
@{ModuleName = 'RequiredModule2'; ModuleVersion = '2.0'; },
@{ModuleName = 'RequiredModule3'; RequiredVersion = '2.5'; },
@{ModuleName = 'RequiredModule4'; ModuleVersion = '1.1'; MaximumVersion = '2.0'; },
@{ModuleName = 'RequiredModule5'; MaximumVersion = '1.5'; })
# Modules to import as nested modules of the module specified in RootModule/ModuleToProcess
NestedModules = @('NestedRequiredModule1',
@{ModuleName = 'NestedRequiredModule2'; ModuleVersion = '2.0'; },
@{ModuleName = 'NestedRequiredModule3'; RequiredVersion = '2.5'; },
@{ModuleName = 'NestedRequiredModule4'; ModuleVersion = '0.7'; MaximumVersion = '2.4'; },
@{ModuleName = 'NestedRequiredModule5'; MaximumVersion = '1.6'; },'ModuleWithDependencies2.psm1')
# Functions to export from this module
FunctionsToExport = '\*'
# Cmdlets to export from this module
CmdletsToExport = '\*'
# Variables to export from this module
VariablesToExport = '\*'
# Aliases to export from this module
AliasesToExport = '\*'
# Private data to pass to the module specified in RootModule/ModuleToProcess. This may also contain a PSData hashtable with additional module metadata used by PowerShell.
PrivateData = @{
    PSData = @{
      # Tags applied to this module. These help with module discovery in online galleries.
      Tags = 'Tag1', 'Tag2', 'Tag-ModuleWithDependencies2-2.0'
      # A URL to the license for this module.
      LicenseUri = 'http://modulewithdependencies2.com/license'
      # A URL to the main website for this project.
      ProjectUri = 'http://modulewithdependencies2.com/'
      # A URL to an icon representing this module.
      IconUri = 'http://modulewithdependencies2.com/icon'
      # ReleaseNotes of this module
      ReleaseNotes = 'ModuleWithDependencies2 release notes'
    } # End of PSData hashtable
} # End of PrivateData hashtable
}

Externe afhankelijkhedenExternal dependencies

Enkele afhankelijkheden module extern kunnen worden beheerd, in dat geval ze moeten worden toegevoegd aan de vermelding ExternalModuleDependencies in de sectie PSData van de module-manifest.Some module dependencies can be managed externally, in that case they should be added to the ExternalModuleDependencies entry in the PSData section of the module manifest.

Als 'SnippetPx' niet beschikbaar in de opslagplaats is, hieronder fout gegenereerd.If 'SnippetPx' is not available on the repository, below error will be thrown.

Publish-PSArtifactUtility : PowerShellGet cannot resolve the module dependency 'SnippetPx' of the module 'TypePx' on the repository 'LocalRepo'. Verify that the dependent module 'SnippetPx' is available in the repository 'LocalRepo'. If this dependent 'SnippetPx' is managed externally, add it to the ExternalModuleDependencies entry in the PSData section of the module manifest.