Tworzenie i publikowanie elementuCreating and publishing an item

Galerii programu PowerShell jest używana do publikowania i udostępniania stabilne modułów programu PowerShell, skryptów i zasobów DSC z szerszego społeczność użytkowników programu PowerShell.The PowerShell Gallery is the place to publish and share stable PowerShell modules, scripts, and DSC resources with the broader PowerShell user community.

W tym artykule opisano mechanics i ważnych kroków przygotowania skryptu lub moduł, i publikując ją w galerii programu PowerShell.This article covers the mechanics and important steps for preparing a script or module, and publishing it to the PowerShell Gallery. Zdecydowanie zaleca przejrzenie wskazówki dotyczące publikowania zrozumienie, jak upewnić się, że elementy publikowania będzie bardziej powszechnie akceptowane przez użytkowników z galerii programu PowerShell.We strongly encourage that you review the Publishing Guidelines to understand how to ensure that the items you publish will be more widely accepted by PowerShell Gallery users.

Minimalne wymagania, aby opublikować element galerii programu PowerShell są:The minimum requirements to publish an item to the PowerShell Gallery are:

  • Mieć konto galerii programu PowerShell i skojarzony klucz interfejsu APIHave a PowerShell Gallery account, and the API Key associated with it
  • Upewnij się, że wymagane metadane znajduje się w elemencie usługiEnsure Required Metadata is in your item
  • Upewnij się, że Twoje elementu jest gotowa do opublikowania za pomocą narzędzi weryfikacji wstępnejUse the pre-validation tools to ensure your item is ready to publish
  • Publikowanie elementu w galerii programu PowerShell przy użyciu polecenia Publish-Module i Publish-ScriptPublish the item to the PowerShell Gallery using the Publish-Module and Publish-Script commands
  • Odpowiadanie na pytań lub wątpliwości dotyczących przedmiotResponding to questions or concerns about your item

Galeria programu PowerShell akceptuje modułów programu PowerShell i skryptów programu PowerShell.The PowerShell Gallery accepts PowerShell modules and PowerShell scripts. Nazywamy skryptów, mamy na myśli skrypt programu PowerShell, który jest pojedynczy plik, a nie jest częścią większej modułu.When we refer to scripts, we mean a PowerShell script that is a single file, and not part of a larger module.

Zobacz Tworzenie konta galerii programu PowerShell dotyczące sposobu konfigurowania konta galerii programu PowerShell.See Creating a PowerShell Gallery Account for how to set up your PowerShell Gallery account.

Po utworzeniu konta możesz uzyskać klucz interfejsu API niezbędnych do publikowania elementu.Once you have created an account, you can get the API Key needed to publish an item. Po zalogowaniu się przy użyciu konta, nazwy użytkownika pojawi się w górnej części stron galerii programu PowerShell, a nie rejestru.After you sign in with the account, your username will be displayed at the top of the PowerShell Gallery pages instead of Register. Kliknięcie nazwy użytkownika spowoduje przejście do strony Moje konto, gdzie można znaleźć klucza interfejsu API.Clicking on your username will take you to the My Account page, where you will find the API Key.

Uwaga: Klucz interfejsu API muszą być traktowane jako bezpieczne jako login i hasło.Note: The API Key must be treated as securely as your login and password. Przy użyciu tego klucza, nikogo, można zaktualizować dowolny element, którego jesteś właścicielem w galerii programu PowerShell.With this key you, or anyone else, can update any item you own in the PowerShell Gallery. Zalecamy zaktualizowanie klucz regularnie, co można zrobić za pomocą resetowania klucza na stronie Moje konto.We recommend updating the key regularly, which can be done using Reset Key on your My Account page.

Galeria programu PowerShell informacje użytkownikom galerii z pola metadanych, które są zawarte w manifeście skryptu lub modułu.The PowerShell Gallery provides information to gallery users drawn from metadata fields that are included in the script or module manifest. Tworzenie lub modyfikowanie elementów dla publikacji w galerii programu PowerShell ma niewielki zestaw wymagań dotyczących informacji dostarczonych w manifeście elementu.Creating or modifying items for publication to the PowerShell Gallery has a small set of requirements for information supplied in the item manifest. Zdecydowanie zaleca przejrzenie sekcji metadanych elementu wskazówki dotyczące publikowania Aby dowiedzieć się, jak zapewnić informacje o najlepszych użytkowników z elementami.We strongly encourage that you review the Item Metadata section of the Publishing Guidelines to learn how to provide the best information to users with your items.

