about_Updatable_Help

Descripción breve

Describe el sistema de ayuda actualizable en PowerShell.

Descripción larga

PowerShell proporciona varias maneras diferentes de acceder a los temas de ayuda más actualizados para los cmdlets y conceptos de PowerShell.

El sistema de Ayuda actualizable, introducido en PowerShell 3.0, está diseñado para garantizar que siempre tiene los temas de ayuda más nuevos en el equipo local para que pueda leerlos en la línea de comandos. Facilita la descarga e instalación de archivos de ayuda y su actualización cada vez que estén disponibles los archivos de ayuda más recientes.

Para proporcionar ayuda actualizada para varios equipos de una empresa y para equipos que no tienen acceso a Internet, la Ayuda actualizable le permite descargar archivos de ayuda en un directorio del sistema de archivos o recurso compartido de archivos y, a continuación, instalar los archivos de ayuda desde el recurso compartido de archivos.

En PowerShell 4.0, la propiedad HelpInfoUri se conserva sobre la comunicación remota de Windows PowerShell, lo que permite trabajar con módulos instalados en un equipo remoto, pero no necesariamente instalados en el Save-Help equipo local. Puede guardar un objeto PSModuleInfo en disco o medios extraíbles (como una unidad USB) ejecutando en un equipo que no tiene acceso a Internet, importando el objeto PSModuleInfo en un equipo que tiene acceso a Internet y ejecutándose en el objeto Export-Clixml Save-Help PSModuleInfo. La ayuda guardada se puede copiar en el equipo remoto desconectado mediante medios extraíbles y, a continuación, instalarse mediante la ejecución de Update-Help . Estas mejoras en Save-Help la funcionalidad permiten instalar ayuda en equipos que no tienen ningún tipo de acceso a la red. Para obtener un ejemplo de cómo usar la nueva funcionalidad, vea Cómo actualizar la ayuda de un recurso compartido Save-Help de archivos en este tema.

La Ayuda actualizable también admite el acceso en línea a los temas de ayuda más nuevos y la ayuda básica de los cmdlets, incluso cuando no hay archivos de ayuda en el equipo.

PowerShell 3.0 no incluye archivos de Ayuda. Puede usar la característica Ayuda actualizable para instalar los archivos de ayuda de todos los comandos que se incluyen de forma predeterminada en PowerShell y en todos los módulos de Windows.

Cmdlets de ayuda actualizables

  • Update-Help: descarga los archivos de ayuda más recientes de Internet o de un recurso compartido de archivos, y los instala en el equipo local.

  • Save-Help: descarga los archivos de ayuda más recientes de Internet y los guarda en un directorio del sistema de archivos o un recurso compartido de archivos. Para instalar los archivos de ayuda en equipos, use Update-Help .

  • Get-Help: muestra los temas de ayuda en la línea de comandos. Obtiene ayuda de los archivos de ayuda del equipo. Muestra la ayuda generada automáticamente para cmdlets y funciones que no tienen archivos de ayuda. Abre temas de ayuda en línea para cmdlets, funciones, scripts y flujos de trabajo en el explorador de Internet predeterminado.

Ayuda generada automáticamente: ayuda sin archivos de ayuda

Si no tiene el archivo de ayuda de un cmdlet, función o flujo de trabajo en el equipo, el cmdlet muestra la ayuda generada automáticamente y le pide que descargue los archivos de ayuda o los lea en Get-Help línea.

La ayuda generada automáticamente incluye sintaxis y alias, y comentarios que explican cómo usar los cmdlets de Ayuda actualizable y acceder a los temas de ayuda en línea.

Por ejemplo, el siguiente comando obtiene ayuda básica para el Get-Culture cmdlet . La salida muestra la Get-Help pantalla cuando no hay archivos de ayuda en el equipo.

Get-Help Get-Culture
NAME
    Get-Culture

SYNTAX
    Get-Culture [<CommonParameters>]

ALIASES
    None

REMARKS
    To get the latest Help content including descriptions and examples
    type: Update-Help.

Archivos de ayuda para módulos

La unidad más pequeña de Ayuda actualizable es la ayuda de un módulo. La ayuda del módulo incluye ayuda para todos los cmdlets, funciones, flujos de trabajo, proveedores, scripts y conceptos de un módulo. Puede actualizar la ayuda de todos los módulos instalados en el equipo, incluso si no se importan en la sesión actual.

Puede actualizar la ayuda de todo el módulo, pero no puede actualizar la ayuda de cmdlets individuales.

Para buscar el módulo que contiene un cmdlet determinado, use el siguiente formato de comando:

(Get-Command <cmdlet-name>).ModuleName

Por ejemplo, para buscar el módulo que contiene el Set-ExecutionPolicy cmdlet, escriba:

(Get-Command Set-ExecutionPolicy).ModuleName

Para actualizar la ayuda de un módulo determinado, escriba:

Update-Help -Module <ModuleName>

Por ejemplo, para actualizar la ayuda del módulo que contiene el cmdlet Set-ExecutionPolicy, escriba:

Update-Help -Module Microsoft.PowerShell.Security

Permisos para obtener ayuda actualizable

Para actualizar la ayuda de los módulos del directorio , debe $pshome/Modules ser miembro del grupo Administradores en el equipo.

Si no es miembro del grupo Administradores, no puede actualizar la ayuda de estos módulos. pero si tiene acceso a Internet, puede ver la ayuda en línea.

La actualización de la ayuda para los módulos del directorio o los módulos de otros subdirectorios del directorio $home/Documents/PowerShell/Modules $home no requiere permisos especiales.

Los Update-Help Save-Help cmdlets y tienen un parámetro UseDefaultCredentials que proporciona las credenciales explícitas del usuario actual. Este parámetro está diseñado para acceder a ubicaciones seguras de Internet.

Los cmdlets y también tienen un parámetro Credential que permite ejecutar el comando en un equipo remoto y acceder a un recurso compartido de archivos Update-Help Save-Help en un tercer equipo. El parámetro Credential solo es válido cuando se usan los parámetros SourcePath o LiteralPath de y los parámetros Update-Help DestinationPath o LiteralPath de Save-Help .

Instalación y actualización de archivos de ayuda

Para descargar e instalar archivos de ayuda por primera vez, o para actualizar los archivos de ayuda en el equipo, use el Update-Help cmdlet .

El Update-Help cmdlet realiza todo el trabajo en su lugar, incluidas las siguientes tareas.

  • Determina qué módulos admiten la Ayuda actualizable.
  • Busca la ubicación de Internet donde cada módulo almacena sus archivos de Ayuda actualizables.
  • Compara los archivos de ayuda de cada módulo del equipo con los archivos de ayuda más nuevos que están disponibles para cada módulo.
  • Descarga los nuevos archivos de Internet.
  • Desencapsula el paquete de archivos de ayuda.
  • Comprueba que los archivos son archivos de ayuda válidos.
  • Instala los archivos de ayuda en el subdirectorio específico del lenguaje del directorio del módulo.

Para acceder a los nuevos temas de ayuda, use el Get-Help cmdlet . No es necesario reiniciar PowerShell.

Para instalar o actualizar la ayuda de todos los módulos del equipo que admite la Ayuda actualizable, escriba:

Update-Help

Para actualizar la ayuda de módulos concretos, agregue el parámetro Module de Update-Help . Se permiten caracteres comodín en el nombre del módulo.

Por ejemplo, para actualizar la ayuda del módulo ServerManager, escriba:

Update-Help -Module ServerManager

Sin parámetros, actualiza la ayuda de todos los módulos de la sesión y de todos los Update-Help módulos instalados que admiten la Ayuda actualizable. Para incluirlos, los módulos deben instalarse en directorios que se muestran en el valor de la variable de entorno PSModulePath. También se trata de módulos devueltos por un comando "Get-Help -ListAvailable".

Si el valor del parámetro Module es (todos), intenta actualizar la ayuda de todos los módulos instalados, incluidos los módulos que no admiten la * Ayuda Update-Help actualizable. Este comando suele generar muchos errores, ya que el cmdlet encuentra módulos que no admiten la Ayuda actualizable.

Cómo actualizar la ayuda de un recurso compartido de archivos

Para admitir equipos que no están conectados a Internet, o para controlar o simplificar la actualización de ayuda en una empresa, use el Save-Help cmdlet . El cmdlet descarga los archivos de ayuda de Internet y los guarda Save-Help en un directorio del sistema de archivos que especifique.

Save-Help compara los archivos de ayuda del directorio especificado con los archivos de ayuda más nuevos que están disponibles para cada módulo. Si el directorio no tiene archivos de ayuda o hay archivos de ayuda más recientes disponibles para el módulo, el cmdlet descarga los nuevos Save-Help archivos de Internet. Sin embargo, no desencapsula ni instala los archivos de ayuda.

Para instalar o actualizar los archivos de ayuda en un equipo a partir de archivos de ayuda que se guardaron en un directorio del sistema de archivos, use el parámetro SourcePath del Update-Help cmdlet . El cmdlet identifica los archivos de ayuda más nuevos, los desencapsula y valida, y los instala en los subdirectorios específicos del lenguaje de los Update-Help directorios del módulo.

