Dela via


Publish-Module

Publicerar en angiven modul från den lokala datorn till ett onlinegalleri.

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

Cmdleten Publish-Module publicerar en modul till ett NuGet-baserat onlinegalleri med hjälp av en API-nyckel som lagras som en del av en användares profil i galleriet. Du kan ange vilken modul som ska publiceras antingen efter modulens namn eller genom sökvägen till mappen som innehåller modulen.

När du anger en modul efter namn Publish-Module publicerar den första modulen som skulle hittas genom att köra Get-Module -ListAvailable <Name>. Om du anger en lägsta version av en modul som ska publiceras publicerar Publish-Module den första modulen med en version som är större än eller lika med den lägsta version som du har angett.

Publicering av en modul kräver metadata som visas på gallerisidan för modulen. Nödvändiga metadata omfattar modulnamn, version, beskrivning och författare. Även om de flesta metadata hämtas från modulmanifestet måste vissa metadata anges i Publish-Module parametrar, till exempel Tag, ReleaseNote, IconUri, ProjectUri och LicenseUri, eftersom dessa parametrar matchar fälten i ett NuGet-baserat galleri.

Exempel

Exempel 1: Publicera en modul

I det här exemplet publiceras MyDscModule till onlinegalleriet med hjälp av API-nyckeln för att ange modulägarens onlinegallerikonto. Om MyDscModule inte är en giltig manifestmodul som anger namn, version, beskrivning och författare uppstår ett fel.

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

Exempel 2: Publicera en modul med gallerimetadata

I det här exemplet publiceras MyDscModule till onlinegalleriet med hjälp av API-nyckeln för att ange modulägarens gallerikonto. De ytterligare metadata som tillhandahålls visas på webbsidan för modulen i galleriet. Ägaren lägger till två söktaggar för modulen som relaterar den till Active Directory. en kort versionsanteckning läggs till. Om MyDscModule inte är en giltig manifestmodul som anger namn, version, beskrivning och författare uppstår ett fel.

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

Parametrar

-AllowPrerelease

Tillåter att moduler som markerats som förhandsversion publiceras.

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

-Confirm

Du uppmanas att bekräfta innan du Publish-Modulekör .

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

-Credential

Anger ett användarkonto som har behörighet att publicera en modul för en angiven paketleverantör eller källa.

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

-Exclude

Definierar filer som ska undantas från den publicerade modulen.

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

-Force

Tvingar kommandot att köras utan att be om användarbekräftelse.

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

-FormatVersion

Accepterar endast giltiga värden som anges av attributet ValidateSet .

Mer information finns i ValidateSet Attribute Declaration och ValidateSetAttribute.

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

-IconUri

Anger URL:en för en ikon för modulen. Den angivna ikonen visas på galleriets webbsida för modulen.

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

-LicenseUri

Anger URL:en för licensvillkor för den modul som du vill publicera.

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

-Name

Anger namnet på den modul som du vill publicera. Publish-Module söker efter det angivna modulnamnet i $Env:PSModulePath.

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

-NuGetApiKey

Anger den API-nyckel som du vill använda för att publicera en modul i onlinegalleriet. API-nyckeln är en del av din profil i onlinegalleriet och finns på användarkontosidan i galleriet. API-nyckeln är NuGet-specifika funktioner.

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

-Path

Anger sökvägen till den modul som du vill publicera. Den här parametern accepterar sökvägen till mappen som innehåller modulen.

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

-ProjectUri

Anger URL:en för en webbsida om det här projektet.

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

-ReleaseNotes

Anger en sträng som innehåller viktig information eller kommentarer som du vill ska vara tillgänglig för användare av den här versionen av modulen.

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

-Repository

Anger det egna namnet på en lagringsplats som har registrerats genom att köra Register-PSRepository. Lagringsplatsen måste ha en PublishLocation, vilket är en giltig NuGet-URI. PublishLocation kan anges genom att köra Set-PSRepository.

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

-RequiredVersion

Anger den exakta versionen av en enskild modul som ska publiceras.

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

-SkipAutomaticTags

Tar bort kommandon och resurser från att inkluderas som taggar. Hoppar över att automatiskt lägga till taggar i en modul.

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

-Tags

Lägger till en eller flera taggar i modulen som du publicerar. Exempeltaggar är DesiredStateConfiguration, DSC, DSCResourceKit eller PSModule. Avgränsa flera taggar med kommatecken.

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

-WhatIf

Visar vad som skulle hända om körs Publish-Module . Cmdleten körs inte.

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

Indata

String

PSCredential

Utdata

Object

Kommentarer

Publish-Module körs på PowerShell 3.0 eller senare versioner av PowerShell, på Windows 7 eller Windows 2008 R2 och senare versioner av Windows.

Viktigt

Från och med april 2020 stöder PowerShell-galleriet inte längre TLS-versionerna (Transport Layer Security) 1.0 och 1.1. Om du inte använder TLS 1.2 eller senare får du ett felmeddelande när du försöker komma åt PowerShell-galleriet. Använd följande kommando för att se till att du använder TLS 1.2:

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

Mer information finns i tillkännagivandet i PowerShell-bloggen.

Publicering av en modul kräver metadata som visas på gallerisidan för modulen. Nödvändiga metadata omfattar modulnamn, version, beskrivning och författare. De flesta metadata hämtas från modulmanifestet, men vissa metadata kan anges i Publish-Module parametrar som Tag, ReleaseNote, IconUri, ProjectUri och LicenseUri. Mer information finns i Paketmanifestvärden som påverkar PowerShell-galleriet användargränssnittet.