New ModuleManifest i New ScriptFileInfo poleceń cmdlet spowoduje utworzenie szablonu manifestu, przy użyciu symboli zastępczych dla wszystkich elementów manifestu.The New-ModuleManifest and New-ScriptFileInfo cmdlets will create the manifest template for you, with placeholders for all the manifest elements.

Zarówno manifesty ma dwie sekcje, które są ważne w przypadku publikowania, obszaru danych klucza głównego i PSData PrivateData danymi klucza podstawowego w manifeście modułu programu PowerShell jest wszystko poza sekcję PrivateData.Both manifests have two sections that are important for publishing, the Primary Key Data and PSData area of PrivateData The primary key data in a PowerShell module manifest is everything outside of the PrivateData section. Zestaw kluczy podstawowych jest powiązany z wersji programu PowerShell w użyciu i niezdefiniowane nie są obsługiwane.The set of primary keys is tied to the version of PowerShell in use, and undefined are not supported. PrivateData obsługuje dodawanie nowych kluczy, więc elementy, które są określone w galerii programu PowerShell są w PSData.PrivateData supports adding new keys, so the elements specific to the PowerShell Gallery are in PSData.

Manifest elementów, które są dla Ciebie najważniejsze do wypełnienia dla elementu, który publikowanie w galerii programu PowerShell są:Manifest elements that are most important to fill in for item you publish to the PowerShell Gallery are:

  • Skrypt lub modułu nazwa — te są pobierane z nazwy. PS1, aby uzyskać skrypt lub. PSD1 dla modułu.Script or Module Name - Those are drawn from the names of the .PS1 for a script, or the .PSD1 for a module.
  • Wersja — jest wymagany klucz podstawowy, format powinien być zgodny z wytycznymi SemVer (zobacz najważniejsze wskazówki, aby uzyskać szczegółowe informacje)Version - this is a required primary key, format should follow SemVer guidelines (see Best Practices for details)
  • Autor - jest wymagany klucz podstawowy i zawiera nazwę, która ma zostać skojarzony z elementem (zobacz twórcy i właściciele, poniżej)Author - this is a required primary key, and contains the name to be associated with the item (see Authors and Owners, below)
  • Opis — jest wymagany klucz podstawowy używany do krótko opisano, co robi ten element, a także wymagania dotyczące korzystania z niegoDescription - this is a required primary key, used to briefly explain what this item does and any requirements for using it
  • ProjectURI — jest to zdecydowanie zalecane pole identyfikatora URI w PSData, która zawiera link do repozytorium Github lub podobne lokalizacji, w których wykonują rozwoju w elemencieProjectURI - this is a strongly recommended URI field in PSData that provides a link to a Github repo or similar location where you do development on the item

Elementy twórcy i właściciele galerii programu PowerShell to pojęcia pokrewne, ale nie zawsze być zgodna.Authors and Owners of PowerShell Gallery items are related concepts, but do not always match. Właścicielami elementów znajdują się użytkownicy z kontami w galerii programu PowerShell, które ma uprawnienia do zachowania elementu.Item Owners are users with PowerShell Gallery accounts that have permission to maintain the item. Może istnieć wiele właścicieli, które mogą aktualizować dowolnego elementu.There may be many Owners who can update any item. Właściciel jest dostępna tylko z galerii programu PowerShell i zostaną utracone, jeśli element zostanie skopiowany z jednego systemu do innego.The Owner is only available from the PowerShell Gallery, and is lost if the item is copied from one system to another. Autor jest ciąg, który ma wbudowaną manifestu dane, dzięki czemu zawsze jest częścią elementu.Author is a string that is built into the manifest data, so it is always part of the item. Zalecenia dotyczące elementów z produktów firmy Microsoft są:The recommendations for items from Microsoft products are:

  • Mieć wielu właścicieli z co najmniej jednym jest nazwa zespołu, który tworzy element;Have multiple owners, with at least one being the name of the team that produces the item;
  • Mieć Autor nazwa dobrze znanych team (na przykład zespół zestawu SDK platformy Azure) lub Microsoft Corporation.Have the Author be a well-known team name (such as Azure SDK Team), or Microsoft Corporation.

