about_Comment_Based_Help

간단한 설명

함수 및 스크립트에 대한 주석 기반 도움말 항목을 작성하는 방법을 설명합니다.

자세한 설명

특수 도움말 주석 키워드(keyword) 사용하여 함수 및 스크립트에 대한 주석 기반 도움말 항목을 작성할 수 있습니다.

Get-Help cmdlet은 XML 파일에서 생성된 cmdlet 도움말 항목을 표시하는 것과 동일한 형식으로 주석 기반 도움말을 표시합니다. 사용자는 상세, 전체, 예제 및 온라인과 같은 모든 매개 변수Get-Help 사용하여 주석 기반 도움말의 내용을 표시할 수 있습니다.

함수 및 스크립트에 대한 XML 기반 도움말 파일을 작성할 수도 있습니다. cmdlet이 Get-Help 함수 또는 스크립트에 대한 XML 기반 도움말 파일을 찾을 수 있도록 하려면 키워드(keyword) 사용합니다 .ExternalHelp . 이 키워드(keyword) Get-Help 없으면 함수 또는 스크립트에 대한 XML 기반 도움말 항목을 찾을 수 없습니다.

이 항목에서는 함수 및 스크립트에 대한 도움말 항목을 작성하는 방법을 설명합니다. 함수 및 스크립트에 대한 도움말 항목을 표시하는 방법에 대한 자세한 내용은 Get-Help를 참조하세요.

Update-HelpSave-Help cmdlet은 XML 파일에서만 작동합니다. 변경 가능한 도움말은 주석 기반 도움말 항목을 지원하지 않습니다.

주석 기반 도움말 구문

주석 기반 도움말의 구문은 다음과 같습니다.

# .<help keyword>
# <help content>

또는

<#
.<help keyword>
<help content>
#>

주석 기반 도움말은 일련의 주석으로 작성됩니다. 주석의 각 줄 앞에 주석 기호 # 를 입력하거나 주석 블록과 #> 기호를 사용하여 <# 주석 블록을 만들 수 있습니다. 주석 블록 내의 모든 줄은 주석으로 해석됩니다.

주석 기반 도움말 항목의 모든 줄은 연속되어야 합니다. 메모 기반 도움말 항목이 도움말 항목의 일부가 아닌 주석을 따르는 경우 마지막 비 도움말 메모 줄과 메모 기반 도움말의 시작 사이에 빈 줄이 하나 이상 있어야 합니다.

키워드는 주석 기반 도움말의 각 섹션을 정의합니다. 각 주석 기반 도움말 키워드(keyword) 앞에 점.이 있습니다. 키워드(keyword) 순서에 따라 표시할 수 있습니다. 키워드(keyword) 이름은 대/소문자를 구분하지 않습니다.

예를 들어 .Description 키워드(keyword) 함수 또는 스크립트에 대한 설명 앞에 섰습니다.

<#
.Description
Get-Function displays the name and syntax of all functions in the session.
#>

주석 블록에는 하나 이상의 키워드(keyword) 포함되어야 합니다. 같은 .EXAMPLE일부 키워드(keyword) 동일한 주석 블록에 여러 번 나타날 수 있습니다. 각 키워드(keyword) 대한 도움말 콘텐츠는 키워드(keyword) 이후 줄에서 시작되며 여러 줄에 걸쳐 있습니다.

함수의 주석 기반 도움말 구문

함수에 대한 주석 기반 도움말은 다음 세 위치 중 하나에 나타날 수 있습니다.

  • 함수 본문의 시작 부분에 있습니다.
  • 함수 본문의 끝에 있습니다.
  • 키워드(keyword) 전에.function 함수 도움말의 마지막 줄과 키워드(keyword) 사이에는 둘 이상의 빈 줄이 function 있을 수 없습니다.

예시:

function Get-Function
{
<#
.<help keyword>
<help content>
#>

  # function logic
}

또는

function Get-Function
{
   # function logic

<#
.<help keyword>
<help content>
#>
}

또는

<#
.<help keyword>
<help content>
#>
function Get-Function { }

스크립트의 주석 기반 도움말 구문

스크립트에 대한 주석 기반 도움말은 스크립트의 다음 두 위치 중 하나에 나타날 수 있습니다.

  • 스크립트 파일의 시작 부분에 있습니다. 스크립트 도움말은 주석과 빈 줄만 스크립트에서 선행할 수 있습니다.

    스크립트 본문의 첫 번째 항목(도움말 뒤)이 함수 선언인 경우 스크립트 도움말의 끝과 함수 선언 사이에 두 개 이상의 빈 줄이 있어야 합니다. 그렇지 않으면 도움말이 스크립트에 대한 도움말이 아니라 함수에 대한 도움말로 해석됩니다.

  • 스크립트 파일의 끝. 그러나 스크립트가 서명된 경우 스크립트 파일의 시작 부분에 주석 기반 도움말을 배치합니다. 스크립트의 끝은 서명 블록에서 차지합니다.

