Publish-Module

Veröffentlicht ein angegebenes Modul aus dem lokalen Computer in einem Onlinekatalog

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

Beschreibung

Das Publish-Module Cmdlet veröffentlicht ein Modul in einem Online-NuGet-basierten Katalog mithilfe eines API-Schlüssels, der als Teil des Profils eines Benutzers im Katalog gespeichert ist. Sie können entweder den Namen des Moduls angeben, das veröffentlicht werden soll, oder Sie geben den Pfad zum Ordner an, der das Modul enthält.

Wenn Sie ein Modul nach Namen angeben, Publish-Module veröffentlicht das erste Modul, das durch Ausführen Get-Module -ListAvailable <Name>gefunden wird. Wenn Sie eine Mindestversion eines zu veröffentlichenden Moduls angeben, Publish-Module veröffentlicht das erste Modul mit einer Version, die größer oder gleich der von Ihnen angegebenen Mindestversion ist.

Die Veröffentlichung eines Moduls erfordert Metadaten, die auf der Seite „Katalog“ des Moduls angezeigt werden. Die erforderlichen Metadaten enthalten den Modulnamen, die Version, die Beschreibung und den Autor. Obwohl die meisten Metadaten aus dem Modulmanifest stammen, müssen einige Metadaten in Publish-Module Parametern wie Tag, ReleaseNote, IconUri, ProjectUri und LicenseUri angegeben werden, da diese Parameter felder in einem NuGet-basierten Katalog übereinstimmen.

Beispiele

Beispiel 1: Veröffentlichen eines Moduls

In diesem Beispiel wird MyDscModule im Onlinekatalog mit dem API-Schlüssel veröffentlicht, um das Onlinekatalogkonto des Modulbesitzers anzugeben. Wenn MyDscModule kein gültiges Manifestmodul ist, das einen Namen, eine Version, eine Beschreibung und einen Autor angibt, tritt ein Fehler auf.

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

Beispiel 2: Veröffentlichen eines Moduls mit Katalogmetadaten

In diesem Beispiel wird MyDscModule im Onlinekatalog veröffentlicht, indem der API-Schlüssel verwendet wird, um das Katalogkonto des Modulbesitzers anzugeben. Die bereitgestellten zusätzlichen Metadaten werden auf der Webseite für das Modul im Katalog angezeigt. Der Besitzer fügt zwei Suchtags für das Modul hinzu, das es mit Active Directory bezieht; Eine kurze Veröffentlichungsnotiz wird hinzugefügt. Wenn MyDscModule kein gültiges Manifestmodul ist, das einen Namen, eine Version, eine Beschreibung und einen Autor angibt, tritt ein Fehler auf.

Publish-Module -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."

Parameter

-AllowPrerelease

Ermöglicht die Veröffentlichung von Modulen, die als Vorabversionen gekennzeichnet sind.

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

-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie die Ausführung des Publish-Module.

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

-Credential

Gibt ein Benutzerkonto an, das über Rechte zum Veröffentlichen eines Moduls für einen angegebenen Paketanbieter oder eine angegebene Quelle verfügt.

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

-Exclude

Definiert Dateien, die aus dem veröffentlichten Modul ausgeschlossen werden sollen.

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

-Force

Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.

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

-FormatVersion

Akzeptiert nur gültige Werte, die vom ValidateSet-Attribut angegeben werden.

Weitere Informationen finden Sie unter ValidateSet-Attributdeklaration und ValidateSetAttribute.

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

-IconUri

Gibt die URL eines Symbols für das Modul an. Das angegebene Symbol wird auf der Katalogwebseite für das Modul angezeigt.

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

-LicenseUri

Gibt die URL der Lizenzierungsbedingungen für das Modul an, das Sie veröffentlichen möchten.

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

-Name

Gibt den Namen des Moduls an, das Sie veröffentlichen möchten. Publish-Module sucht nach dem angegebenen Modulnamen in $Env:PSModulePath.

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

-NuGetApiKey

Gibt den API-Schlüssel an, den Sie zum Veröffentlichen eines Moduls im Onlinekatalog verwenden möchten. Der API-Schlüssel ist Teil Ihres Profils im Onlinekatalog und finden Sie auf Ihrer Benutzerkontoseite im Katalog. Der API-Schlüssel ist NuGet-spezifische Funktionalität.

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

-Path

Gibt den Pfad zum Modul an, das Sie veröffentlichen möchten. Dieser Parameter akzeptiert den Pfad zum Ordner, der das Modul enthält.

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

-ProjectUri

Gibt die URL einer Webseite zu diesem Projekt an.

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

-ReleaseNotes

Gibt eine Zeichenfolge an, die Versionshinweise oder Kommentare enthält, die Benutzern dieser Version des Moduls zur Verfügung stehen sollen.

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

-Repository

Gibt den Anzeigenamen eines Repositorys an, das durch Ausführen Register-PSRepositoryregistriert wurde. Das Repository muss über eine PublishLocation verfügen, die ein gültiger NuGet-URI ist. Die PublishLocation kann durch Ausführen Set-PSRepositoryfestgelegt werden.

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

-RequiredVersion

Gibt die genaue Version eines einzelnen zu veröffentlichenden Moduls an.

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

-SkipAutomaticTags

Entfernt Befehle und Ressourcen, die als Tags eingeschlossen werden. Überspringt das automatische Hinzufügen von Tags zu einem Modul.

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

-Tags

Fügt dem zu veröffentlichenden Modul mindestens eine Tags hinzu. Beispieltags sind DesiredStateConfiguration, DSC, DSCResourceKit oder PSModule. Trennen Sie mehrere Tags mit Kommas.

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

-WhatIf

Zeigt an, was passiert, wenn die Publish-Module Ausführung ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

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

Eingaben

String

PSCredential

Ausgaben

Object

Hinweise

Publish-Module wird auf PowerShell 3.0- oder höher-Versionen von PowerShell, unter Windows 7 oder Windows 2008 R2 und späteren Versionen von Windows ausgeführt.

Wichtig

Ab April 2020 unterstützt der PowerShell-Katalog die TLS-Versionen (Transport Layer Security) 1.0 und 1.1 nicht mehr. Wenn Sie nicht TLS 1.2 oder höher verwenden, erhalten Sie beim Versuch des Zugriffs auf den PowerShell-Katalog eine Fehlermeldung. Mit dem folgenden Befehl können Sie sicherstellen, dass Sie TLS 1.2 verwenden:

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

Weitere Informationen finden Sie im PowerShell-Blog in der Ankündigung.

Die Veröffentlichung eines Moduls erfordert Metadaten, die auf der Seite „Katalog“ des Moduls angezeigt werden. Die erforderlichen Metadaten enthalten den Modulnamen, die Version, die Beschreibung und den Autor. Die meisten Metadaten werden aus dem Modulmanifest entnommen, aber einige Metadaten können in Publish-Module Parametern angegeben werden, z. B. Tag, ReleaseNote, IconUri, ProjectUri und LicenseUri. Weitere Informationen finden Sie unter Paketmanifestwerte, die sich auf die PowerShell-Katalog UI auswirken.