about_Comment_Based_Help

업데이트 날짜: 2012년 9월

적용 대상: Windows PowerShell 2.0, Windows PowerShell 3.0

여기에 소개를 삽입합니다.

항목

about_Comment_Based_Help

간단한 설명

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

자세한 설명

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

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

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

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

참고:

Update-Help 및 Save-Help cmdlet은 XML 파일에서만 작동합니다. 업데이트할 수 있는 도움말은 주석 기반 도움말 항목을 지원하지 않습니다.

문제 해결 참고:

"와일드카드 문자 허용"에 대한 기본 값 및 값이 함수 또는 스크립트에서 정의될 때에도 매개 변수 특성 테이블에 드러나지 않습니다. 사용자를 도우려면 매개 변수 설명에서 이 정보를 제공합니다.

주석 기반 도움말에 대한 구문

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

        # .< help keyword>
        # <help content>
 
    -or -

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

주석 기반 도움말은 일련의 주석으로 작성됩니다. 각 주석 줄 앞에 주석 기호(#)를 사용하거나 주석 블록을 만드는 데 "<#" 및 "#>" 기호를 사용할 수 있습니다. 주석 블록 내의 모든 줄은 주석으로 해석됩니다.

주석 기반 도움말 항목의 모든 줄은 인접해야 합니다. 주석 기반 도움말 항목이 도움말 항목의 일부가 아닌 주석의 뒤에 있는 경우 비 도움말 주석의 마지막과 주석 기반 도움말의 처음 사이에 적어도 하나의 빈 칸이 있어야 합니다.

키워드는 주석 기반 도움말의 각 섹션을 정의합니다. 각 주석 기반 도움말 키워드는 마침표(.)로 시작합니다. 키워드는 어떤 순서든 나타낼 수 있습니다. 키워드 이름은 대/소문자를 구분하지 않습니다.

예를 들어 설명 키워드는 함수 또는 스크립트의 설명 앞에 옵니다.

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

주석 블록은 적어도 하나의 키워드를 포함해야 합니다. EXAMPLE과 같은 키워드의 일부는 동일한 주석 블록에서 여러 번 나타날 수 있습니다. 각 키워드에 대한 도움말 내용은 키워드 다음 줄에서 시작하며 여러 줄에 걸쳐 이어질 수 있습니다.

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

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

        -- At the beginning of the function body.

        -- At the end of the function body.

        -- Before the Function keyword. There cannot be more than one blank
           line between the last line of the function help and the Function
           keyword.

예를 들면 다음과 같습니다.

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

            <function commands>
        }


    -or -

        function Get-Function 
        {
            <function commands>

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

    -or -

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

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

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

     -- At the beginning of the script file. Script help can be preceded in the
       script only by comments and blank lines.


     -- If the first item in the script body (after the help) is a function
       declaration, there must be at least two blank lines between the end of the
       script help and the function declaration. Otherwise, the help is
       interpreted as being help for the function, not help for the script.


    -- At the end of the script file. However, if the script is signed, place
       Comment-based help at the beginning of the script file. The end of the 
       script is occupied by the signature block.

예를 들면 다음과 같습니다.

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


        function Get-Function { }

    -or-


        function Get-Function { }

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

스크립트 모듈에서 주석 기반 도움말에 대한 구문

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

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

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

주석 기반 도움말 키워드

다음은 유효한 주석 기반 도움말 키워드입니다. 도움말 항목에서 일반적인 용도에 맞게 나타나는 순서로 정렬됩니다. 이러한 키워드는 주석 기반 도움말에서 어떤 순서로든 정렬할 수 있으며 대/소문자를 구분하지 않습니다.

.개요

함수 또는 스크립트의 간단한 설명. 이 키워드는 각 항목에서 한 번만 사용될 수 있습니다.

.설명

함수 또는 스크립트의 자세한 설명. 이 키워드는 각 항목에서 한 번만 사용될 수 있습니다.

.PARAMETER <Parameter-Name>

매개 변수의 설명. 함수 또는 스크립트 구문에 있는 각 매개 변수에 .PARAMETER 키워드를 추가합니다.

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

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

또한 매개 변수 이름 앞에 바로 함수 또는 스크립트 구문의 주석을 두어 매개 변수 설명을 지정할 수 있습니다. 구문 주석 및 매개 변수 키워드를 모두 사용하는 경우 매개 변수 키워드와 연결된 설명을 사용하고 구문 주석은 무시합니다.

.EXAMPLE

경우에 따라 함수 또는 스크립트를 사용하는 샘플 주석의 뒤에 샘플 출력 및 설명이 뒤따릅니다. 각 예에 이 키워드를 반복합니다.

.INPUTS

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

.OUTPUTS

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

.NOTES

함수 또는 스크립트에 대한 추가 내용.

관련된 항목의 이름. 값은 .LINE 키워드 아래에 있는 줄에 나타나고 주석 기호(#)의 뒤에 오거나 주석 블록에 포함되어야 합니다.

관련된 항목 각각에 .LINK 키워드를 반복합니다.

이 내용은 도움말 항목의 관련된 링크 섹션에서 나타납니다.

또한 링크 키워드는 동일한 도움말 항목의 온라인 버전에 URI(Uniform Resource Identifier)를 포함합니다. Get-Help의 온라인 매개 변수를 사용할 때 온라인 버전이 열립니다. URI는 "http" 또는 "https"로 시작해야 합니다.

.COMPONENT

함수 또는 스크립트가 사용하거나 관련된 기술 또는 기능. 이 내용은 Get-Help 명령이 Get-Help의 구성 요소 매개 변수를 포함하는 경우 나타납니다.

.ROLE

도움말 항목에 대한 사용자 역할. 이 내용은 Get-Help 명령이 Get-Help의 역할 매개 변수를 포함하는 경우 나타납니다.

.FUNCTIONALITY

함수의 의도. 이 내용은 Get-Help 명령이 Get-Help의 기능 매개 변수를 포함하는 경우 나타납니다.

.FORWARDHELPTARGETNAME <Command-Name>

지정된 명령에 대한 도움말 항목에 리디렉션. 함수, 스크립트, cmdlet 또는 공급자를 포함한 어떤 도움말 항목에도 사용자를 리디렉션할 수 있습니다.

.FORWARDHELPCATEGORY <범주>

ForwardHelpTargetName에서 항목의 도움말 범주를 지정합니다. 유효한 값은 별칭, Cmdlet, HelpFile, 함수, 공급자, 일반, FAQ, 용어, ScriptCommand, ExternalScript, 필터, 또는 전체입니다. 이 키워드를 사용하여 동일한 이름을 가진 명령이 있을 때 혼란을 방지합니다.

.REMOTEHELPRUNSPACE <PSSession-variable>

도움말 항목을 포함하는 세션을 지정합니다. PSSession을 포함하는 변수를 입력합니다. 이 키워드는 Export-PSSession cmdlet에서 사용되어 내보낸 명령에 대한 도움말 항목을 찾습니다.

.EXTERNALHELP <XML 도움말 파일>

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

함수 또는 스크립트를 XML 파일에서 설명할 때 ExternalHelp 키워드가 필요합니다. 이 키워드 없이 Get-Help는 함수 또는 스크립트에 대한 XML 기반 도움말 파일을 찾을 수 없습니다.

ExternalHelp 키워드는 다른 주석 기반 도움말 키워드 보다 우선합니다. ExternalHelp이 표시된 경우 Get-Help와 ExternalHelp 키워드의 값이 일치하는 도움말 항목을 찾지 못하더라도 Get-Help는 주석 기반 도움말을 표시하지 않습니다.

함수가 모듈에서 내보내지면 ExternalHelp 키워드 값을 경로가 없는 파일 이름에 설정합니다. Get-Help은 모듈 디렉터리의 언어가 지정된 하위 디렉터리에서 지정된 파일 이름을 찾습니다. 함수에 대한 XML 기반 도움말 파일의 이름을 요구하지는 않지만 모범 사례는 다음과 같은 형식을 사용합니다.

        <ScriptModule.psm1>-help.xml

함수가 모듈에 포함되지 않는 경우 경로를 XML 기반 도움말 파일에 포함합니다. 값이 경로를 포함하고 경로가 UI 문화권을 지정한 하위 디렉터리를 포함한 경우 Get-Help는 모듈 디렉터리에서 실행한 대로 Windows용으로 설정된 언어 대체 기준에 따라 스크립트 및 함수의 이름을 사용하여 XML 파일에 대한 하위 디렉터리를 반복적으로 검색합니다.

cmdlet 도움말 XML 기반 도움말 형식에 대한 자세한 내용은 MSDN(Microsoft Developer Network) Library에서 "Cmdlet 도움말 만드는 방법"(https://go.microsoft.com/fwlink/?LinkID=123415)을 참조하세요.

자동 생성된 내용

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

이름:

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

구문:

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

매개 변수 목록:

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

일반 매개 변수:

일반 매개 변수는 영향이 없더라도 도움말 항목의 구문 및 매개 변수 목록에 추가됩니다. 일반 매개 변수에 대한 자세한 내용은 about_CommonParameters를 참조하세요.

매개 변수 특성 테이블:

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

문제 해결 참고:

기본 값은 함수 또는 스크립트에서 정의될 때도 매개 변수 특성 테이블에 나타나지 않습니다. 사용자를 도우려면 매개 변수 설명에서 기본 값을 나열합니다.

설명:

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

주석 기반 도움말 비활성화

[이 기술은 뉴욕의 Windows 기술자인 Rich Prescott이 제안했습니다.]

주석 기반 도움말을 비활성화할 수 있습니다. 주석 기반 도움말을 삭제하지 않고 무효화합니다.

주석 기반 도움말을 비활성화하려면 here-string에 주석을 넣습니다. here-string을 숨기려면 변수에 할당하거나 Out-Null cmdlet에 파이프합니다.

비활성화되면 주석 기반 도움말은 효력이 없습니다.

예를 들어 다음 함수에는 주석 기반 도움말이 있습니다.

            <#
            .SYNOPSIS 
            Adds a file name extension to a supplied name.
            #>            
            function Add-Extension 
            {
                param ([string]$Name,[string]$Extension = "txt")
                ...
            } 

주석 기반 도움말을 비활성화하려면 다음 예에서 보는 대로 here-string에 넣습니다.

            @"  
            <#
            .SYNOPSIS 
            Adds a file name extension to a supplied name.
            #>
            "@            
            function Add-Extension 
            {
                param ([string]$Name,[string]$Extension = "txt")
                ...
            }

비활성화된 주석 기반 도움말을 숨기려면 다음 예에서 보듯 함수에 사용되지 않은 로컬 변수에 here-string을 할당합니다. 작업을 Out-Null cmdlet으로 파이프할 수도 있습니다.

            $x = @"  
            <#
            .SYNOPSIS 
            Adds a file name extension to a supplied name.
            #>
            "@            
            function Add-Extension 
            {
                param ([string]$Name,[string]$Extension = "txt")
                ...
            }

here-string에 대한 자세한 내용은 about_Quoting_Rules(https://go.microsoft.com/fwlink/?LinkID=113253)를 참조하세요.

예제

예제 1: 함수에 대한 주석 기반 도움말

다음 샘플 함수는 주석 기반 도움말을 포함합니다.

            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
            C:\PS> extension -name "File"
            File.txt

            .EXAMPLE
            C:\PS> extension -name "File" -extension "doc"
            File.doc

            .EXAMPLE
            C:\PS> extension "File" "doc"
            File.doc

            .LINK
            http://www.fabrikam.com/extension.html

            .LINK
            Set-Item
            #>
            }

결과는 다음과 같습니다.

        C:\PS> get-help 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 --------------------------
    
            C:\PS> extension -name "File"
            File.txt
    
            -------------------------- EXAMPLE 2 --------------------------
    
            C:\PS> extension -name "File" -extension "doc"
            File.doc
    
            -------------------------- EXAMPLE 3 --------------------------
    
            C:\PS> extension "File" "doc"
            File.doc
    
        RELATED LINKS
            http://www.fabrikam.com/extension.html
            Set-Item

예제 2: 함수 구문의 매개 변수 설명

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

        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
            C:\PS> extension -name "File"
            File.txt

            .EXAMPLE
            C:\PS> extension -name "File" -extension "doc"
            File.doc

            .EXAMPLE
            C:\PS> extension "File" "doc"
            File.doc
 
            .LINK
            http://www.fabrikam.com/extension.html

            .LINK
            Set-Item
            #>
        }

예제 3: 스크립트에 대한 주석 기반 도움말

다음 샘플 스크립트는 주석 기반 도움말을 포함합니다.

닫는 "#>"과 매개 변수 문 사이에 빈 줄에 유의합니다. 매개 변수 문이 없는 스크립트에서 도움말 항목의 마지막 주석과 첫 번째 함수 선언의 사이에 적어도 두 줄이 비어야 합니다. 빈 줄이 없으면 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
           C:\PS> .\Update-Month.ps1

           .EXAMPLE
           C:\PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv

           .EXAMPLE
           C:\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 명령은 스크립트 경로를 지정해야 합니다.

            PS C:\ps-test> get-help .\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 --------------------------
        
            C:\PS> .\Update-Month.ps1
    
            -------------------------- EXAMPLE 2 --------------------------
       
            C:\PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv
    
            -------------------------- EXAMPLE 3 --------------------------
    
            C:\PS> .\Update-Month.ps1 -inputpath C:\Data\January.csv -outputPath 
            C:\Reports\2009\January.csv
        
            RELATED LINKS

예제 4: XML 파일에 리디렉션

함수 및 스크립트에 대한 XML 기반 도움말 항목을 작성할 수 있습니다. 주석 기반 도움말을 실행하는 것이 쉽지만 XML 기반 도움말은 업데이트할 수 있는 도움말에 필요하고 여러 언어에 도움말 항목을 제공합니다.

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

ExternalHelp 키워드의 값이 키워드와 동일한 줄에 나타납니다. 다른 곳에 배치되면 무효화됩니다.

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

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

다음 예제는 함수에서 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
            }

예제 5: 다른 도움말 항목에 리디렉션

다음 코드는 Windows PowerShell에 있는 기본 제공 도움말 함수의 시작의 출처입니다. Get-Help cmdlet에 대한 도움말 항목이 도움말 함수를 설명하기 때문에 도움말 함수는 ForwardHelpTargetName 및 ForwardHelpCategory를 사용하여 사용자를 Get-Help cmdlet 도움말 항목에 리디렉션합니다.

            function help 
            {

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

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

            C:\PS> get-help help
            NAME
                Get-Help
            SYNOPSIS
                Displays information about Windows PowerShell cmdlets and concepts.
            ...

키워드

about_Comment-Based_Help

참고 항목

about_Functions

about_Functions_Advanced_Parameters

about_Scripts

"Cmdlet 도움말을 작성하는 방법" (https://go.microsoft.com/fwlink/?LinkID=123415)