Maken en publiceren van een ItemCreating and Publishing an Item

De PowerShell-galerie is de plaats om te publiceren en stabiele PowerShell-modules, scripts en DSC-resources delen met de bredere gebruikersgemeenschap van PowerShell.The PowerShell Gallery is the place to publish and share stable PowerShell modules, scripts, and DSC resources with the broader PowerShell user community.

In dit artikel bevat informatie over de mechanismen en belangrijke stappen voor het voorbereiden van een script of een module en publiceert naar de PowerShell-galerie.This article covers the mechanics and important steps for preparing a script or module, and publishing it to the PowerShell Gallery. We raden u wordt aangeraden de Publishing richtlijnen om te begrijpen hoe om ervoor te zorgen dat de items die u publiceert ruimere door PowerShell Gallery gebruikers worden geaccepteerd.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.

De minimale vereisten voor het publiceren van een item naar de galerie met PowerShell zijn:The minimum requirements to publish an item to the PowerShell Gallery are:

  • Een PowerShell-galerie-account hebt, en de API-sleutel die is gekoppeld aanHave a PowerShell Gallery account, and the API Key associated with it
  • Zorg dat de vereiste metagegevens uw itemEnsure Required Metadata is in your item
  • De Prevalidatie hulpprogramma's gebruiken om te controleren of dat het object is gereed om te publicerenUse the pre-validation tools to ensure your item is ready to publish
  • Het item publiceren naar de PowerShell-galerie met de opdrachten publiceren-Module en Publish-ScriptPublish the item to the PowerShell Gallery using the Publish-Module and Publish-Script commands
  • Afhandeling van aanvragen voor vragen of opmerkingen over uw objectResponding to questions or concerns about your item

De PowerShell-galerie accepteert PowerShell-modules en PowerShell-scripts.The PowerShell Gallery accepts PowerShell modules and PowerShell scripts. Wanneer we naar scripts verwijzen, bedoelen we een PowerShell-script is een enkel bestand en geen deel uit van een grotere module.When we refer to scripts, we mean a PowerShell script that is a single file, and not part of a larger module.

Zie maken van een PowerShell-galerie Account voor het instellen van uw account PowerShell Gallery.See Creating a PowerShell Gallery Account for how to set up your PowerShell Gallery account.

Nadat u een account hebt gemaakt, kunt u de API-sleutel die nodig zijn voor het publiceren van een item ophalen.Once you have created an account, you can get the API Key needed to publish an item. Nadat u zich met het account aanmeldt, wordt uw gebruikersnaam weergegeven aan de bovenkant van de PowerShell Gallery pagina's in plaats van het Register.After you sign in with the account, your username will be displayed at the top of the PowerShell Gallery pages instead of Register. Op uw gebruikersnaam te klikken gaat u naar de pagina Mijn Account waar u de API-sleutel vinden.Clicking on your username will take you to the My Account page, where you will find the API Key.

Opmerking: De API-sleutel moet worden behandeld als veilig als uw aanmeldingsnaam en het wachtwoord.Note: The API Key must be treated as securely as your login and password. Met deze sleutel kunt u of iemand anders, een item die in de PowerShell-galerie van jou bijwerken.With this key you, or anyone else, can update any item you own in the PowerShell Gallery. Het is raadzaam het bijwerken van de sleutel regelmatig dat kunt u doen met sleutel opnieuw instellen op de pagina Mijn Account.We recommend updating the key regularly, which can be done using Reset Key on your My Account page.

De PowerShell-galerie bevat informatie voor galerie gebruikers afkomstig van metagegevensvelden die zijn opgenomen in het script of module-manifest.The PowerShell Gallery provides information to gallery users drawn from metadata fields that are included in the script or module manifest. Heeft een kleine set vereisten voor de opgegeven in het manifest van item maken of wijzigen van de items voor publicatie naar de PowerShell-galerie.Creating or modifying items for publication to the PowerShell Gallery has a small set of requirements for information supplied in the item manifest. We raden u wordt aangeraden de sectie itemmetagegevens van de Publishing richtlijnen voor informatie over het beste informatie bieden aan gebruikers met uw items.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.

De nieuw ModuleManifest en nieuw ScriptFileInfo cmdlets de manifest-sjabloon maakt, met de tijdelijke aanduidingen voor alle elementen in het manifest.The New-ModuleManifest and New-ScriptFileInfo cmdlets will create the manifest template for you, with placeholders for all the manifest elements.

Beide manifesten hebben twee secties die belangrijk voor publicatie zijn, de primaire sleutel gegevens en PSData gebied van de primaire sleutel gegevens in een PowerShell-module-manifest PrivateData is alles buiten de PrivateData-sectie.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. De reeks primaire sleutels is gekoppeld aan de versie van PowerShell in gebruik is en niet-gedefinieerde worden niet ondersteund.The set of primary keys is tied to the version of PowerShell in use, and undefined are not supported. PrivateData ondersteunt het toevoegen van nieuwe sleutels, zodat de elementen die specifiek zijn voor de PowerShell-galerie in PSData.PrivateData supports adding new keys, so the elements specific to the PowerShell Gallery are in PSData.