예시:

<#
.<help keyword>
<help content>
#>


function Get-Function { }

또는

function Get-Function { }

<#
.<help keyword>
<help content>
#>

스크립트 모듈의 주석 기반 도움말 구문

스크립트 모듈 .psm1에서 주석 기반 도움말은 스크립트 구문이 아닌 함수 구문을 사용합니다. 스크립트 구문을 사용하여 스크립트 모듈에 정의된 모든 함수에 대한 도움말을 제공할 수 없습니다.

예를 들어 키워드(keyword) 사용하여 .ExternalHelp 스크립트 모듈의 함수에 대한 XML 기반 도움말 파일을 식별하는 경우 각 함수에 주석을 .ExternalHelp 추가해야 합니다.

# .ExternalHelp <XML-file-name>
function <function-name>
{
  ...
}

주석 기반 도움말 키워드(keyword)

다음은 유효한 주석 기반 도움말 키워드(keyword). 일반적으로 의도한 용도와 함께 도움말 항목에 표시되는 순서대로 나열됩니다. 이러한 키워드(keyword) 주석 기반 도움말에서 순서에 따라 표시할 수 있으며 대/소문자를 구분하지 않습니다.

.SYNOPSIS

함수 또는 스크립트에 대한 간략한 설명입니다. 이 키워드(keyword) 각 항목에서 한 번만 사용할 수 있습니다.

.DESCRIPTION

함수 또는 스크립트에 대한 자세한 설명입니다. 이 키워드(keyword) 각 항목에서 한 번만 사용할 수 있습니다.

.PARAMETER

매개 변수에 대한 설명입니다. .PARAMETER 함수 또는 스크립트 구문의 각 매개 변수에 대한 키워드(keyword) 추가합니다.

키워드(keyword) 동일한 줄 .PARAMETER 에 매개 변수 이름을 입력합니다. 키워드(keyword) 다음 .PARAMETER 줄에 매개 변수 설명을 입력합니다. Windows PowerShell은 줄과 다음 키워드(keyword) 또는 주석 블록의 끝 사이의 .PARAMETER 모든 텍스트를 매개 변수 설명의 일부로 해석합니다. 설명에는 단락 나누기를 포함할 수 있습니다.

.PARAMETER  <Parameter-Name>

매개 변수 키워드(keyword) 주석 블록에서 순서에 관계없이 나타날 수 있지만 함수 또는 스크립트 구문은 매개 변수(및 해당 설명)가 도움말 항목에 표시되는 순서를 결정합니다. 순서를 변경하려면 구문을 변경합니다.

매개 변수 변수 이름 바로 앞에 함수 또는 스크립트 구문에 주석을 배치하여 매개 변수 설명을 지정할 수도 있습니다. 이렇게 하려면 하나 이상의 키워드(keyword) 있는 주석 블록도 있어야 합니다.

구문 주석과 .PARAMETER 키워드(keyword) 모두 사용하는 경우 키워드(keyword) 연결된 .PARAMETER 설명이 사용되며 구문 주석은 무시됩니다.

<#
.SYNOPSIS
    Short description here
#>
function Verb-Noun {
    [CmdletBinding()]
    param (
        # This is the same as .Parameter
        [string]$Computername
    )
    # Verb the Noun on the computer
}

.EXAMPLE

함수 또는 스크립트를 사용하는 샘플 명령이며, 필요에 따라 샘플 출력 및 설명이 뒤따릅니다. 각 예제에 대해 이 키워드(keyword) 반복합니다.

.INPUTS

함수 또는 스크립트에 파이프할 수 있는 개체의 .NET 형식입니다. 입력 개체에 대한 설명을 포함할 수도 있습니다.

.OUTPUTS

cmdlet이 반환하는 개체의 .NET 형식입니다. 반환된 개체에 대한 설명을 포함할 수도 있습니다.

.NOTES

함수 또는 스크립트에 대한 추가 정보입니다.

관련 항목의 이름입니다. 값은 ".LINK" 키워드(keyword) 아래 줄에 나타나며 주석 기호 # 앞에 오거나 주석 블록에 포함되어야 합니다.

각 관련 항목에 .LINK 대해 키워드(keyword) 반복합니다.

이 콘텐츠는 도움말 항목의 관련 링크 섹션에 표시됩니다.

키워드(keyword) 콘텐츠에는 .Link 동일한 도움말 항목의 온라인 버전에 대한 URI(Uniform Resource Identifier)도 포함될 수 있습니다. 온라인 버전은 .의 Get-HelpOnline 매개 변수를 사용할 때 열립니다. URI는 “http” 또는 “https”로 시작해야 합니다.

.COMPONENT

