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 NuGet-basierten Onlinekatalog 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 Name angeben, veröffentlicht das erste Modul, Publish-Module
das durch Ausführen Get-Module -ListAvailable <Name>
von 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 Mit Feldern in einem NuGet-basierten Katalog übereinstimmen.
Die Parameter, die Modulversionsnummern annehmen, erwarten Zeichenfolgen, die als Versionsnummern formatiert sind.
- Standardversionsnummern haben ein Format,
x.y.z
wobei x, y und z Zahlen sind. - Vorabversionen weisen das Format
x.y.z-<prerelease_label>
auf, in dem der<prerelease_label>
dieser Version eine beliebige Zeichenfolge zugewiesen ist.
Beispiele
Beispiel 1: Veröffentlichen eines Moduls
In diesem Beispiel wird MyDscModule im Onlinekatalog veröffentlicht, indem der API-Schlüssel verwendet wird, 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 zusätzlichen Metadaten werden auf der Webseite für das Modul im Katalog angezeigt. Der Besitzer fügt dem Modul zwei Suchtags hinzu, die es mit Active Directory in Verbindung stellen. Eine kurze Versionshinweise 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.
$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
Parameter
-AllowPrerelease
Ermöglicht die Veröffentlichung von als Vorabversion markierten Modulen.
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 ausführen 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 Lizenzbedingungen 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 im Katalog auf der Seite Ihres Benutzerkontos. 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 zu dem Modul an, das Sie veröffentlichen möchten. Dieser Parameter akzeptiert den Pfad zu dem Ordner, der das Modul enthält. Der Ordner muss denselben Namen wie das Modul haben.
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 mit Versionshinweisen oder Kommentaren an, die Benutzern dieser Modulversion 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-PSRepository
von registriert wurde. Das Repository muss über einen PublishLocation-Standort verfügen, bei dem es sich um einen gültigen NuGet-URI handelt.
Die PublishLocation kann festgelegt werden, indem Sie ausführen Set-PSRepository
.
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 modul, das Sie veröffentlichen, mindestens ein Tag hinzu. Beispieltags sind DesiredStateConfiguration, DSC, DSCResourceKit oder PSModule. Trennen Sie mehrere Tags durch Kommas.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt an, was passieren würde, wenn der Publish-Module
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
Ausgaben
Hinweise
PowerShell enthält die folgenden Aliase für Publish-Module
:
- Alle Plattformen:
pumo
Publish-Module
wird in PowerShell 3.0 oder höheren Versionen von PowerShell, unter Windows 7 oder Windows 2008 R2 und höheren 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 stammen aus dem Modulmanifest, aber einige Metadaten können in Publish-Module
Parametern wie Tag, ReleaseNote, IconUri, ProjectUri und LicenseUri angegeben werden. Weitere Informationen finden Sie unter Paketmanifestwerte, die sich auf die PowerShell-Katalog-Benutzeroberfläche auswirken.