Manifest elementen die zijn zeer belangrijk voor u naar de PowerShell-galerie publiceren-item invullen zijn:Manifest elements that are most important to fill in for item you publish to the PowerShell Gallery are:

  • Script of de naam van de Module - die afkomstig zijn van de namen van de. Ps1 voor een script of de. PSD1 voor een module.Script or Module Name - Those are drawn from the names of the .PS1 for a script, or the .PSD1 for a module.
  • Versie - dit is een vereiste primaire sleutel, indeling moet richtlijnen SemVer (Best Practices voor meer informatie Zie)Version - this is a required primary key, format should follow SemVer guidelines (see Best Practices for details)
  • Auteur: dit is een vereiste primaire sleutel en bevat de naam moet worden gekoppeld aan het item (auteurs en eigenaren, Zie hieronder)Author - this is a required primary key, and contains the name to be associated with the item (see Authors and Owners, below)
  • Beschrijving - dit is een vereiste primaire sleutel gebruikt een korte uitleg van dit item de betekenis en eventuele vereisten voor het gebruik ervanDescription - this is a required primary key, used to briefly explain what this item does and any requirements for using it
  • ProjectURI - dit is een veld zijn ten zeerste aanbevolen URI in PSData die een koppeling naar een Github-repo bevat- of soortgelijke locatie waar u ontwikkeling op het item doenProjectURI - 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

Auteurs en eigenaren van PowerShell-galerie-items zijn verwante concepten, maar niet altijd overeenkomen.Authors and Owners of PowerShell Gallery items are related concepts, but do not always match.
Item eigenaars zijn gebruikers met PowerShell Gallery-accounts die gemachtigd voor het onderhouden van het item.Item Owners are users with PowerShell Gallery accounts that have permission to maintain the item. Mogelijk zijn er veel eigenaren die elk item kunnen bijwerken.There may be many Owners who can update any item. De eigenaar is alleen verkrijgbaar via de PowerShell-galerie en gaat verloren als het item wordt gekopieerd van het ene systeem naar een andere.The Owner is only available from the PowerShell Gallery, and is lost if the item is copied from one system to another. Auteur is een tekenreeks die is ingebouwd in de manifest-gegevens, zodat deze altijd deel uit van het item.Author is a string that is built into the manifest data, so it is always part of the item. De aanbevelingen voor artikelen van Microsoft-producten zijn:The recommendations for items from Microsoft products are:

  • Meerdere eigenaren, met ten minste één wordt de naam van het team dat het item; produceert hebbenHave multiple owners, with at least one being the name of the team that produces the item;
  • Hebben de auteur van de naam van een bekende team (zoals Team van Azure SDK) of Microsoft Corporation.Have the Author be a well-known team name (such as Azure SDK Team), or Microsoft Corporation.

Het object vooraf validerenPre-Validate Your Item

Er zijn een paar hulpprogramma's die u uw code uitgevoerd moet voordat het publiceren van uw object naar de PowerShell-galerie:There are a few tools you need to run against your code before publishing your item to the PowerShell Gallery:

  • PowerShell-Script Analyzer, deze bevindt zich in de PowerShell-galeriePowerShell Script Analyzer, which is in the PowerShell Gallery
  • Voor modules, Test-ModuleManifest die deel uitmaakt van PowerShellFor modules, Test-ModuleManifest which is part of PowerShell
  • Voor Test-ScriptFileInfo wordt geleverd met ophalen van de PowerShell-scriptsFor scripts, Test-ScriptFileInfo which comes with PowerShell Get

PowerShell-Script Analyzer is een hulpmiddel statische code die u uw code scannen gaat zodat deze voldoet aan basic PowerShell richtlijnen voor codering.PowerShell Script Analyzer is a static code analysis tool that will scan your code to ensure it meets basic PowerShell coding guidelines. Dit hulpprogramma voorkomende en kritieke problemen in uw code wordt geïdentificeerd en regelmatig tijdens het ontwikkelen van waarmee u uw item publiceren moet worden uitgevoerd.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. PowerShell-Script Analyzer biedt een lijst met problemen die zijn geïdentificeerd als fouten, waarschuwingen en informatie.PowerShell Script Analyzer will provide list of issues identified as Errors, Warning, and Information. Alle fouten moeten worden opgelost voordat u naar de PowerShell-galerie publiceert.All errors must be addressed before you publish to the PowerShell Gallery. Waarschuwingen moeten worden beoordeeld en de meeste moet worden opgelost.Warnings need to be reviewed, and most should be addressed. PowerShell-Script Analyzer wordt uitgevoerd telkens wanneer een item wordt gepubliceerd of in de PowerShell-galerie bijgewerkt.PowerShell Script Analyzer is run every time an item is published or updated in the PowerShell Gallery. De galerie teamleden neemt contact met item eigenaren van fouten in de adressen die zijn gevonden.The Gallery Operations team will contact item owners to address errors that are found.

