TEMA about_Comment_Based_Help DESCRIPCIÓN BREVE Describe cómo escribir temas de Ayuda basada en comentarios para funciones y scripts. DESCRIPCIÓN DETALLADA Se pueden escribir temas de Ayuda basada en comentarios para funciones y scripts utilizando palabras clave de comentario de Ayuda especiales. El cmdlet Get-Help muestra la Ayuda basada en comentarios en el mismo formato en que muestra los temas de Ayuda de cmdlet que se generan a partir de los archivos XML. Los usuarios pueden utilizar todos los parámetros de Get-Help, tales como Detailed, Full, Example y Online, a fin de mostrar la Ayuda de funciones y scripts. También es posible escribir archivos de Ayuda basada en XML para scripts y funciones utilizando palabras clave de comentario de Ayuda, y redirigir a los usuarios a un archivo de Ayuda diferente. En este tema se explica cómo escribir temas de Ayuda para funciones y scripts. Para obtener información sobre cómo mostrar los temas de Ayuda de los scripts y las funciones, vea Get-Help. SINTAXIS DE LA AYUDA BASADA EN COMENTARIOS La sintaxis de la Ayuda basada en comentarios es la siguiente: # .< palabra clave de ayuda> # <contenido de ayuda> -o bien, <# .< palabra clave de ayuda> < contenido de ayuda> #> La Ayuda basada en comentarios se escribe como una serie de comentarios. Se puede escribir un símbolo de comentario (#) delante de cada línea de comentarios, o bien utilizar los símbolos "<#" y "#>" para crear un bloque de comentario. Todas las líneas contenidas en el bloque de comentario se interpretan como comentarios. Todas las líneas de un tema de Ayuda basada en comentarios deben ser contiguas. Si un tema de Ayuda basada en comentarios está situado justo tras un comentario que no forma parte del tema de Ayuda, debe dejarse por lo menos una línea en blanco entre la última línea de comentario que no es de Ayuda y el principio de la Ayuda basada en comentarios. Las palabras clave definen cada sección de la Ayuda basada en comentarios. Cada palabra clave va precedida de un punto (.). Las palabras clave pueden aparecer en cualquier orden. Los nombres de las palabras clave no distinguen entre mayúsculas y minúsculas. Por ejemplo, la palabra clave Description precede a una descripción de una función o un script. <# .Description Get-Function muestra el nombre y la sintaxis de todas las funciones de la sesión. #> El bloque de comentario debe contener una palabra clave por lo menos. Algunas de las palabras clave, como EXAMPLE, pueden aparecer muchas veces en el mismo bloque de comentario. El contenido de Ayuda correspondiente a cada palabra clave comienza en la línea que figura después de la palabra clave y puede abarcar varias líneas. SINTAXIS DE LA AYUDA BASADA EN COMENTARIOS EN LAS FUNCIONES La Ayuda basada en comentarios de una función puede aparecer en una de las tres ubicaciones siguientes: -- Al principio del cuerpo de la función. -- Al final del cuerpo de la función. -- Antes de la palabra clave Function. No puede haber más de una línea en blanco entre última línea de la Ayuda la de función y la palabra clave Function. Por ejemplo: function MiFunción { <# .< palabra clave de ayuda> < contenido de ayuda> #> <comandos de función> } -o bien, function MiFunción { <comandos de función> <# .< palabra clave de ayuda> < contenido de ayuda> #> } -o bien, <# .< palabra clave de ayuda> < contenido de ayuda> #> function MiFunción { } SINTAXIS DE LA AYUDA BASADA EN COMENTARIOS EN LOS SCRIPTS La Ayuda basada en comentarios de un script puede aparecer en una de las dos ubicaciones siguientes en el script. -- Al principio del archivo de script. La Ayuda del script solamente puede ir precedida en el script por comentarios y líneas en blanco. -- Si el primer elemento del cuerpo del script (después de la Ayuda) es una declaración de función, debe haber por lo menos dos líneas en blanco entre el fin de la Ayuda del script y la declaración de función. De lo contrario, la Ayuda se interpretará como si correspondiese a la función y no al script. -- Al final del archivo de script. Por ejemplo: <# .< palabra clave de ayuda> < contenido de ayuda> #> function MiFunción { } -o bien, function MiFunción { } <# .< palabra clave de ayuda> < contenido de ayuda> #> PALABRAS CLAVE DE LA AYUDA BASADA EN COMENTARIOS A continuación se enumeran las palabras clave válidas de Ayuda basada en comentarios, en el orden en que suelen aparecer en un tema de Ayuda, junto con su uso previsto. Estas palabras clave pueden aparecer en cualquier orden en la Ayuda basada en comentarios y no distinguen entre mayúsculas y minúsculas. .SYNOPSIS Descripción breve de la función o el script. Esta palabra clave solo se puede utilizar una vez en cada tema. .DESCRIPTION Descripción detallada de la función o el script. Esta palabra clave solo se puede utilizar una vez en cada tema. .PARAMETER <Nombre-del-parámetro> Descripción de un parámetro. Se puede incluir una palabra clave Parameter por cada parámetro que haya en la sintaxis de la función o el script. Las palabras clave Parameter pueden aparecer en cualquier orden dentro el bloque de comentario; sin embargo, la sintaxis de la función o el script determina en qué orden aparecerán los parámetros (y sus descripciones respectivas) en el tema de Ayuda. Para cambiar el orden, deberá cambiar la sintaxis. También se puede especificar la descripción de un parámetro incluyendo un comentario en la sintaxis de la función o del script inmediatamente antes del nombre de variable del parámetro. Si utiliza un comentario de sintaxis y una palabra clave Parameter, se utilizará la descripción asociada a la palabra clave Parameter y se omitirá el comentario de sintaxis. .EXAMPLE Comando de ejemplo que utiliza la función o el script, y que puede ir seguido, opcionalmente, por un ejemplo de resultado y una descripción. Repita esta palabra clave por cada ejemplo. .INPUTS Los tipos de Microsoft .NET Framework de los objetos que se pueden canalizar a la función o al script. También se puede incluir una descripción de los objetos de entrada. .OUTPUTS El tipo de .NET Framework de los objetos que el cmdlet devuelve. También se puede incluir una descripción de los objetos devueltos. .NOTES Información adicional sobre la función o el script. .LINK Nombre de un tema relacionado. Repita esta palabra clave por cada tema relacionado. Este contenido aparece en la sección Vínculos relacionados del tema de Ayuda. El contenido de la palabra clave Link también puede incluir un identificador uniforme de recursos (URI)a una versión en pantalla del mismo tema de Ayuda. La versión en pantalla se abre cuando se utiliza el parámetro Online de Get-Help. El identificador URI debe comenzar con "http" o "https". .COMPONENT Tecnología o característica que la función o el script utiliza, o con la que está relacionado. Este contenido aparece cuando el comando Get-Help incluye el parámetro Component de Get-Help. .ROLE Rol de usuario correspondiente al tema de Ayuda. Este contenido aparece cuando el comando Get-Help incluye el parámetro Role de Get-Help. .FUNCTIONALITY Uso previsto de la función. Este contenido aparece cuando el comando Get-Help incluye el parámetro Functionality de Get-Help. .FORWARDHELPTARGETNAME <Nombre-del-comando> Redirige al usuario al tema de Ayuda del comando especificado. Es posible redirigir a los usuarios a cualquier tema de Ayuda, incluso a los correspondientes a una función, un script, un cmdlet o un proveedor. .FORWARDHELPCATEGORY <Categoría> Especifica la categoría de Ayuda del elemento en ForwardHelpTargetName. Los valores válidos son Alias, Cmdlet, HelpFile, Function, Provider, General, FAQ, Glossary, ScriptCommand, ExternalScript, Filter o All. Utilice esta palabra clave para evitar conflictos cuando existan comandos con el mismo nombre. .REMOTEHELPRUNSPACE <variable-PSSession> Especifica una sesión que contiene el tema de Ayuda. Escriba una variable que contenga una sesión PSSession. El cmdlet Export-PSSession utiliza esta palabra clave para buscar los temas de Ayuda correspondientes a los comandos exportados. .EXTERNALHELP <Ruta de acceso del archivo de Ayuda XML> Especifica la ruta de acceso a un archivo de Ayuda basada en XML correspondiente a un script o una función. En Windows Vista y en las versiones de Windows posteriores, si la ruta especificada contiene subdirectorios específicos de la referencia cultural de la interfaz de usuario, Get-Help busca de forma recursiva en todos ellos hasta encontrar un archivo XML con el nombre del script o la función, de acuerdo con las normas de reserva de idioma establecidas para Windows Vista, exactamente igual que hace con todos los temas de Ayuda basados en XML. Para obtener más información sobre el formato de los archivos de Ayuda basada en XML para los cmdlet, vea el tema acerca de cómo crear Ayuda de cmdlets en MSDN Library (Microsoft Developer Network)en https://go.microsoft.com/fwlink/?LinkID=123415 CONTENIDO AUTOGENERADO El cmdlet Get-Help genera automáticamente el nombre, la sintaxis, la lista de parámetros, la tabla de atributos del parámetro, los parámetros comunes y las notas. Nombre: La sección de nombre de un tema de Ayuda de una función se toma del nombre de la función que figura en la sintaxis de la función. El nombre de un tema de Ayuda de script se toma del nombre de archivo del script. Para cambiar el nombre o su uso de mayúsculas, cambie la sintaxis de la función o el nombre del archivo de script. Sintaxis: La sección de sintaxis del tema de Ayuda se genera a partir de la sintaxis de la función o del script. Para agregar detalles a la sintaxis del tema de Ayuda, como el tipo de .NET Framework de un parámetro, añádalos a la sintaxis. Si no especifica un tipo de parámetro, el tipo "Object" se inserta como valor predeterminado. Lista de parámetros: La lista de parámetros del tema de Ayuda se genera a partir de la sintaxis de la función o del script y de las descripciones que se agregan mediante la palabra clave Parameters. Los parámetros de función aparecen en sección "Parámetros" del tema de Ayuda en el mismo orden en que aparecen en la sintaxis de la función o del script. La ortografía y el uso de mayúsculas de los nombres de los parámetros también se toman de la sintaxis; el nombre de parámetro especificado por la palabra clave Parameter no tiene efecto en ello. Parámetros comunes: Los parámetros comunes se agregan a la sintaxis y a la lista de parámetros del tema de Ayuda, aunque no tengan ningún efecto. Para obtener más información sobre los parámetros comunes, vea about_CommonParameters. Tabla de atributos del parámetro: Get-Help genera la tabla de atributos del parámetro que aparece cuando se utilizan l os parámetros Full o Parameter de Get-Help. El valor de los atributos Requerido, Posición y Valor predeterminado se toma de la sintaxis de la función o del script. Notas: La sección de notas del tema de Ayuda se genera automáticamente a partir del nombre de la función o del script. Su contenido no se puede modificar ni verse afectado. EJEMPLOS Ejemplo 1: Ayuda basada en comentarios de una función En la función de ejemplo siguiente se incluye Ayuda basada en comentarios: function Add-Extension { param ([cadena]$Name,[cadena]$Extension = "txt") $name = $name + "." + $extension $name <# .SYNOPSIS Agrega una extensión de nombre de archivo a un nombre proporcionado. .DESCRIPTION Agrega una extensión de nombre de archivo a un nombre proporcionado. Toma las cadenas para el nombre o la extensión de archivo. .PARAMETER Name Especifica el nombre del archivo. .PARAMETER Extension Especifica la extensión. El valor predeterminado es "Txt". .INPUTS Ninguna. No se pueden canalizar objetos a Add-Extension. .OUTPUTS System.String. Add-Extension devuelve una cadena con la extensión o el nombre del archivo. .EXAMPLE C:\PS> extension -name "Archivo" Archivo.txt .EXAMPLE C:\PS> extension -name "Archivo" -extension "doc" Archivo.doc .EXAMPLE C:\PS> extension "Archivo" "doc" Archivo.doc .LINK Versión en pantalla: http://www.fabrikam.com/extension.html .LINK Set-Item #> } Los resultados son: C:\PS> get-help add-extension -full NOMBRE Add-Extension SINOPSIS Agrega una extensión de nombre de archivo a un nombre proporcionado. SINTAXIS Add-Extension [[-Name] <Cadena>] [[-Extension] <Cadena>] [<CommonParameters>] DESCRIPCIÓN Agrega una extensión de nombre de archivo a un nombre proporcionado. Toma las cadenas para el nombre o la extensión de archivo. PARÁMETROS -Name Especifica el nombre del archivo. ¿Requerido? false ¿Posición? 0 Valor predeterminado ¿Aceptar canalización? false ¿Aceptar caracteres comodín? -Extension Especifica la extensión. El valor predeterminado es "Txt". ¿Requerido? false ¿Posición? 1 Valor predeterminado ¿Aceptar canalización? false ¿Aceptar caracteres comodín? <CommonParameters> Este cmdlet admite los parámetros comunes: -Verbose, -Debug, ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, OutBuffer y -OutVariable. Para obtener más información, escriba "get-help about_commonparameters". TIPO DE ENTRADA Ninguna. No se pueden canalizar objetos a Add-Extension. SALIDA System.String. Add-Extension devuelve una cadena con la extensión o el nombre del archivo. -------------------------- EJEMPLO 1 -------------------------- C:\PS> extension -name "Archivo" Archivo.txt -------------------------- EJEMPLO 2 -------------------------- C:\PS> extension -name "Archivo" -extension "doc" Archivo.doc -------------------------- EJEMPLO 3 -------------------------- C:\PS> extension "Archivo" "doc" Archivo.doc VÍNCULOS RELACIONADOS Versión en pantalla: http://www.fabrikam.com/extension.htm l Set-Item Ejemplo 2: Descripciones de parámetros en la sintaxis de funciones Este ejemplo es igual que el anterior, excepto porque las descripciones de los parámetros se insertan en la sintaxis de la función. Este formato resulta más útil cuando las descripciones son breves. function Add-Extension { param ( [cadena] # Especifica el nombre de archivo. $name, [cadena] # Especifica la extensión del nombre de archivo. El valor predeterminado es "Txt". $extension = "txt" ) $name = $name + "." + $extension $name <# .SYNOPSIS Agrega una extensión de nombre de archivo a un nombre proporcionado. .DESCRIPTION Agrega una extensión de nombre de archivo a un nombre proporcionado. Toma las cadenas para el nombre o la extensión de archivo. .INPUTS Ninguna. No se pueden canalizar objetos a Add-Extension. .OUTPUTS System.String. Add-Extension devuelve una cadena con la extensión o el nombre del archivo. .EXAMPLE C:\PS> extension -name "Archivo" Archivo.txt .EXAMPLE C:\PS> extension -name "Archivo" -extension "doc" Archivo.doc .EXAMPLE C:\PS> extension "Archivo" "doc" Archivo.doc .LINK Versión en pantalla: http://www.fabrikam.com/extension.html .LINK Set-Item #> } Ejemplo 3: Ayuda basada en comentarios para los scripts En el script de ejemplo siguiente se incluye Ayuda basada en comentarios. Observe las líneas en blanco entre los símbolos de cierre "#> " y la instrucción Param. En un script que no tenga una instrucción Param, deberá haber por lo menos dos líneas en blanco entre el comentario final del tema de Ayuda y la primera declaración de función. Sin estas líneas en blanco, Get-Help asociará el tema de Ayuda a la función y no al script. <# .SYNOPSIS Realiza actualizaciones mensuales de datos. .DESCRIPTION El script Update-Month.ps1 actualiza el Registro con nuevos datos generados durante el mes anterior y genera un informe. .PARAMETER InputPath Especifica la ruta de acceso al archivo de entrada basado en CSV. .PARAMETER OutputPath Especifica el nombre y la ruta de acceso del archivo de salida basado en CSV. De forma predeterminada, MonthlyUpdates.ps1 genera un nombre a partir de la fecha y hora en que se ejecuta y guarda la salida en el directorio local. .INPUTS Ninguna. No se pueden canalizar objetos a Update-Month.ps1. .OUTPUTS Ninguna. Update-Month.ps1 no genera ninguna salida. .EXAMPLE C:\PS> .\Update-Month.ps1 .EXAMPLE C:\PS> .\Update-Month.ps1 -inputpath C:\Data\Enero.csv .EXAMPLE C:\PS> .\Update-Month.ps1 -inputpath C:\Data\Enero.csv -outputPath C:\Reports\2009\Enero.csv #> param ([cadena]$InputPath, [cadena]$OutPutPath) function Get-Data { } ... El comando siguiente permite ver la Ayuda del script. Dado que el script no se encuentra en un directorio que figure en la lista de la variable de entorno Path, el comando Get-Help que permite ver la Ayuda del script debe especificar la ruta de acceso del script. PS C:\ps-test> get-help .\update-month.ps1 -full NOMBRE C:\ps-test\Update-Month.ps1 SINOPSIS Realiza actualizaciones mensuales de datos. SINTAXIS C:\ps-test\Update-Month.ps1 [-InputPath] <Cadena> [[-OutputPath] ]<Cadena>] [<CommonParameters>] DESCRIPCIÓN El script Update-Month.ps1 actualiza el Registro con nuevos datos generados durante el mes anterior y genera un informe. PARÁMETROS -InputPath Especifica la ruta de acceso al archivo de entrada basado en CSV. ¿Requerido? true ¿Posición? 0 Valor predeterminado ¿Aceptar canalización? false ¿Aceptar caracteres comodín? -OutputPath Especifica el nombre y la ruta de acceso del archivo de salida basado en CSV. De forma predeterminada, MonthlyUpdates.ps1 genera un nombre a partir de la fecha y hora en que se ejecuta y guarda la salida en el directorio local. ¿Requerido? false ¿Posición? 1 Valor predeterminado ¿Aceptar canalización? false ¿Aceptar caracteres comodín? <CommonParameters> Este cmdlet admite los parámetros comunes: -Verbose, -Debug, ErrorAction, -ErrorVariable, -WarningAction, -WarningVariable, OutBuffer y -OutVariable. Para obtener más información, escriba "get-help about_commonparameters". TIPO DE ENTRADA Ninguna. No se pueden canalizar objetos a Update-Month.ps1. SALIDA Ninguna. Update-Month.ps1 no genera ninguna salida. -------------------------- EJEMPLO 1 -------------------------- C:\PS> .\Update-Month.ps1 -------------------------- EJEMPLO 2 -------------------------- C:\PS> .\Update-Month.ps1 -inputpath C:\Data\Enero.csv -------------------------- EJEMPLO 3 -------------------------- C:\PS> .\Update-Month.ps1 -inputpath C:\Data\Enero.csv -outputPath C:\Reports\2009\Enero.csv VÍNCULOS RELACIONADOS Ejemplo 4: Redirigir a un archivo XML Es posible escribir temas de Ayuda basada en XML para las funciones y los scripts. Aunque la Ayuda basada en comentarios es más fácil de implementar, es necesario recurrir a la Ayuda basada en XML si se desea controlar con mayor precisión el contenido de la Ayuda o si los temas de la Ayuda se van a traducir a varios idiomas. En el ejemplo siguiente se muestran las primeras líneas del script Update-Month.ps1. En el script se utiliza la palabra clave ExternalHelp para especificar la ruta de acceso a un tema de Ayuda basada en XML para el script. # .ExternalHelp C:\MisScripts\Update-Month-Help.xml param ([cadena]$InputPath, [cadena]$OutPutPath) function Get-Data { } ... En el ejemplo siguiente se muestra el uso de la palabra clave ExternalHelp en una función. function Add-Extension { param ([cadena] $name, [cadena]$extension = "txt") $name = $name + "." + $extension $name # .ExternalHelp C:\ps-test\Add-Extension.xml } } Ejemplo 5: Redirigir a un tema de Ayuda diferente El código siguiente es un extracto del principio de la función Help integrada en Windows PowerShell, que muestra una pantalla de texto de Ayuda cada vez. Dado que el tema de Ayuda correspondiente al cmdlet Get-Help describe la función Help, la función Help utiliza las palabras clave ForwardHelpCategory y ForwardHelpTargetName para redirigir al usuario al tema de Ayuda del cmdlet Get-Help. function help { <# .FORWARDHELPTARGETNAME Get-Help .FORWARDHELPCATEGORY Cmdlet #> [CmdletBinding(DefaultParameterSetName='AllUsersView')] param( [Parameter(Position=0, ValueFromPipelineByPropertyName=$true)] [System.String] ${Name}, ... El comando siguiente utiliza esta característica: C:\PS> get-help help NOMBRE Get-Help SINOPSIS Muestra información acerca de cmdlets y conceptos de Windows PowerShell. ... VEA TAMBIÉN about_Functions about_Functions_Advanced_Parameters about_Scripts "Cómo escribir la Ayuda de los cmdlets" (https://go.microsoft.com/fwlink/?LinkID=123415)