함수 또는 스크립트가 사용하거나 관련된 기술 또는 기능의 이름입니다. 이 값을 사용하여 반환된 Get-Help검색 결과를 필터링하는 구성 요소 매개 변수 Get-Help 입니다.

.ROLE

도움말 항목의 사용자 역할 이름입니다. 이 값을 사용하여 반환된 Get-Help검색 결과를 필터링하는 역할 매개 변수 Get-Help 입니다.

.FUNCTIONALITY

함수의 의도된 사용을 설명하는 키워드(keyword). 이 값을 사용하여 반환된 Get-Help검색 결과를 필터링하는 기능 매개 변수 Get-Help 입니다.

.FORWARDHELPTARGETNAME

지정된 명령에 대한 도움말 항목으로 리디렉션됩니다. 함수, 스크립트, cmdlet 또는 공급자에 대한 도움말 항목을 비롯한 모든 도움말 항목으로 사용자를 리디렉션할 수 있습니다.

# .FORWARDHELPTARGETNAME <Command-Name>

.FORWARDHELPCATEGORY

에 있는 .ForwardHelpTargetName항목의 도움말 범주를 지정합니다. 유효한 값은 Alias,, Cmdlet, HelpFile,ProviderFunction, General, FAQ, GlossaryScriptCommand, ExternalScriptFilter또는 .All 이름이 같은 명령이 있는 경우 충돌을 방지하려면 이 키워드(keyword) 사용합니다.

# .FORWARDHELPCATEGORY <Category>

.REMOTEHELPRUNSPACE

도움말 항목이 포함된 세션을 지정합니다. PSSession 개체가 포함된 변수를 입력합니다. 이 키워드(keyword) Export-PSSession cmdlet에서 내보낸 명령에 대한 도움말 항목을 찾는 데 사용됩니다.

# .REMOTEHELPRUNSPACE <PSSession-variable>

.EXTERNALHELP

스크립트 또는 함수에 대한 XML 기반 도움말 파일을 지정합니다.

# .EXTERNALHELP <XML Help File>

함수 또는 스크립트가 .ExternalHelp XML 파일에 문서화된 경우 키워드(keyword) 필요합니다. 이 키워드(keyword) Get-Help 없으면 함수 또는 스크립트에 대한 XML 기반 도움말 파일을 찾을 수 없습니다.

.ExternalHelp 키워드(keyword) 다른 주석 기반 도움말 키워드(keyword) 우선합니다. 있는 Get-Help 경우 .ExternalHelp 키워드(keyword) 값과 일치하는 도움말 항목을 찾을 수 없는 경우에도 주석 기반 도움말을 .ExternalHelp 표시하지 않습니다.

모듈에서 함수를 내보내는 경우 경로가 없는 파일 이름으로 키워드(keyword) 값을 .ExternalHelp 설정합니다. Get-Help 는 모듈 디렉터리의 언어별 하위 디렉터리에서 지정된 파일 이름을 찾습니다. 함수에 대한 XML 기반 도움말 파일의 이름에 대한 요구 사항은 없지만 다음 형식을 사용하는 것이 가장 좋습니다.

<ScriptModule.psm1>-help.xml

함수가 모듈에 포함되지 않은 경우 XML 기반 도움말 파일의 경로를 포함합니다. 값에 경로가 포함되어 있고 경로에 UI 문화권별 하위 Get-Help 디렉터리가 포함된 경우 모듈 디렉터리에서와 마찬가지로 Windows에 설정된 언어 대체 표준에 따라 스크립트 또는 함수의 이름을 가진 XML 파일을 재귀적으로 검색합니다.

cmdlet 도움말 XML 기반 도움말 파일 형식에 대한 자세한 내용은 Cmdlet 도움말을 작성하는 방법을 참조 하세요.

자동 생성된 콘텐츠

이름, 구문, 매개 변수 목록, 매개 변수 특성 테이블, 공통 매개 변수 및 설명은 cmdlet에 Get-Help 의해 자동으로 생성됩니다.

속성

함수 도움말 항목의 이름 섹션은 함수 구문의 함수 이름에서 가져옵니다. 스크립트 도움말 항목의 이름은 스크립트 파일 이름에서 가져옵니다. 이름 또는 대문자를 변경하려면 함수 구문 또는 스크립트 파일 이름을 변경합니다.

구문

도움말 항목의 구문 섹션은 함수 또는 스크립트 구문에서 생성됩니다. 매개 변수의 .NET 형식과 같은 도움말 항목 구문에 세부 정보를 추가하려면 구문에 세부 정보를 추가합니다. 매개 변수 형식을 지정하지 않으면 개체 형식이 기본값으로 삽입됩니다.

매개 변수 목록