Wstępna weryfikacja przedmiotPre-Validate Your Item

Istnieje kilka narzędzi, które są potrzebne w celu uruchomienia kodu przed opublikowaniem z elementu w galerii programu PowerShell:There are a few tools you need to run against your code before publishing your item to the PowerShell Gallery:

  • Analizator skrypt programu PowerShell, która znajduje się w galerii programu PowerShellPowerShell Script Analyzer, which is in the PowerShell Gallery
  • Dla modułów, ModuleManifest testu, który jest częścią programu PowerShellFor modules, Test-ModuleManifest which is part of PowerShell
  • W przypadku skryptów ScriptFileInfo testu, który jest dostarczany za pomocą programu PowerShell GetFor scripts, Test-ScriptFileInfo which comes with PowerShell Get

Analizator skrypt programu PowerShell jest narzędzie do analizy kodu statycznego, które będą skanować swój kod, aby upewnić się, że spełnia PowerShell podstawowe wytyczne dotyczące kodowania.PowerShell Script Analyzer is a static code analysis tool that will scan your code to ensure it meets basic PowerShell coding guidelines. To narzędzie będzie identyfikowała najczęstszych i najpoważniejszych problemów w kodzie i powinien być uruchamiany regularnie w czasie projektowania, aby pomóc Ci przedmiot gotowe do opublikowania.This tool will identify common and critical issues in your code, and should be run regularly during development to help you get your item ready to publish. Analizator skrypt programu PowerShell udostępni listę problemy zidentyfikowane jako błędy, ostrzeżenia i informacje.PowerShell Script Analyzer will provide list of issues identified as Errors, Warning, and Information. Muszą być kierowane wszystkie błędy, przed opublikowaniem w galerii programu PowerShell.All errors must be addressed before you publish to the PowerShell Gallery. Ostrzeżenia, które wymagają przejrzenia i powinny być kierowane większość.Warnings need to be reviewed, and most should be addressed. Analizator skrypt programu PowerShell jest uruchamiany za każdym razem, gdy element jest opublikowane lub zaktualizowane w galerii programu PowerShell.PowerShell Script Analyzer is run every time an item is published or updated in the PowerShell Gallery. Zespół operacyjny Galeria będzie kontaktować się z właścicielami elementów, aby usunąć błędy, które znajdują się.The Gallery Operations team will contact item owners to address errors that are found.

Jeśli nie można odczytać informacji o manifeście w przedmiot przez infrastrukturę galerii programu PowerShell, nie można opublikować.If the manifest information in your item cannot be read by the PowerShell Gallery infrastructure, you will not be able to publish. Test ModuleManifest będzie przechwytywać typowe problemy, które mogłoby spowodować modułu nie będzie można używać podczas instalacji.Test-ModuleManifest will catch common problems that would cause the module to not be usable when it is installed. Musi być uruchamiane dla każdego modułu, przed jej opublikowaniem w galerii programu PowerShell.It must be run for every module prior to publishing it to the PowerShell Gallery.

Podobnie ScriptFileInfo testu weryfikuje metadanych w skrypcie i muszą zostać uruchomione na każdy skrypt (opublikowanych oddzielonym od modułu) przed jej opublikowaniem w galerii programu Powershell.Likewise, Test-ScriptFileInfo validates the metadata in a script, and must be run on every script (published separate from a module) prior to publishing it to the Powershell Gallery.

Publikowanie elementówPublishing Items

Należy użyć Publish-Script lub Publish-Module do publikowania elementów w galerii programu PowerShell.You must use the Publish-Script or Publish-Module to publish items to the PowerShell Gallery. Te polecenia oba wymagająThese commands both require

  • Ścieżka do elementu, który będzie publikować.The path to the item you will publish. Dla modułu należy użyć folder wyznaczony dla modułu.For a module, use the folder named for your module. W przypadku określenia folderu, który zawiera wiele wersji tego samego modułu, należy określić RequiredVersion.If you specify a folder that contains multiple versions of the same module, you must specify RequiredVersion.
  • Klucz interfejsu API Nuget.A Nuget API key. Jest to klucz interfejsu API znajdujący się na stronie Moje konto w galerii programu PowerShell.This is the API key found in the My Account page on the PowerShell Gallery.