Als de manifest-informatie in het object kan niet worden gelezen door de infrastructuur van de PowerShell-galerie, is het niet mogelijk om te publiceren.If the manifest information in your item cannot be read by the PowerShell Gallery infrastructure, you will not be able to publish. Test ModuleManifest veelvoorkomende problemen waardoor de module niet worden gebruikt tijdens de installatie wordt onderschept.Test-ModuleManifest will catch common problems that would cause the module to not be usable when it is installed. Het moet worden uitgevoerd voor elke module voorafgaand aan publicatie naar de PowerShell-galerie.It must be run for every module prior to publishing it to the PowerShell Gallery.

Evenzo Test ScriptFileInfo valideert de metagegevens in een script en moet worden uitgevoerd op elk script (gepubliceerde afzonderlijke vanuit een module) voor publicatie naar de Powershell-galerie.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.

Publishing ItemsPublishing Items

Moet u de publiceren Script of publiceren-Module items publiceren naar de PowerShell-galerie.You must use the Publish-Script or Publish-Module to publish items to the PowerShell Gallery. Deze opdrachten vereisenThese commands both require

  • Het pad naar het item dat u wilt publiceren.The path to the item you will publish. Gebruik de map met de naam van de module voor een module.For a module, use the folder named for your module. Als u een map met meerdere versies van dezelfde module opgeeft, moet u RequiredVersion opgeven.If you specify a folder that contains multiple versions of the same module, you must specify RequiredVersion.
  • Een Nuget-API-sleutel.A Nuget API key. Dit is de API-sleutel gevonden op de pagina Mijn Account op de PowerShell-galerie.This is the API key found in the My Account page on the PowerShell Gallery.

De meeste andere opties op de opdrachtregel moet in de manifest-gegevens voor het item dat u publiceren wilt, dus u niet hoeft te geven in de opdracht.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.

Om fouten te voorkomen, is het raadzaam dat u probeert de opdrachten met - Whatif-Verbose, voordat u publiceert.To avoid errors, it is strongly recommended that you try the commands using -Whatif -Verbose, before publishing. Dit bespaart veel tijd sinds telkens wanneer u publiceren naar de PowerShell-galerie, moet u het versienummer in de manifest-sectie van het item bijwerken.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.

Voorbeelden zijn: ' Publish-Module-pad '. \MyModule ' - RequiredVersion '0.0.1' - NugetAPIKey 'GUID' - Whatif-uitgebreide ' ' publiceren Script-pad '.\MyScriptFile.PS1' - NugetAPIKey 'GUID' - Whatif-uitgebreide 'Examples would be: 'Publish-Module -Path ".\MyModule" -RequiredVersion "0.0.1" -NugetAPIKey "GUID" -Whatif -Verbose' 'Publish-Script -Path ".\MyScriptFile.PS1" -NugetAPIKey "GUID" -Whatif -Verbose'

De uitvoer zorgvuldig te controleren en als er geen fouten of waarschuwingen, herhaalt u de opdracht zonder - Whatif.Review the output carefully, and if you see no errors or warnings, repeat the command without -Whatif.

Alle items die worden gepubliceerd naar de PowerShell-galerie worden gescand op virussen en worden geanalyseerd met behulp van de PowerShell-Script Analyzer.All items that are published to the PowerShell Gallery will be scanned for viruses, and will be analyzed using the PowerShell Script Analyzer. Eventuele problemen die ontstaan op dat moment terug naar de publisher verzonden voor naamomzetting.Any issues that arise at that time will be sent back to the publisher for resolution.

Wanneer u een item hebt gepubliceerd naar de PowerShell-galerie, moet u kijken voor feedback over uw item.Once you have published an item to the PowerShell Gallery, you will need to watch for feedback on your item.

  • Zorg ervoor dat u het e-mailadres dat is gekoppeld aan het account dat wordt gebruikt voor het publiceren van bewaken.Ensure you monitor the email address associated with the account used to publish. Gebruikers en het PowerShell-galerie operationele team wordt feedback geven via dat account, inclusief problemen van de PSSA of antivirusprogramma scans.Users, and the PowerShell Gallery Operations team will provide feedback via that account, including issues from the PSSA or antivirus scans. Als het e-mailaccount ongeldig is, of als ernstige problemen worden gerapporteerd aan het account en links niet gedurende langere tijd wordt opgelost, items kunnen worden overwogen afgebroken en wordt verwijderd van de PowerShell Gallery zoals beschreven in onze gebruiksvoorwaarden.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.
  • U wordt aangeraden dat u zich abonneert op opmerkingen voor elk PowerShell-galerie-item dat u publiceert.We recommend you subscribe to Comments for each PowerShell Gallery item you publish. Hiermee kunt u een melding als iedereen opmerkingen toe te op de items in de PowerShell-galerie voegen.This allows you to be notified if anyone comments on your items in the PowerShell Gallery. Dit is optioneel, omdat hiervoor een account met LiveFyre maken.This is optional, as it requires creating an account with LiveFyre.