Condividi tramite


Publish-Module

Pubblica un modulo specificato dal computer locale in una raccolta online.

Sintassi

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

Descrizione

Il Publish-Module cmdlet pubblica un modulo in una raccolta online basata su NuGet usando una chiave API archiviata come parte del profilo di un utente nella raccolta. È possibile specificare il modulo per la pubblicazione in base al nome del modulo o in base al percorso della cartella contenente il modulo.

Quando si specifica un modulo in base al nome, Publish-Module pubblica il primo modulo che verrebbe trovato eseguendo Get-Module -ListAvailable <Name>. Se si specifica una versione minima di un modulo da pubblicare, Publish-Module pubblica il primo modulo con una versione maggiore o uguale alla versione minima specificata.

Per la pubblicazione di un modulo sono necessari i metadati visualizzati nella pagina della raccolta relativa al modulo. I metadati necessari includono il nome del modulo, la versione, la descrizione e l'autore. Anche se la maggior parte dei metadati viene ricavata dal manifesto del modulo, alcuni metadati devono essere specificati nei Publish-Module parametri, ad esempio Tag, ReleaseNote, IconUri, ProjectUri e LicenseUri, perché questi parametri corrispondono ai campi in una raccolta basata su NuGet.

I parametri che accettano numeri di versione del modulo prevedono stringhe formattate come numeri di versione.

  • I numeri di versione standard hanno un formato in x.y.z cui x, y e z sono numeri
  • Le versioni non definitive hanno un formato in x.y.z-<prerelease_label> cui la <prerelease_label> stringa è arbitraria assegnata a tale versione.

Esempio

Esempio 1: Pubblicare un modulo

In questo esempio MyDscModule viene pubblicato nella raccolta online usando la chiave API per indicare l'account della raccolta online del proprietario del modulo. Se MyDscModule non è un modulo manifesto valido che specifica un nome, una versione, una descrizione e un autore, si verifica un errore.

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

Esempio 2: Pubblicare un modulo con i metadati della raccolta

In questo esempio MyDscModule viene pubblicato nella raccolta online usando la chiave API per indicare l'account della raccolta del proprietario del modulo. I metadati aggiuntivi forniti vengono visualizzati nella pagina Web del modulo nella raccolta. Il proprietario aggiunge due tag di ricerca per il modulo, correlati ad Active Directory; viene aggiunta una breve nota sulla versione. Se MyDscModule non è un modulo manifesto valido che specifica un nome, una versione, una descrizione e un autore, si verifica un errore.

$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

Parametri

-AllowPrerelease

Consente la pubblicazione dei moduli contrassegnati come versione preliminare.

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

-Confirm

Richiede conferma prima di eseguire .Publish-Module

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

-Credential

Specifica un account utente con diritti per pubblicare un modulo per un provider di pacchetti o un'origine specificati.

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

-Exclude

Definisce i file da escludere dal modulo pubblicato.

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

-Force

Forza l'esecuzione del comando senza chiedere conferma all'utente.

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

-FormatVersion

Accetta solo valori validi specificati dall'attributo ValidateSet .

Per altre informazioni, vedere ValidateSet Attribute Declaration e ValidateSetAttribute.

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

-IconUri

Specifica l'URL di un'icona per il modulo. L'icona specificata viene visualizzata nella pagina Web della raccolta per il modulo.

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

-LicenseUri

Specifica l'URL delle condizioni di licenza per il modulo da pubblicare.

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

-Name

Specifica il nome del modulo da pubblicare. Publish-Module cerca il nome del modulo specificato in $Env:PSModulePath.

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

-NuGetApiKey

Specifica la chiave API che si vuole usare per pubblicare un modulo nella raccolta online. La chiave API fa parte del profilo nella raccolta online e si trova nella pagina dell'account utente nella raccolta. La chiave API è una funzionalità specifica di NuGet.

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

-Path

Specifica il percorso del modulo da pubblicare. Questo parametro accetta il percorso della cartella che contiene il modulo. La cartella deve avere lo stesso nome del modulo.

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

-ProjectUri

Specifica l'URL di una pagina Web relativa a questo progetto.

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

-ReleaseNotes

Specifica una stringa contenente note sulla versione o commenti che si desidera rendere disponibili agli utenti di questa versione del modulo.

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

-Repository

Specifica il nome descrittivo di un repository registrato eseguendo Register-PSRepository. Il repository deve avere un'URI PublishLocation, che è un URI NuGet valido. PublishLocation può essere impostato eseguendo Set-PSRepository.

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

-RequiredVersion

Specifica la versione esatta di un singolo modulo da pubblicare.

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

-SkipAutomaticTags

Rimuove i comandi e le risorse dall'essere inclusi come tag. Ignora l'aggiunta automatica di tag a un modulo.

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

-Tags

Aggiunge uno o più tag al modulo che si stanno pubblicando. I tag di esempio includono DesiredStateConfiguration, DSC, DSCResourceKit o PSModule. Separare più tag con virgole.

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

-WhatIf

Mostra cosa accadrebbe se l'esecuzione.Publish-Module Il cmdlet non viene eseguito.

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

Input

String

PSCredential

Output

Object

Note

PowerShell include gli alias seguenti per Publish-Module:

  • Tutte le piattaforme:
    • pumo

Publish-Module viene eseguito in PowerShell 3.0 o versioni successive di PowerShell, in Windows 7 o Windows 2008 R2 e versioni successive di Windows.

Importante

A partire da aprile 2020 PowerShell Gallery non supporta più le versioni 1.0 e 1.1 di TLS (Transport Layer Security). Se non si usa TLS 1.2 o versione successiva, si riceverà un errore quando si tenta di accedere a PowerShell Gallery. Per verificare di usare TLS 1.2, eseguire il comando seguente:

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

Per altre informazioni, vedere l'annuncio corrispondente nel blog di PowerShell.

Per la pubblicazione di un modulo sono necessari i metadati visualizzati nella pagina della raccolta relativa al modulo. I metadati necessari includono il nome del modulo, la versione, la descrizione e l'autore. La maggior parte dei metadati viene ricavata dal manifesto del modulo, ma alcuni metadati possono essere specificati nei Publish-Module parametri, ad esempio Tag, ReleaseNote, IconUri, ProjectUri e LicenseUri. Per altre informazioni, vedere Valori del manifesto del pacchetto che influisce sull'interfaccia utente di PowerShell Gallery.