about_Comment_Based_Help
Korte beschrijving
Hierin wordt beschreven hoe u help-onderwerpen op basis van opmerkingen schrijft voor functies en scripts.
Lange beschrijving
U kunt helponderwerpen op basis van opmerkingen schrijven voor functies en scripts met speciale trefwoorden voor help-opmerkingen.
De Cmdlet Get-Help geeft hulp op basis van opmerkingen weer in dezelfde indeling waarin de Help-onderwerpen voor cmdlets worden weergegeven die zijn gegenereerd op basis van XML-bestanden. Gebruikers kunnen alle parameters van Get-Help
, zoals Gedetailleerd, Volledig, Voorbeelden en Online, gebruiken om de inhoud van hulp op basis van opmerkingen weer te geven.
U kunt ook OP XML gebaseerde Help-bestanden schrijven voor functies en scripts. Gebruik het .ExternalHelp
trefwoord om de Get-Help
cmdlet in te schakelen om het XML-helpbestand voor een functie of script te vinden. Zonder dit trefwoord kunt Get-Help
u geen op XML gebaseerde Help-onderwerpen vinden voor functies of scripts.
In dit onderwerp wordt uitgelegd hoe u Help-onderwerpen schrijft voor functies en scripts. Zie Get-Help voor informatie over het weergeven van Help-onderwerpen voor functies en scripts.
De cmdlets Update-Help en Save-Help werken alleen voor XML-bestanden. Help-informatie die kan worden bijgewerkt, biedt geen ondersteuning voor help-onderwerpen op basis van opmerkingen.
Syntaxis voor hulp op basis van opmerkingen
De syntaxis voor hulp op basis van opmerkingen is als volgt:
# .<help keyword>
# <help content>
or
<#
.<help keyword>
<help content>
#>
Hulp op basis van opmerkingen wordt geschreven als een reeks opmerkingen. U kunt een opmerkingsymbool #
typen vóór elke regel met opmerkingen, of u kunt de <#
en #>
symbolen gebruiken om een opmerkingenblok te maken. Alle regels in het opmerkingenblok worden geïnterpreteerd als opmerkingen.
Alle regels in een Help-onderwerp op basis van opmerkingen moeten aaneengesloten zijn. Als een hulponderwerp op basis van opmerkingen een opmerking volgt die geen deel uitmaakt van het Help-onderwerp, moet er ten minste één lege regel tussen de laatste regel voor niet-help-opmerkingen en het begin van de hulp op basis van opmerkingen staan.
Trefwoorden definiëren elke sectie met hulp op basis van opmerkingen. Elk help-trefwoord op basis van opmerkingen wordt voorafgegaan door een punt .
. De trefwoorden kunnen in elke volgorde worden weergegeven. De namen van trefwoorden zijn niet hoofdlettergevoelig.
Het trefwoord gaat bijvoorbeeld .Description
vooraf aan een beschrijving van een functie of script.
<#
.Description
Get-Function displays the name and syntax of all functions in the session.
#>
Het opmerkingenblok moet ten minste één trefwoord bevatten. Sommige trefwoorden, zoals .EXAMPLE
, kunnen vaak worden weergegeven in hetzelfde opmerkingenblok. De Help-inhoud voor elk trefwoord begint op de regel na het trefwoord en kan meerdere regels omvatten.
Syntaxis voor hulp op basis van opmerkingen in functies
Hulp op basis van opmerkingen voor een functie kan worden weergegeven op een van de drie locaties:
- Aan het begin van de hoofdtekst van de functie.
- Aan het einde van de hoofdtekst van de functie.
- Voor het
function
trefwoord. Er mag niet meer dan één lege regel zijn tussen de laatste regel van de functiehulp en hetfunction
trefwoord.
Voorbeeld:
function Get-Function
{
<#
.<help keyword>
<help content>
#>
# function logic
}
or
function Get-Function
{
# function logic
<#
.<help keyword>
<help content>
#>
}
or
<#
.<help keyword>
<help content>
#>
function Get-Function { }
Syntaxis voor hulp op basis van opmerkingen in scripts
Hulp op basis van opmerkingen voor een script kan worden weergegeven op een van de volgende twee locaties in het script.
Aan het begin van het scriptbestand. Scripthulp kan alleen worden voorafgegaan door opmerkingen en lege regels in het script.
Als het eerste item in de scripttekst (na de help) een functiedeclaratie is, moet er ten minste twee lege regels zijn tussen het einde van de scripthulp en de functiedeclaratie. Anders wordt de help geïnterpreteerd als help voor de functie, niet als hulp voor het script.
Aan het einde van het scriptbestand. Als het script echter is ondertekend, plaatst u hulp op basis van opmerkingen aan het begin van het scriptbestand. Het einde van het script wordt bezet door het handtekeningblok.
Voorbeeld:
<#
.<help keyword>
<help content>
#>
function Get-Function { }
or
function Get-Function { }
<#
.<help keyword>
<help content>
#>
Syntaxis voor hulp op basis van opmerkingen in scriptmodules
In een scriptmodule .psm1
gebruikt hulp op basis van opmerkingen de syntaxis voor functies, niet de syntaxis voor scripts. U kunt de syntaxis van het script niet gebruiken om hulp te bieden voor alle functies die zijn gedefinieerd in een scriptmodule.
Als u bijvoorbeeld het .ExternalHelp
trefwoord gebruikt om de XML-helpbestanden voor de functies in een scriptmodule te identificeren, moet u een .ExternalHelp
opmerking toevoegen aan elke functie.
# .ExternalHelp <XML-file-name>
function <function-name>
{
...
}
Help-trefwoorden op basis van opmerkingen
Hier volgen geldige Help-trefwoorden op basis van opmerkingen. Ze worden weergegeven in de volgorde waarin ze meestal worden weergegeven in een Help-onderwerp, samen met het beoogde gebruik. Deze trefwoorden kunnen in elke volgorde worden weergegeven in de help op basis van opmerkingen en ze zijn niet hoofdlettergevoelig.
.SYNOPSIS
Een korte beschrijving van de functie of het script. Dit trefwoord kan slechts eenmaal in elk onderwerp worden gebruikt.
.DESCRIPTION
Een gedetailleerde beschrijving van de functie of het script. Dit trefwoord kan slechts eenmaal in elk onderwerp worden gebruikt.
.PARAMETER
De beschrijving van een parameter. Voeg een .PARAMETER
trefwoord toe voor elke parameter in de syntaxis van de functie of het script.
Typ de parameternaam op dezelfde regel als het .PARAMETER
trefwoord. Typ de parameterbeschrijving op de regels na het .PARAMETER
trefwoord. Windows PowerShell interpreteert alle tekst tussen de .PARAMETER
regel en het volgende trefwoord of het einde van het opmerkingenblok als onderdeel van de parameterbeschrijving.
De beschrijving kan alinea-einden bevatten.
.PARAMETER <Parameter-Name>
De parametertrefwoorden kunnen in elke volgorde in het opmerkingenblok worden weergegeven, maar de syntaxis van de functie of het script bepaalt de volgorde waarin de parameters (en de bijbehorende beschrijvingen) worden weergegeven in het Help-onderwerp. Als u de volgorde wilt wijzigen, wijzigt u de syntaxis.
U kunt ook een parameterbeschrijving opgeven door een opmerking in de functie of scriptsyntaxis te plaatsen direct vóór de naam van de parametervariabele. Dit werkt alleen als u een opmerkingenblok met ten minste één trefwoord hebt.
Als u zowel een syntaxiscommentatie als een .PARAMETER
trefwoord gebruikt, wordt de beschrijving gebruikt die aan het .PARAMETER
trefwoord is gekoppeld en wordt de opmerking over de syntaxis genegeerd.
<#
.SYNOPSIS
Short description here
#>
function Verb-Noun {
[CmdletBinding()]
param (
# This is the same as .Parameter
[string]$Computername
)
# Verb the Noun on the computer
}
.EXAMPLE
Een voorbeeldopdracht die gebruikmaakt van de functie of het script, eventueel gevolgd door voorbeelduitvoer en een beschrijving. Herhaal dit trefwoord voor elk voorbeeld.
.INPUTS
De .NET-typen objecten die kunnen worden doorgesluisd naar de functie of het script. U kunt ook een beschrijving van de invoerobjecten opnemen.
.OUTPUTS
Het .NET-type van de objecten die door de cmdlet worden geretourneerd. U kunt ook een beschrijving van de geretourneerde objecten opnemen.
.NOTES
Aanvullende informatie over de functie of het script.
.LINK
De naam van een gerelateerd onderwerp. De waarde wordt weergegeven op de regel onder het trefwoord '.LINK' en moet worden voorafgegaan door een opmerkingsymbool #
of opgenomen in het opmerkingenblok.
Herhaal het .LINK
trefwoord voor elk gerelateerd onderwerp.
Deze inhoud wordt weergegeven in de sectie Verwante koppelingen van het Help-onderwerp.
De .Link
trefwoordinhoud kan ook een URI (Uniform Resource Identifier) bevatten naar een onlineversie van hetzelfde Help-onderwerp. De onlineversie wordt geopend wanneer u de onlineparameter van Get-Help
. De URI moet beginnen met http of https.
.COMPONENT
De naam van de technologie of functie die door de functie of het script wordt gebruikt of waaraan deze is gerelateerd. De parameter Component gebruikt Get-Help
deze waarde om de zoekresultaten te filteren die worden geretourneerd door Get-Help
.
.ROLE
De naam van de gebruikersrol voor het Help-onderwerp. De parameter Role van Get-Help
deze waarde gebruikt om de zoekresultaten te filteren die worden geretourneerd door Get-Help
.
.FUNCTIONALITY
De trefwoorden die het beoogde gebruik van de functie beschrijven. De parameter Functionaliteit van Get-Help
deze waarde wordt gebruikt om de zoekresultaten te filteren die worden geretourneerd door Get-Help
.
.FORWARDHELPTARGETNAME
Wordt omgeleid naar het Help-onderwerp voor de opgegeven opdracht. U kunt gebruikers omleiden naar elk Help-onderwerp, inclusief Help-onderwerpen voor een functie, script, cmdlet of provider.
# .FORWARDHELPTARGETNAME <Command-Name>
.FORWARDHELPCATEGORY
Hiermee geeft u de Help-categorie van het item in .ForwardHelpTargetName
. Geldige waarden zijnAlias
, , Cmdlet
, HelpFile
, Function
, Provider
, General
, FAQ
, , Glossary
, ScriptCommand
, , ExternalScript
of Filter
All
. Gebruik dit trefwoord om conflicten te voorkomen wanneer er opdrachten met dezelfde naam zijn.
# .FORWARDHELPCATEGORY <Category>
.REMOTEHELPRUNSPACE
Hiermee geeft u een sessie op die het Help-onderwerp bevat. Voer een variabele in die een PSSession-object bevat. Dit trefwoord wordt gebruikt door de cmdlet Export-PSSession om de Help-onderwerpen voor de geëxporteerde opdrachten te vinden.
# .REMOTEHELPRUNSPACE <PSSession-variable>
.EXTERNALHELP
Hiermee geeft u een XML-helpbestand voor het script of de functie.
# .EXTERNALHELP <XML Help File>
Het .ExternalHelp
trefwoord is vereist wanneer een functie of script wordt gedocumenteerd in XML-bestanden. Zonder dit trefwoord kunt Get-Help
u het XML-helpbestand voor de functie of het script niet vinden.
Het .ExternalHelp
trefwoord heeft voorrang op andere help-trefwoorden op basis van opmerkingen. Als .ExternalHelp
deze aanwezig is, Get-Help
wordt geen hulp op basis van opmerkingen weergegeven, zelfs niet als er geen Help-onderwerp kan worden gevonden dat overeenkomt met de waarde van het .ExternalHelp
trefwoord.
Als de functie door een module wordt geëxporteerd, stelt u de waarde van het .ExternalHelp
trefwoord in op een bestandsnaam zonder pad. Get-Help
zoekt naar de opgegeven bestandsnaam in een taalspecifieke submap van de modulemap. Er zijn geen vereisten voor de naam van het XML-helpbestand voor een functie, maar u kunt het beste de volgende indeling gebruiken:
<ScriptModule.psm1>-help.xml
Als de functie niet is opgenomen in een module, neemt u een pad op naar het HELP-bestand op basis van XML. Als de waarde een pad bevat en het pad UI-cultuurspecifieke submappen bevat, Get-Help
doorzoekt u de submappen recursief naar een XML-bestand met de naam van het script of de functie in overeenstemming met de taalvalstandaarden die zijn ingesteld voor Windows, net zoals in een modulemap.
Zie Help voor cmdlets schrijven voor meer informatie over de Help-indeling op basis van XML-help voor cmdlets.
Automatisch gegenereerde inhoud
De naam, syntaxis, parameterlijst, parameterkenmerktabel, algemene parameters en opmerkingen worden automatisch gegenereerd door de Get-Help
cmdlet.
Naam
De sectie Naam van een Help-onderwerp van een functie wordt overgenomen uit de functienaam in de syntaxis van de functie. De naam van een Help-onderwerp voor scripts wordt opgehaald uit de bestandsnaam van het script. Als u de naam of hoofdlettergebruik wilt wijzigen, wijzigt u de syntaxis van de functie of de bestandsnaam van het script.
Syntaxis
De sectie Syntaxis van het Help-onderwerp wordt gegenereerd op basis van de functie- of scriptsyntaxis. Als u details wilt toevoegen aan de syntaxis van het Help-onderwerp, zoals het .NET-type van een parameter, voegt u de details toe aan de syntaxis. Als u geen parametertype opgeeft, wordt het objecttype ingevoegd als de standaardwaarde.
Parameterlijst
De lijst met parameters in het Help-onderwerp wordt gegenereerd op basis van de syntaxis van de functie of het script en van de beschrijvingen die u toevoegt met behulp van het .Parameter
trefwoord. De functieparameters worden weergegeven in de sectie Parameters van het Help-onderwerp in dezelfde volgorde als in de functie- of scriptsyntaxis. De spelling en het hoofdlettergebruik van parameternamen worden ook uit de syntaxis gehaald. Dit wordt niet beïnvloed door de parameternaam die is opgegeven door het .Parameter
trefwoord.
Algemene parameters
De algemene parameters worden toegevoegd aan de syntaxis en parameterlijst van het Help-onderwerp, zelfs als ze geen effect hebben. Zie about_CommonParameters voor meer informatie over de algemene parameters.
Parameterkenmerktabel
Get-Help
genereert de tabel met parameterkenmerken die worden weergegeven wanneer u de parameter Volledig of Parameter van Get-Help
. De waarde van de kenmerken Vereist, Positie en Standaardwaarde wordt opgehaald uit de syntaxis van de functie of het script.
Standaardwaarden en een waarde voor Jokertekens accepteren worden niet weergegeven in de parameterkenmerktabel, zelfs niet wanneer ze zijn gedefinieerd in de functie of het script. Geef deze informatie op in de parameterbeschrijving om gebruikers te helpen.
Opmerkingen
De sectie Opmerkingen van het Help-onderwerp wordt automatisch gegenereerd op basis van de functie- of scriptnaam. U kunt de inhoud ervan niet wijzigen of beïnvloeden.
Voorbeelden
Help op basis van opmerkingen voor een functie
De volgende voorbeeldfunctie bevat hulp op basis van opmerkingen:
function Add-Extension
{
param ([string]$Name,[string]$Extension = "txt")
$name = $name + "." + $extension
$name
<#
.SYNOPSIS
Adds a file name extension to a supplied name.
.DESCRIPTION
Adds a file name extension to a supplied name.
Takes any strings for the file name or extension.
.PARAMETER Name
Specifies the file name.
.PARAMETER Extension
Specifies the extension. "Txt" is the default.
.INPUTS
None. You cannot pipe objects to Add-Extension.
.OUTPUTS
System.String. Add-Extension returns a string with the extension
or file name.
.EXAMPLE
PS> extension -name "File"
File.txt
.EXAMPLE
PS> extension -name "File" -extension "doc"
File.doc
.EXAMPLE
PS> extension "File" "doc"
File.doc
.LINK
http://www.fabrikam.com/extension.html
.LINK
Set-Item
#>
}
De resultaten zijn als volgt:
Get-Help -Name "Add-Extension" -Full
NAME
Add-Extension
SYNOPSIS
Adds a file name extension to a supplied name.
SYNTAX
Add-Extension [[-Name] <String>] [[-Extension] <String>]
[<CommonParameters>]
DESCRIPTION
Adds a file name extension to a supplied name. Takes any strings for the
file name or extension.
PARAMETERS
-Name
Specifies the file name.
Required? false
Position? 0
Default value
Accept pipeline input? false
Accept wildcard characters?
-Extension
Specifies the extension. "Txt" is the default.
Required? false
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters?
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug,
-ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable,
-OutBuffer and -OutVariable. For more information, type
"get-help about_commonparameters".
INPUTS
None. You cannot pipe objects to Add-Extension.
OUTPUTS
System.String. Add-Extension returns a string with the extension or
file name.
Example 1
PS> extension -name "File"
File.txt
Example 2
PS> extension -name "File" -extension "doc"
File.doc
Example 3
PS> extension "File" "doc"
File.doc
RELATED LINKS
http://www.fabrikam.com/extension.html
Set-Item
Parameterbeschrijvingen in functiesyntaxis
Dit voorbeeld is hetzelfde als de vorige, behalve dat de parameterbeschrijvingen worden ingevoegd in de syntaxis van de functie. Deze indeling is het handigst wanneer de beschrijvingen kort zijn.
function Add-Extension
{
param
(
[string]
#Specifies the file name.
$name,
[string]
#Specifies the file name extension. "Txt" is the default.
$extension = "txt"
)
$name = $name + "." + $extension
$name
<#
.SYNOPSIS
Adds a file name extension to a supplied name.
.DESCRIPTION
Adds a file name extension to a supplied name. Takes any strings for the
file name or extension.
.INPUTS
None. You cannot pipe objects to Add-Extension.
.OUTPUTS
System.String. Add-Extension returns a string with the extension or
file name.
.EXAMPLE
PS> extension -name "File"
File.txt
.EXAMPLE
PS> extension -name "File" -extension "doc"
File.doc
.EXAMPLE
PS> extension "File" "doc"
File.doc
.LINK
http://www.fabrikam.com/extension.html
.LINK
Set-Item
#>
}
Help op basis van opmerkingen voor een script
Het volgende voorbeeldscript bevat hulp op basis van opmerkingen. Let op de lege regels tussen de afsluiting #>
en de Param
instructie. In een script dat geen instructie heeft Param
, moeten er ten minste twee lege regels zijn tussen de laatste opmerking in het Help-onderwerp en de eerste functiedeclaratie. Zonder deze lege regels koppelt Get-Help
u het Help-onderwerp aan de functie, niet aan het script.
<#
.SYNOPSIS
Performs monthly data updates.
.DESCRIPTION
The Update-Month.ps1 script updates the registry with new data generated
during the past month and generates a report.
.PARAMETER InputPath
Specifies the path to the CSV-based input file.
.PARAMETER OutputPath
Specifies the name and path for the CSV-based output file. By default,
MonthlyUpdates.ps1 generates a name from the date and time it runs, and
saves the output in the local directory.
.INPUTS
None. You cannot pipe objects to Update-Month.ps1.
.OUTPUTS
None. Update-Month.ps1 does not generate any output.
.EXAMPLE
PS> .\Update-Month.ps1
.EXAMPLE
PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv
.EXAMPLE
PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv -outputPath `
C:\Reports\2009\January.csv
#>
param ([string]$InputPath, [string]$OutPutPath)
function Get-Data { }
...
Met de volgende opdracht krijgt u de help van het script. Omdat het script zich niet in een map bevindt die wordt vermeld in de $env:Path
omgevingsvariabele, moet de Get-Help
opdracht die de scripthulp ontvangt, het scriptpad opgeven.
Get-Help -Name .\update-month.ps1 -Full
# NAME
C:\ps-test\Update-Month.ps1
# SYNOPSIS
Performs monthly data updates.
# SYNTAX
C:\ps-test\Update-Month.ps1 [-InputPath] <String> [[-OutputPath]
<String>] [<CommonParameters>]
# DESCRIPTION
The Update-Month.ps1 script updates the registry with new data
generated during the past month and generates a report.
# PARAMETERS
-InputPath
Specifies the path to the CSV-based input file.
Required? true
Position? 0
Default value
Accept pipeline input? false
Accept wildcard characters?
-OutputPath
Specifies the name and path for the CSV-based output file. By
default, MonthlyUpdates.ps1 generates a name from the date
and time it runs, and saves the output in the local directory.
Required? false
Position? 1
Default value
Accept pipeline input? false
Accept wildcard characters?
<CommonParameters>
This cmdlet supports the common parameters: -Verbose, -Debug,
-ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable,
-OutBuffer and -OutVariable. For more information, type,
"get-help about_commonparameters".
# INPUTS
None. You cannot pipe objects to Update-Month.ps1.
# OUTPUTS
None. Update-Month.ps1 does not generate any output.
Example 1
PS> .\Update-Month.ps1
Example 2
PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv
Example 3
PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv -outputPath
C:\Reports\2009\January.csv
# RELATED LINKS
Omleiden naar een XML-bestand
U kunt helponderwerpen op basis van XML schrijven voor functies en scripts. Hoewel hulp op basis van opmerkingen gemakkelijker te implementeren is, is XML-hulp vereist voor Help-informatie die kan worden bijgewerkt en om Help-onderwerpen in meerdere talen te bieden.
In het volgende voorbeeld ziet u de eerste paar regels van het script Update-Month.ps1.
Het script gebruikt het .ExternalHelp
trefwoord om het pad naar een OP XML gebaseerd Help-onderwerp voor het script op te geven.
De waarde van het .ExternalHelp
trefwoord wordt weergegeven op dezelfde regel als het trefwoord. Elke andere plaatsing is ineffectief.
# .ExternalHelp C:\MyScripts\Update-Month-Help.xml
param ([string]$InputPath, [string]$OutPutPath)
function Get-Data { }
...
In de volgende voorbeelden ziet u drie geldige plaatsingen van het .ExternalHelp
trefwoord in een functie.
function Add-Extension
{
# .ExternalHelp C:\ps-test\Add-Extension.xml
param ([string] $name, [string]$extension = "txt")
$name = $name + "." + $extension
$name
}
function Add-Extension
{
param ([string] $name, [string]$extension = "txt")
$name = $name + "." + $extension
$name
# .ExternalHelp C:\ps-test\Add-Extension.xml
}
# .ExternalHelp C:\ps-test\Add-Extension.xml
function Add-Extension
{
param ([string] $name, [string]$extension = "txt")
$name = $name + "." + $extension
$name
}
Omleiden naar een ander Help-onderwerp
De volgende code is een fragment van het begin van de ingebouwde Help-functie in PowerShell, waarin één scherm met Help-tekst tegelijk wordt weergegeven.
Omdat het Help-onderwerp voor de Get-Help
cmdlet de Help-functie beschrijft, gebruikt de Help-functie de .ForwardHelpTargetName
en .ForwardHelpCategory
trefwoorden om de gebruiker om te leiden naar het Help-onderwerp voor cmdlets Get-Help
.
function help
{
<#
.FORWARDHELPTARGETNAME Get-Help
.FORWARDHELPCATEGORY Cmdlet
#>
[CmdletBinding(DefaultParameterSetName='AllUsersView')]
param(
[Parameter(Position=0, ValueFromPipelineByPropertyName=$true)]
[System.String]
${Name},
...
De volgende opdracht maakt gebruik van deze functie:
Get-Help -Name help
NAME
Get-Help
SYNOPSIS
Displays information about PowerShell cmdlets and concepts.
...