Por ejemplo, para guardar la ayuda de todos los módulos instalados en el \\Server\Share directorio, escriba:

Save-Help -DestinationPath \\Server\Share

A continuación, para actualizar la ayuda desde \\Server\Share el directorio, escriba:

Update-Help -SourcePath \\Server\Share

En los ejemplos siguientes se muestra el uso de para guardar la ayuda de los módulos Save-Help que no están instalados en el equipo local. En este ejemplo, el administrador ejecuta para guardar la ayuda del módulo DhcpServer desde un equipo cliente conectado a Internet, sin instalar el módulo DhcpServer o el rol servidor DHCP en el Save-Help equipo local.

Opción 1: ejecute para obtener el objeto PSModuleInfo para el módulo remoto, guárdelo en una variable, y, a continuación, ejecute en el objeto Invoke-Command $m Save-Help PSModuleInfo especificando la variable como nombre $m del módulo.

$m = Invoke-Command -ComputerName RemoteServer -ScriptBlock
{ Get-Module -Name DhcpServer -ListAvailable }
Save-Help -Module $m -DestinationPath C:\SavedHelp

Opción 2: abra una PSSession destinada al equipo que ejecuta el módulo servidor DHCP para obtener el objeto PSModuleInfo del módulo, guárdelo en una variable y, a continuación, ejecárdelo en el objeto que se guarda en la $m Save-Help $m variable.

$s = New-PSSession -ComputerName RemoteServer
$m = Get-Module -PSSession $s -Name DhcpServer -ListAvailable
Save-Help -Module $m -DestinationPath C:\SavedHelp

Opción 3: abra una sesión CIM, destinada al equipo que ejecuta el módulo servidor DHCP, para obtener el objeto PSModuleInfo del módulo, guardarlo en una variable y, a continuación, ejecutarlo en el objeto que se guarda en la $m Save-Help $m variable.

$c = New-CimSession -ComputerName RemoteServer
$m = Get-Module -CimSession $c -Name DhcpServer -ListAvailable
Save-Help -Module $m -DestinationPath C:\SavedHelp

En el ejemplo siguiente, el administrador instala la ayuda para el módulo servidor DHCP en un equipo que no tiene acceso a la red.

En primer lugar, Export-Clixml ejecute para exportar el objeto PSModuleInfo a una carpeta compartida o a un medio extraíble.

$m = Get-Module -Name DhcpServer -ListAvailable
Export-Clixml -Path E:\UsbFlashDrive\DhcpModule.xml -InputObject $m

A continuación, transporte los medios extraíbles a un equipo que tenga acceso a Internet y, a continuación, importe el objeto PSModuleInfo con Import-Clixml . Ejecute Save-Help para guardar la Ayuda del objeto PSModuleInfo del módulo DhcpServer importado.

$deserialized_m = Import-Clixml E:\UsbFlashDrive\DhcpModule.xml
Save-Help -Module $deserialized_m -DestinationPath E:\UsbFlashDrive\SavedHelp

Por último, vuelva a transportar los medios extraíbles al equipo que no tiene acceso a la red y, a continuación, instale la ayuda mediante la ejecución de Update-Help .

Update-Help -Module DhcpServer -SourcePath E:\UsbFlashDrive\SavedHelp

Sin parámetros, descarga ayuda para todos los módulos de la sesión y para todos Save-Help los módulos instalados que admiten la Ayuda actualizable. Para incluirlos, los módulos deben instalarse en directorios que aparecen en el valor de la variable de entorno, en el equipo local o en un equipo remoto para el que quiera guardar $env:PSModulePath ayuda. También son módulos que se devuelven mediante la ejecución de un Get-Help -ListAvailable comando .

Actualización de archivos de ayuda en distintos idiomas

De forma predeterminada, los cmdlets y descargan ayuda en la referencia cultural y el idioma de la interfaz de usuario que se Update-Help establece para Windows en el equipo Save-Help local. Si los archivos de ayuda de los módulos especificados no están disponibles en la referencia cultural de la interfaz de usuario local, y use las reglas de reserva del lenguaje Windows para encontrar el Update-Help Save-Help mejor idioma admitido.

Sin embargo, puede usar los parámetros UICulture de los cmdlets y para descargar e instalar archivos de ayuda en cualquier referencia cultural de interfaz de usuario en la Update-Help que estén Save-Help disponibles.

Por ejemplo, para guardar los archivos de ayuda más nuevos para todos los módulos de la sesión en japonés (Ja-jp) y francés (fr-FR), escriba:

