about_Comment_Based_Help
Krótki opis
Opisuje sposób pisania tematów pomocy opartych na komentarzach dotyczących funkcji i skryptów.
Długi opis
Możesz pisać tematy pomocy opartej na komentarzach dla funkcji i skryptów, używając specjalnych słów kluczowych komentarza pomocy.
Polecenie cmdlet Get-Help wyświetla pomoc opartą na komentarzach w tym samym formacie, w którym wyświetla tematy pomocy polecenia cmdlet generowane na podstawie plików XML. Użytkownicy mogą używać wszystkich parametrów , Get-Help
takich jak Szczegółowe, Pełne, Przykłady i Online, aby wyświetlić zawartość pomocy opartej na komentarzach.
Możesz również pisać pliki pomocy opartej na formacie XML dla funkcji i skryptów. Aby włączyć Get-Help
polecenie cmdlet w celu znalezienia pliku pomocy opartej na formacie XML dla funkcji lub skryptu, użyj słowa kluczowego .ExternalHelp
. Bez tego słowa kluczowego Get-Help
nie można znaleźć tematów pomocy opartych na języku XML dla funkcji lub skryptów.
W tym temacie opisano sposób pisania tematów pomocy dotyczących funkcji i skryptów. Aby uzyskać informacje na temat wyświetlania tematów pomocy dotyczących funkcji i skryptów, zobacz Get-Help (Uzyskiwanie pomocy).
Polecenia cmdlet Update-Help i Save-Help działają tylko na plikach XML. Pomoc aktualizowalna nie obsługuje tematów pomocy opartych na komentarzach.
Składnia pomocy opartej na komentarzach
Składnia pomocy opartej na komentarzach jest następująca:
# .<help keyword>
# <help content>
lub
<#
.<help keyword>
<help content>
#>
Pomoc oparta na komentarzach jest napisana jako seria komentarzy. Możesz wpisać symbol #
komentarza przed każdym wierszem komentarzy lub użyć <#
symboli i #>
do utworzenia bloku komentarzy. Wszystkie wiersze w bloku komentarza są interpretowane jako komentarze.
Wszystkie wiersze w temacie pomocy opartej na komentarzach muszą być ciągłe. Jeśli temat pomocy oparty na komentarzach jest zgodny z komentarzem, który nie jest częścią tematu pomocy, musi istnieć co najmniej jeden pusty wiersz między ostatnim wierszem komentarza bez pomocy a początkiem pomocy opartej na komentarzach.
Słowa kluczowe definiują każdą sekcję pomocy opartej na komentarzach. Każde słowo kluczowe pomocy opartej na komentarzach jest poprzedzone kropką .
. Słowa kluczowe mogą być wyświetlane w dowolnej kolejności. Nazwy słów kluczowych nie są uwzględniane w wielkości liter.
Na przykład .Description
słowo kluczowe poprzedza opis funkcji lub skryptu.
<#
.Description
Get-Function displays the name and syntax of all functions in the session.
#>
Blok komentarza musi zawierać co najmniej jedno słowo kluczowe. Niektóre słowa kluczowe, takie jak .EXAMPLE
, mogą pojawiać się wiele razy w tym samym bloku komentarzy. Zawartość pomocy dla każdego słowa kluczowego rozpoczyna się w wierszu po słowie kluczowym i może obejmować wiele wierszy.
Składnia pomocy opartej na komentarzach w funkcjach
Pomoc oparta na komentarzach dla funkcji może pojawić się w jednej z trzech lokalizacji:
- Na początku treści funkcji.
- Na końcu treści funkcji.
function
Przed słowem kluczowym. Nie może istnieć więcej niż jeden pusty wiersz między ostatnim wierszem pomocy funkcji afunction
słowem kluczowym.
Na przykład:
function Get-Function
{
<#
.<help keyword>
<help content>
#>
# function logic
}
lub
function Get-Function
{
# function logic
<#
.<help keyword>
<help content>
#>
}
lub
<#
.<help keyword>
<help content>
#>
function Get-Function { }
Składnia pomocy opartej na komentarzach w skryptach
Pomoc oparta na komentarzach dla skryptu może pojawić się w jednej z następujących dwóch lokalizacji w skrycie.
Na początku pliku skryptu. Pomoc skryptu może być poprzedzona tylko komentarzami i pustymi wierszami.
Jeśli pierwszy element w treści skryptu (po pomocy) jest deklaracją funkcji, musi istnieć co najmniej dwa puste wiersze między końcem pomocy skryptu a deklaracją funkcji. W przeciwnym razie pomoc jest interpretowana jako pomoc dla funkcji, a nie pomoc dla skryptu.
Na końcu pliku skryptu. Jeśli jednak skrypt jest podpisany, umieść pomoc opartą na komentarzach na początku pliku skryptu. Koniec skryptu jest zajmowany przez blok podpisu.
Na przykład:
<#
.<help keyword>
<help content>
#>
function Get-Function { }
lub
function Get-Function { }
<#
.<help keyword>
<help content>
#>
Składnia pomocy opartej na komentarzach w modułach skryptów
W module .psm1
skryptu pomoc oparta na komentarzach używa składni dla funkcji, a nie składni skryptów. Nie można użyć składni skryptu, aby zapewnić pomoc dla wszystkich funkcji zdefiniowanych w module skryptu.
Jeśli na przykład używasz słowa kluczowego .ExternalHelp
do identyfikowania plików pomocy opartych na języku XML dla funkcji w module skryptu, musisz dodać .ExternalHelp
komentarz do każdej funkcji.
# .ExternalHelp <XML-file-name>
function <function-name>
{
...
}
Słowa kluczowe pomocy oparte na komentarzach
Poniżej przedstawiono prawidłowe słowa kluczowe pomocy oparte na komentarzach. Są one wymienione w kolejności, w której zazwyczaj pojawiają się w temacie pomocy wraz z ich zamierzonym użyciem. Te słowa kluczowe mogą pojawiać się w dowolnej kolejności w pomocy opartej na komentarzach i nie są uwzględniane wielkości liter.
.SYNOPSIS
Krótki opis funkcji lub skryptu. To słowo kluczowe może być używane tylko raz w każdym temacie.
.DESCRIPTION
Szczegółowy opis funkcji lub skryptu. To słowo kluczowe może być używane tylko raz w każdym temacie.
.PARAMETER
Opis parametru. .PARAMETER
Dodaj słowo kluczowe dla każdego parametru w funkcji lub składni skryptu.
Wpisz nazwę parametru w tym samym wierszu co .PARAMETER
słowo kluczowe. Wpisz opis parametru w wierszach po słowie .PARAMETER
kluczowym. Program Windows PowerShell interpretuje cały tekst między wierszem .PARAMETER
a następnym słowem kluczowym lub końcem bloku komentarzy w ramach opisu parametru.
Opis może zawierać podziały akapitów.
.PARAMETER <Parameter-Name>
Słowa kluczowe parametru mogą być wyświetlane w dowolnej kolejności w bloku komentarza, ale składnia funkcji lub skryptu określa kolejność, w jakiej parametry (i ich opisy) pojawiają się w temacie pomocy. Aby zmienić kolejność, zmień składnię.
Można również określić opis parametru, umieszczając komentarz w funkcji lub składni skryptu bezpośrednio przed nazwą zmiennej parametru. Aby to działało, musisz również mieć blok komentarzy z co najmniej jednym słowem kluczowym.
Jeśli używasz zarówno komentarza składni, jak i .PARAMETER
słowa kluczowego, używany jest opis skojarzony ze .PARAMETER
słowem kluczowym, a komentarz składniowy jest ignorowany.
<#
.SYNOPSIS
Short description here
#>
function Verb-Noun {
[CmdletBinding()]
param (
# This is the same as .Parameter
[string]$Computername
)
# Verb the Noun on the computer
}
.EXAMPLE
Przykładowe polecenie, które używa funkcji lub skryptu, opcjonalnie, a następnie przykładowe dane wyjściowe i opis. Powtórz to słowo kluczowe dla każdego przykładu.
.INPUTS
Typy obiektów platformy .NET, które mogą być przesyłane potokami do funkcji lub skryptu. Można również dołączyć opis obiektów wejściowych.
.OUTPUTS
Typ platformy .NET obiektów zwracanych przez polecenie cmdlet. Można również dołączyć opis zwracanych obiektów.
.NOTES
Dodatkowe informacje na temat funkcji lub skryptu.
.LINK
Nazwa powiązanego tematu. Wartość jest wyświetlana w wierszu poniżej słowa kluczowego ".LINK" i musi być poprzedzona symbolem #
komentarza lub uwzględniona w bloku komentarzy.
Powtórz słowo kluczowe dla każdego powiązanego .LINK
tematu.
Ta zawartość jest wyświetlana w sekcji Powiązane linki w temacie pomocy.
Zawartość .Link
słowa kluczowego może również zawierać identyfikator URI (Uniform Resource Identifier) do wersji online tego samego tematu pomocy. Wersja online zostanie otwarta po użyciu parametru Online .Get-Help
Identyfikator URI musi zaczynać się od "http" lub "https".
.COMPONENT
Nazwa technologii lub funkcji używanej przez funkcję lub skrypt albo powiązana z nią funkcja. Parametr Component parametru używa tej wartości do filtrowania Get-Help
wyników wyszukiwania zwróconych przez Get-Help
.
.ROLE
Nazwa roli użytkownika dla tematu pomocy. Parametr Rola używa tej wartości do filtrowania Get-Help
wyników wyszukiwania zwróconych przez Get-Help
.
.FUNCTIONALITY
Słowa kluczowe opisujące zamierzone użycie funkcji. Parametr Get-Help
Funkcjonalności używa tej wartości do filtrowania wyników wyszukiwania zwróconych przez Get-Help
.
.FORWARDHELPTARGETNAME
Przekierowuje do tematu pomocy dla określonego polecenia. Możesz przekierować użytkowników do dowolnego tematu pomocy, w tym tematów pomocy dotyczących funkcji, skryptu, polecenia cmdlet lub dostawcy.
# .FORWARDHELPTARGETNAME <Command-Name>
.FORWARDHELPCATEGORY
Określa kategorię pomocy elementu w elemencie .ForwardHelpTargetName
. Prawidłowe wartości to Alias
, Cmdlet
Function
General
FAQ
Provider
HelpFile
ScriptCommand
ExternalScript
Glossary
Filter
lub .All
Użyj tego słowa kluczowego, aby uniknąć konfliktów, gdy istnieją polecenia o tej samej nazwie.
# .FORWARDHELPCATEGORY <Category>
.REMOTEHELPRUNSPACE
Określa sesję zawierającą temat pomocy. Wprowadź zmienną zawierającą obiekt PSSession . To słowo kluczowe jest używane przez polecenie cmdlet Export-PSSession , aby znaleźć tematy pomocy dla wyeksportowanych poleceń.
# .REMOTEHELPRUNSPACE <PSSession-variable>
.EXTERNALHELP
Określa plik pomocy opartej na formacie XML dla skryptu lub funkcji.
# .EXTERNALHELP <XML Help File>
Słowo .ExternalHelp
kluczowe jest wymagane, gdy funkcja lub skrypt są udokumentowane w plikach XML. Bez tego słowa kluczowego Get-Help
nie można odnaleźć pliku pomocy opartej na formacie XML dla funkcji lub skryptu.
Słowo .ExternalHelp
kluczowe ma pierwszeństwo przed innymi słowami kluczowymi pomocy opartymi na komentarzach. Jeśli .ExternalHelp
jest obecny, Get-Help
nie wyświetla pomocy opartej na komentarzach, nawet jeśli nie może znaleźć tematu pomocy zgodnego z wartością słowa kluczowego .ExternalHelp
.
Jeśli funkcja jest eksportowana przez moduł, ustaw wartość .ExternalHelp
słowa kluczowego na nazwę pliku bez ścieżki. Get-Help
szuka określonej nazwy pliku w podkatalogu specyficznym dla języka katalogu modułu. Nie ma wymagań dotyczących nazwy pliku pomocy opartej na formacie XML dla funkcji, ale najlepszym rozwiązaniem jest użycie następującego formatu:
<ScriptModule.psm1>-help.xml
Jeśli funkcja nie jest uwzględniona w module, dołącz ścieżkę do pliku pomocy opartej na formacie XML. Jeśli wartość zawiera ścieżkę, a ścieżka zawiera podkatalogi specyficzne dla kultury interfejsu użytkownika, Get-Help
przeszukuje podkatalogi cyklicznie dla pliku XML o nazwie skryptu lub funkcji zgodnie ze standardami rezerwowymi języka ustanowionymi dla systemu Windows, tak samo jak w katalogu modułu.
Aby uzyskać więcej informacji na temat formatu pliku pomocy opartej na xml polecenia cmdlet, zobacz How to Write Cmdlet Help (Jak napisać pomoc dotyczącą poleceń cmdlet).
Automatycznie wygenerowana zawartość
Nazwa, składnia, lista parametrów, tabela atrybutów parametrów, typowe parametry i uwagi są generowane automatycznie przez Get-Help
polecenie cmdlet.
Nazwisko
Sekcja Nazwa tematu pomocy funkcji jest pobierana z nazwy funkcji w składni funkcji. Nazwa tematu pomocy skryptu jest pobierana z nazwy pliku skryptu. Aby zmienić nazwę lub jego wielkie litery, zmień składnię funkcji lub nazwę pliku skryptu.
Składnia
Sekcja Składnia tematu pomocy jest generowana na podstawie funkcji lub składni skryptu. Aby dodać szczegóły do składni tematu pomocy, takiej jak typ platformy .NET parametru, dodaj szczegóły do składni. Jeśli nie określisz typu parametru, typ obiektu zostanie wstawiony jako wartość domyślna.
Lista parametrów
Lista parametrów w temacie pomocy jest generowana na podstawie funkcji lub składni skryptu oraz z opisów dodanych za pomocą słowa kluczowego .Parameter
. Parametry funkcji są wyświetlane w sekcji Parametry tematu pomocy w tej samej kolejności, w której są wyświetlane w funkcji lub składni skryptu. Pisownia i wielkie litery nazw parametrów są również pobierane ze składni. Nie ma to wpływu na nazwę parametru .Parameter
określoną przez słowo kluczowe.
Typowe parametry
Wspólne parametry są dodawane do składni i listy parametrów tematu pomocy, nawet jeśli nie mają żadnego efektu. Aby uzyskać więcej informacji na temat typowych parametrów, zobacz about_CommonParameters.
Tabela atrybutów parametrów
Get-Help
Generuje tabelę atrybutów parametrów, które są wyświetlane podczas korzystania z parametru Full lub Parameter parametru .Get-Help
Wartość atrybutów Wymagane, Pozycja i Wartość domyślna jest pobierana ze składni funkcji lub skryptu.
Wartości domyślne i wartość akceptowania symboli wieloznacznych nie są wyświetlane w tabeli atrybutów parametrów nawet wtedy, gdy są zdefiniowane w funkcji lub skryscie. Aby pomóc użytkownikom, podaj te informacje w opisie parametru.
Uwagi
Sekcja Uwagi tematu pomocy jest generowana automatycznie na podstawie nazwy funkcji lub skryptu. Nie można zmienić ani wpłynąć na jego zawartość.
Przykłady
Pomoc oparta na komentarzach dla funkcji
Poniższa przykładowa funkcja zawiera pomoc opartą na komentarzach:
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
#>
}
Wyniki są następujące:
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
Opisy parametrów w składni funkcji
Ten przykład jest taki sam jak poprzedni, z tą różnicą, że opisy parametrów są wstawiane w składni funkcji. Ten format jest najbardziej przydatny, gdy opisy są krótkie.
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
#>
}
Pomoc oparta na komentarzach dla skryptu
Poniższy przykładowy skrypt zawiera pomoc opartą na komentarzach. Zwróć uwagę na puste wiersze między zamykającym #>
i instrukcją Param
. W skrycie, który nie ma Param
instrukcji, musi istnieć co najmniej dwa puste wiersze między ostatnim komentarzem w temacie pomocy a pierwszą deklaracją funkcji. Bez tych pustych wierszy Get-Help
kojarzy temat pomocy z funkcją, a nie skrypt.
<#
.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 { }
...
Poniższe polecenie pobiera pomoc dotyczącą skryptu. Ponieważ skrypt nie znajduje się w katalogu wymienionym w zmiennej $env:Path
środowiskowej, polecenie, które pobiera pomoc skryptu, Get-Help
musi określić ścieżkę skryptu.
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
Przekierowywanie do pliku XML
Tematy pomocy opartej na języku XML można pisać dla funkcji i skryptów. Chociaż pomoc oparta na komentarzach jest łatwiejsza do zaimplementowania, pomoc oparta na formacie XML jest wymagana dla pomocy z możliwością aktualizowania i zapewniania tematów pomocy w wielu językach.
Poniższy przykład przedstawia kilka pierwszych wierszy skryptu Update-Month.ps1.
Skrypt używa słowa kluczowego .ExternalHelp
, aby określić ścieżkę do tematu pomocy opartej na języku XML dla skryptu.
Należy pamiętać, że wartość słowa kluczowego .ExternalHelp
jest wyświetlana w tym samym wierszu co słowo kluczowe. Wszelkie inne umieszczanie jest nieskuteczne.
# .ExternalHelp C:\MyScripts\Update-Month-Help.xml
param ([string]$InputPath, [string]$OutPutPath)
function Get-Data { }
...
W poniższych przykładach pokazano trzy prawidłowe umieszczanie słowa kluczowego .ExternalHelp
w funkcji.
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
}
Przekierowywanie do innego tematu pomocy
Poniższy kod jest fragmentem od początku wbudowanej funkcji pomocy w programie PowerShell, która wyświetla jeden ekran tekstu pomocy naraz.
Ponieważ temat pomocy dla Get-Help
polecenia cmdlet opisuje funkcję pomocy, funkcja pomocy używa .ForwardHelpTargetName
słów kluczowych i .ForwardHelpCategory
do przekierowania użytkownika do tematu Get-Help
pomocy polecenia cmdlet.
function help
{
<#
.FORWARDHELPTARGETNAME Get-Help
.FORWARDHELPCATEGORY Cmdlet
#>
[CmdletBinding(DefaultParameterSetName='AllUsersView')]
param(
[Parameter(Position=0, ValueFromPipelineByPropertyName=$true)]
[System.String]
${Name},
...
Następujące polecenie używa tej funkcji:
Get-Help -Name help
NAME
Get-Help
SYNOPSIS
Displays information about PowerShell cmdlets and concepts.
...