Większość innych opcji wiersza polecenia powinny być manifestu danych dla elementu, który jest publikowany, więc nie należy je określić w poleceniu.Most of the other options in the command line should be in the manifest data for the item you are publishing, so you should not need to specify them in the command.

Aby uniknąć błędów, zalecane jest, spróbuj poleceń przy użyciu - Whatif-Verbose, przed opublikowaniem.To avoid errors, it is strongly recommended that you try the commands using -Whatif -Verbose, before publishing. Spowoduje to zapisanie znaczną ilość czasu od momentu za każdym razem, gdy opublikujesz w galerii programu PowerShell, należy zaktualizować numer wersji w sekcji manifestu elementu.This will save considerable time, since every time you publish to the PowerShell Gallery, you must update the version number in the manifest section of the item.

Byłoby przykłady: "Publish-Module-ścieżki". \MyModule "- RequiredVersion"0.0.1"- NugetAPIKey"GUID"- Whatif — pełne" "Publish-Script-ścieżki".\MyScriptFile.PS1"- NugetAPIKey"GUID"- Whatif — pełne"Examples would be: 'Publish-Module -Path ".\MyModule" -RequiredVersion "0.0.1" -NugetAPIKey "GUID" -Whatif -Verbose' 'Publish-Script -Path ".\MyScriptFile.PS1" -NugetAPIKey "GUID" -Whatif -Verbose'

Uważnie przejrzyj dane wyjściowe, a Jeśli widzisz nie ostrzeżeń ani błędów, powtórz polecenie bez - Whatif.Review the output carefully, and if you see no errors or warnings, repeat the command without -Whatif.

Wszystkie elementy, które są publikowane w galerii programu PowerShell ma zostać przeprowadzone skanowanie w poszukiwaniu wirusów i będą analizowane za pomocą analizatora skryptu programu PowerShell.All items that are published to the PowerShell Gallery will be scanned for viruses, and will be analyzed using the PowerShell Script Analyzer. Wszelkie problemy, które pojawiły się w tym czasie zostanie odesłana do wydawcy, do rozpoznania.Any issues that arise at that time will be sent back to the publisher for resolution.

Po opublikowaniu elementu w galerii programu PowerShell należy do obserwacji opinie na temat Twojego towaru.Once you have published an item to the PowerShell Gallery, you will need to watch for feedback on your item.

  • Upewnij się, można monitorować adres e-mail skojarzony z kontem, używany do publikowania.Ensure you monitor the email address associated with the account used to publish. Użytkownicy i zespół operacyjny galerii programu PowerShell zapewni opinii za pośrednictwem tego konta, takie jak problemy z PSSA lub skanowanie antywirusowe.Users, and the PowerShell Gallery Operations team will provide feedback via that account, including issues from the PSSA or antivirus scans. Jeśli konto e-mail jest nieprawidłowy lub w przypadku poważnych problemów są zgłaszane do konta i po lewej stronie nierozpoznanych przez długi czas, elementy mogą być uznane za porzucone i zostanie usunięty z galerii programu PowerShell, zgodnie z opisem w naszym warunki użytkowania.If the email account is invalid, or if serious issues are reported to the account and left unresolved for a long time, items can be considered abandoned and will be removed from the PowerShell Gallery as described in our Terms of Use.
  • Firma Microsoft zaleca subskrybować komentarzy dla każdego elementu w galerii programu PowerShell, którą publikujesz.We recommend you subscribe to Comments for each PowerShell Gallery item you publish. Dzięki temu można otrzymywać powiadomienia, gdy każda osoba komentarze dotyczące elementów w galerii programu PowerShell.This allows you to be notified if anyone comments on your items in the PowerShell Gallery. Jest to opcjonalne, ponieważ wymaga ona, tworząc konto LiveFyre.This is optional, as it requires creating an account with LiveFyre.