Save-Help -Path \Server\Share -UICulture ja-jp, fr-fr

Si los archivos de ayuda de los módulos no están disponibles en los Update-Help idiomas especificados, los cmdlets y devuelven un mensaje de error que enumera los idiomas en los que la ayuda para cada módulo está disponible para que pueda elegir la alternativa que mejor se adapte Save-Help a sus necesidades.

Nota

Actualmente, el contenido de la Ayuda actualizable solo se publica en inglés (en-US). En algunos sistemas que no son de Windows, debe usar el parámetro UICulture para solicitar explícitamente el en-US contenido.

Uso de la ayuda en línea

Si no puede o decide no actualizar los archivos de ayuda en el equipo local, puede obtener los archivos de ayuda más nuevos en línea.

Para abrir el tema de ayuda en línea para cualquier cmdlet o función, use el parámetro Online del Get-Help cmdlet.

Por ejemplo, el comando siguiente abre el tema de ayuda en línea para el Get-Job cmdlet en el explorador de Internet predeterminado:

Get-Help Get-Job -Online

Para obtener ayuda en línea para un script, use el parámetro Online y la ruta de acceso completa al script.

El parámetro Online no funciona con temas acerca de . Para ver los temas acerca de PowerShell, incluidos los temas de ayuda sobre el lenguaje de PowerShell, vea Temas de PowerShell acerca de.

Minimización o prevención de descargas de Internet

Para minimizar las descargas de Internet y proporcionar ayuda actualizable a los usuarios que no están conectados a Internet, use el Save-Help cmdlet . Descargue ayuda de Internet y guárdela en un recurso compartido de red. A continuación, cree una directiva de grupo o un trabajo programado que ejecute un Update-Help comando en todos los equipos. Establezca el valor del parámetro SourcePath del Update-Help cmdlet en el recurso compartido de red.

Para evitar que los usuarios que tienen acceso a Internet descarguen la Ayuda actualizable de Internet, use la opción Establecer la ruta de acceso de origen predeterminada para update-help directiva de grupo configuración.

Esta directiva de grupo configuración agrega implícitamente el parámetro SourcePath, con la ubicación del sistema de archivos que especifique, a cada Update-Help comando de cada equipo afectado. Los usuarios pueden usar explícitamente el parámetro SourcePath para especificar una ubicación del sistema de archivos diferente, pero no pueden excluir el parámetro SourcePath ni descargar ayuda de Internet.

Nota

La opción Establecer la ruta de acceso de origen predeterminada para la directiva de grupo Update-Help aparece en Configuración del equipo y Configuración del usuario. Sin embargo, solo la configuración de directiva en Configuración del equipo es efectiva. Se omite la configuración de directiva en Configuración de usuario.

Para más información, consulte about_Group_Policy_Settings.

Actualización de la ayuda para módulos no estándar

Para actualizar o guardar la ayuda de un módulo que no devuelve el parámetro ListAvailable del cmdlet, importe el módulo en la sesión actual antes de ejecutar Get-Module un comando o Update-Help Save-Help . En un equipo remoto, antes de ejecutar el comando, importe el módulo en la sesión actual, o bloque de script, que está Save-Help Invoke-Command conectado al equipo remoto.

Cuando el módulo esté en la sesión actual, ejecute los cmdlets o sin parámetros, o use el parámetro Update-Help Module para especificar el nombre del Save-Help módulo.

Los parámetros Module de los Update-Help Save-Help cmdlets y solo aceptan un nombre de módulo. No aceptan la ruta de acceso a un archivo de módulo.

Use esta técnica para actualizar o guardar ayuda para cualquier módulo que no sea devuelto por el parámetro ListAvailable del cmdlet, como un módulo instalado en una ubicación que no aparece en la variable de entorno o un módulo que no esté bien formado (el directorio del módulo no contiene al menos un archivo cuyo nombre base es el mismo que el nombre del Get-Module $env:PSModulePath directorio).

Cómo admitir ayuda actualizable

Si va a crear un módulo, puede admitir ayuda en línea y ayuda actualizable para los módulos. Para obtener más información, vea Supporting Updatable Help and Supporting Online Help (Compatibilidad con ayuda actualizable y soporte técnico en línea) en la Microsoft Docs.

La ayuda actualizable no está disponible para complementos de PowerShell o ayuda basada en comentarios.

Comentarios

Los Update-Help Save-Help cmdlets y no se admiten en Entorno de preinstalación de Windows (Windows PE).

Consulte también

Get-Help

Save-Help

Update-Help