도움말 항목의 매개 변수 목록은 함수 또는 스크립트 구문과 키워드(keyword) 사용하여 .Parameter 추가하는 설명에서 생성됩니다. 함수 매개 변수는 함수 또는 스크립트 구문에 표시되는 순서와 동일한 순서로 도움말 항목의 매개 변수 섹션에 표시됩니다. 매개 변수 이름의 맞춤법 및 대문자 지정도 구문에서 가져옵니다. 키워드(keyword) 지정된 .Parameter 매개 변수 이름의 영향을 받지 않습니다.

일반 매개 변수

공통 매개 변수아무런 효과가 없더라도 도움말 항목의 구문 및 매개 변수 목록에 추가됩니다. 일반적인 매개 변수에 대한 자세한 내용은 about_CommonParameters 참조하세요.

매개 변수 특성 테이블

Get-Help의 전체 또는 매개 변수 매개 변수를 사용할 때 나타나는 매개 변수 특성 테이블을 Get-Help생성합니다. 필수, 위치 및 기본값 특성의 값은 함수 또는 스크립트 구문에서 가져옵니다.

Accept Wild카드 문자기본값과 값은 함수 또는 스크립트에 정의된 경우에도 매개 변수 특성 테이블에 나타나지 않습니다. 사용자를 돕기 위해 매개 변수 설명에 이 정보를 제공합니다.

설명

도움말 항목의 설명 섹션은 함수 또는 스크립트 이름에서 자동으로 생성됩니다. 콘텐츠는 변경하거나 영향을 줄 수 없습니다.

예제

함수에 대한 주석 기반 도움말

다음 샘플 함수에는 주석 기반 도움말이 포함되어 있습니다.

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
#>
}

결과는 다음과 같습니다.

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

함수 구문의 매개 변수 설명

이 예제는 매개 변수 설명이 함수 구문에 삽입된다는 점을 제외하고 이전 예제와 동일합니다. 이 형식은 설명이 간단할 때 가장 유용합니다.

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
#>
}

스크립트에 대한 주석 기반 도움말

다음 샘플 스크립트에는 주석 기반 도움말이 포함되어 있습니다. 닫기와 #> 문 사이의 빈 줄을 확인합니다 Param . 문이 없는 Param 스크립트에서는 도움말 항목의 마지막 주석과 첫 번째 함수 선언 사이에 두 개 이상의 빈 줄이 있어야 합니다. 이러한 빈 줄 Get-Help 이 없으면 도움말 항목을 스크립트가 아닌 함수와 연결합니다.

<#
.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 { }
...

다음 명령은 스크립트 도움말을 가져옵니다. 스크립트가 환경 변수 Get-Help 에 나열된 $env:Path 디렉터리에 없기 때문에 스크립트 도움말을 가져오는 명령은 스크립트 경로를 지정해야 합니다.

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

XML 파일로 리디렉션

함수 및 스크립트에 대한 XML 기반 도움말 항목을 작성할 수 있습니다. 주석 기반 도움말을 구현하기는 더 쉽지만, 호환 가능한 도움말 및 여러 언어로 도움말 항목을 제공하기 위해서는 XML 기반 도움말이 필요합니다.

다음 예제에서는 Update-Month.ps1 스크립트의 처음 몇 줄을 보여 줍니다. 스크립트는 키워드(keyword) 사용하여 .ExternalHelp 스크립트에 대한 XML 기반 도움말 항목의 경로를 지정합니다.

키워드(keyword) 값 .ExternalHelp 은 키워드(keyword) 동일한 줄에 나타납니다. 다른 배치는 효과가 없습니다.

# .ExternalHelp C:\MyScripts\Update-Month-Help.xml

param ([string]$InputPath, [string]$OutPutPath)
function Get-Data { }
...

다음 예제에서는 함수에서 키워드(keyword) 세 가지 .ExternalHelp 유효한 배치를 보여 줍니다.

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
}

다른 도움말 항목으로 리디렉션

다음 코드는 PowerShell에서 기본 제공 도움말 함수의 시작 부분에서 발췌한 것으로, 도움말 텍스트의 화면을 한 번에 하나씩 표시합니다. cmdlet에 대한 Get-Help 도움말 항목은 도움말 함수를 설명하므로 도움말 함수는 해당 및 .ForwardHelpCategory 키워드(keyword) 사용하여 .ForwardHelpTargetName 사용자를 cmdlet 도움말 항목으로 Get-Help 리디렉션합니다.

function help
{

<#
.FORWARDHELPTARGETNAME Get-Help
.FORWARDHELPCATEGORY Cmdlet
#>
[CmdletBinding(DefaultParameterSetName='AllUsersView')]
param(
[Parameter(Position=0, ValueFromPipelineByPropertyName=$true)]
[System.String]
${Name},
...

다음 명령은 이 기능을 사용합니다.

Get-Help -Name help
NAME

Get-Help

SYNOPSIS

Displays information about PowerShell cmdlets and concepts.
...

참고 항목