Udostępnij za pośrednictwem


Publish-Module

Publikuje określony moduł z komputera lokalnego do galerii online.

Składnia

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

Opis

Polecenie cmdlet Publish-Module publikuje moduł w galerii opartej na online nuGet przy użyciu klucza interfejsu API przechowywanego jako część profilu użytkownika w galerii. Możesz określić moduł do opublikowania według nazwy modułu lub ścieżki do folderu zawierającego moduł.

Po określeniu modułu według nazwy Publish-Module publikuje pierwszy moduł, który zostanie znaleziony, uruchamiając Get-Module -ListAvailable <Name>. Jeśli określisz minimalną wersję modułu do opublikowania, Publish-Module opublikuje pierwszy moduł z wersją większą lub równą minimalnej określonej wersji.

Publikowanie modułu wymaga metadanych wyświetlanych na stronie galerii modułu. Wymagane metadane obejmują nazwę modułu, wersję, opis i autora. Chociaż większość metadanych jest pobierana z manifestu modułu, niektóre metadane muszą być określone w parametrach Publish-Module, takich jak Tag, ReleaseNote, IconUri, ProjectUrii LicenseUri, ponieważ te parametry pasują do pól w galerii opartej na nuGet.

Przykłady

Przykład 1. Publikowanie modułu

W tym przykładzie moduł MyDscModule jest publikowany w galerii online przy użyciu klucza interfejsu API w celu wskazania konta galerii online właściciela modułu. Jeśli moduł MyDscModule nie jest prawidłowym modułem manifestu określającym nazwę, wersję, opis i autora, wystąpi błąd.

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

Przykład 2. Publikowanie modułu z metadanymi galerii

W tym przykładzie moduł MyDscModule jest publikowany w galerii online przy użyciu klucza interfejsu API w celu wskazania konta galerii właściciela modułu. Dodatkowe metadane są wyświetlane na stronie internetowej modułu w galerii. Właściciel dodaje dwa tagi wyszukiwania modułu, odnoszące się do niego z usługą Active Directory; Zostanie dodana krótka informacja o wersji. Jeśli moduł MyDscModule nie jest prawidłowym modułem manifestu określającym nazwę, wersję, opis i autora, wystąpi błąd.

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

Parametry

-AllowPrerelease

Umożliwia publikowanie modułów oznaczonych jako wersje wstępne.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Confirm

Monituje o potwierdzenie przed uruchomieniem Publish-Module.

Typ:SwitchParameter
Aliasy:cf
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Credential

Określa konto użytkownika, które ma uprawnienia do publikowania modułu dla określonego dostawcy pakietów lub źródła.

Typ:PSCredential
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-Exclude

Definiuje pliki do wykluczenia z opublikowanego modułu.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Force

Wymusza uruchomienie polecenia bez monitowania o potwierdzenie użytkownika.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-FormatVersion

Akceptuje tylko prawidłowe wartości określone przez atrybut ValidateSet.

Aby uzyskać więcej informacji, zobacz ValidateSet Attribute Declaration i ValidateSetAttribute.

Typ:Version
Dopuszczalne wartości:2.0
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-IconUri

Określa adres URL ikony modułu. Określona ikona jest wyświetlana na stronie internetowej galerii dla modułu.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-LicenseUri

Określa adres URL postanowień licencyjnych dla modułu, który chcesz opublikować.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Name

Określa nazwę modułu, który chcesz opublikować. Publish-Module wyszukuje określoną nazwę modułu w $Env:PSModulePath.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-NuGetApiKey

Określa klucz interfejsu API, którego chcesz użyć do opublikowania modułu w galerii online. Klucz interfejsu API jest częścią twojego profilu w galerii online i można go znaleźć na stronie konta użytkownika w galerii. Klucz interfejsu API jest funkcją specyficzną dla pakietu NuGet.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Path

Określa ścieżkę do modułu, który chcesz opublikować. Ten parametr akceptuje ścieżkę do folderu zawierającego moduł.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:True
Akceptowanie danych wejściowych potoku:True
Akceptowanie symboli wieloznacznych:False

-ProjectUri

Określa adres URL strony internetowej dotyczącej tego projektu.

Typ:Uri
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-ReleaseNotes

Określa ciąg zawierający informacje o wersji lub komentarze, które mają być dostępne dla użytkowników tej wersji modułu.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Repository

Określa przyjazną nazwę repozytorium, które zostało zarejestrowane przez uruchomienie Register-PSRepository. Repozytorium musi mieć PublishLocation, który jest prawidłowym identyfikatorem URI NuGet. PublishLocation można ustawić, uruchamiając Set-PSRepository.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-RequiredVersion

Określa dokładną wersję pojedynczego modułu do opublikowania.

Typ:String
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-SkipAutomaticTags

Usuwa polecenia i zasoby z dołączania ich jako tagów. Pomija automatyczne dodawanie tagów do modułu.

Typ:SwitchParameter
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-Tags

Dodaje co najmniej jeden tag do publikowanego modułu. Przykładowe tagi obejmują DesiredStateConfiguration, DSC, DSCResourceKit lub PSModule. Oddzielaj wiele tagów przecinkami.

Typ:String[]
Position:Named
Domyślna wartość:None
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

-WhatIf

Pokazuje, co się stanie w przypadku uruchomienia Publish-Module. Polecenie cmdlet nie jest uruchamiane.

Typ:SwitchParameter
Aliasy:wi
Position:Named
Domyślna wartość:False
Wymagane:False
Akceptowanie danych wejściowych potoku:False
Akceptowanie symboli wieloznacznych:False

Dane wejściowe

String

PSCredential

Dane wyjściowe

Object

Uwagi

Publish-Module działa w wersjach programu PowerShell 3.0 lub nowszych, w systemach Windows 7 lub Windows 2008 R2 i nowszych wersjach systemu Windows.

Ważny

Od kwietnia 2020 r. galeria programu PowerShell nie obsługuje już protokołu Transport Layer Security (TLS) w wersji 1.0 i 1.1. Jeśli nie używasz protokołu TLS 1.2 lub nowszego, podczas próby uzyskania dostępu do galerii programu PowerShell zostanie wyświetlony błąd. Użyj następującego polecenia, aby upewnić się, że używasz protokołu TLS 1.2:

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

Aby uzyskać więcej informacji, zobacz anons w blogu programu PowerShell.

Publikowanie modułu wymaga metadanych wyświetlanych na stronie galerii modułu. Wymagane metadane obejmują nazwę modułu, wersję, opis i autora. Większość metadanych jest pobierana z manifestu modułu, ale niektóre metadane można określić w parametrach Publish-Module, takich jak Tag, ReleaseNote, IconUri, ProjectUrii LicenseUri. Aby uzyskać więcej informacji, zobacz Wartości manifestu pakietu, które mają wpływ na interfejs użytkownika galerii programu PowerShell.