Compartir a través de


Update-Help

Descarga e instala los archivos de ayuda más recientes en el equipo.

Sintaxis

Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [[-SourcePath] <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-Scope <UpdateHelpScope>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [-LiteralPath <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-Scope <UpdateHelpScope>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

El cmdlet Update-Help descarga los archivos de ayuda más recientes para los módulos de PowerShell e los instala en el equipo. No es necesario reiniciar PowerShell para que el cambio sea efectivo. Puede usar el cmdlet Get-Help para ver los nuevos archivos de ayuda inmediatamente.

Update-Help comprueba la versión de los archivos de ayuda en el equipo. Si no tiene archivos de ayuda para un módulo o si los archivos de ayuda están obsoletos, Update-Help descarga los archivos de ayuda más recientes. Los archivos de ayuda se pueden descargar e instalar desde Internet o un recurso compartido de archivos.

Sin parámetros, Update-Help actualiza los archivos de ayuda de los módulos que admiten ayuda actualizable y se cargan en la sesión o se instalan en una ubicación incluida en el $env:PSModulePath. Para obtener más información, vea about_Updatable_Help.

Update-Help comprueba la versión de la ayuda instalada. Si Update-Help no encuentra archivos de ayuda actualizados para un módulo, continúa silenciosamente sin mostrar un mensaje de error. Use el parámetro Force para omitir la comprobación de versiones. Use el parámetro verbose para ver los detalles de estado y progreso. Use el parámetro module para actualizar los archivos de ayuda de un módulo determinado.

También puede usar Update-Help en equipos que no están conectados a Internet. En primer lugar, use el cmdlet Save-Helppara descargar archivos de ayuda de Internet y guardarlos en una carpeta compartida accesible para el sistema que no está conectado a Internet. A continuación, use el parámetro SourcePath de Update-Help para descargar los archivos de ayuda actualizados del compartido e instalarlos en el equipo.

El cmdlet Update-Help se introdujo en Windows PowerShell 3.0.

Importante

Update-Help requiere privilegios administrativos en PowerShell 6.0 y versiones posteriores. PowerShell 6.1 y versiones posteriores establecen el de ámbito de predeterminado en CurrentUser. Antes de PowerShell 6.1, el parámetro ámbito de no estaba disponible.

Debe ser miembro del grupo Administradores del equipo para actualizar los archivos de ayuda de los módulos principales de PowerShell.

Para descargar o actualizar los archivos de ayuda de los módulos en el directorio de instalación de PowerShell ($PSHOME\Modules), incluidos los módulos de PowerShell Core, inicie PowerShell mediante la opción Ejecutar como administrador. Por ejemplo: Start-Process pwsh.exe -Verb RunAs.

Ejemplos

Ejemplo 1: Actualización de archivos de ayuda para todos los módulos

El cmdlet Update-Help actualiza los archivos de ayuda de los módulos instalados que admiten ayuda actualizable. El idioma de referencia cultural de la interfaz de usuario (UI) se establece en el sistema operativo.

Update-Help

Ejemplo 2: Actualización de archivos de ayuda para módulos especificados

El cmdlet Update-Help actualiza los archivos de ayuda solo para los nombres de módulo que comienzan por Microsoft.PowerShell.

Update-Help -Module Microsoft.PowerShell*

Ejemplo 3: Actualización de la ayuda en un sistema no establecido en la configuración regional de en-US

El cmdlet Update-Help está diseñado para descargar ayuda en varios idiomas. Sin embargo, cuando no hay ayuda disponible para el idioma que usa el sistema, se muestra un mensaje de error para el módulo y la referencia cultural de la interfaz de usuario.

En este ejemplo, Update-Help se ejecuta en un sistema que se establece en la configuración regional en-GB.

Update-Help Microsoft.PowerShell.Utility -Force

Update-Help: Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with
UI culture(s) {en-GB} : The specified culture is not supported: en-GB. Specify a culture
from the following list: {en-US}..
English-US help content is available and can be installed using: Update-Help -UICulture en-US.

Los archivos de ayuda siempre se publican para la configuración regional de en-US. Para descargar la ayuda en inglés, ejecute Update-Help con el parámetro uiCulture de y especifique la configuración regional de en-US.

Ejemplo 4: Actualización de archivos de ayuda en varios equipos desde un recurso compartido de archivos

En este ejemplo, los archivos de ayuda actualizados se descargan de Internet y se guardan en un recurso compartido de archivos. Se necesitan credenciales de usuario que tengan permisos para acceder al recurso compartido de archivos e instalar actualizaciones. Cuando se usa un recurso compartido de archivos, es posible actualizar los equipos que están detrás de firewalls o que no están conectados a Internet.

Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
Invoke-Command -ComputerName (Get-Content Servers.txt) -ScriptBlock {
     Update-Help -SourcePath \\Server01\Share\PSHelp -Credential Domain01\Admin01
}

El comando Save-Help descarga los archivos de ayuda más recientes para todos los módulos que admiten ayuda actualizable. El parámetro DestinationPath guarda los archivos en el recurso compartido de archivos \\Server01\Share\PSHelp. El parámetro credential especifica un usuario que tiene permiso para acceder al recurso compartido de archivos.

El cmdlet Invoke-Command ejecuta comandos de Update-Help remotos en varios equipos. El parámetro ComputerName obtiene una lista de equipos remotos del archivo Servers.txt. El parámetro scriptBlock ejecuta el comando Update-Help y usa el parámetro SourcePath para especificar el recurso compartido de archivos que contiene los archivos de ayuda actualizados. El parámetro Credential especifica un usuario que puede acceder al recurso compartido de archivos y ejecutar el comando remoto de Update-Help.

Ejemplo 5: Obtener una lista de archivos de ayuda actualizados

El cmdlet Update-Help actualiza la ayuda para un módulo especificado. El cmdlet usa el verbose parámetro común para mostrar la lista de archivos de ayuda que se actualizaron. Puede usar detallado para ver la salida de todos los archivos de ayuda o archivos de ayuda de un módulo específico.

Sin el parámetro detallado de, Update-Help no muestra los resultados del comando. La salida del parámetro detallado es útil para comprobar que los archivos de ayuda se actualizaron o si está instalada la versión más reciente.

Update-Help -Module Microsoft.PowerShell.Utility -Verbose

Ejemplo 6: Buscar módulos que admiten ayuda actualizable

En este ejemplo se enumeran los módulos que admiten ayuda actualizable. El comando usa la propiedad HelpInfoUri del módulo para identificar los módulos que admiten ayuda actualizable. La propiedad helpInfoUri de contiene una dirección URL que se redirige cuando se ejecuta el cmdlet Update-Help.

Get-Module -ListAvailable | Where-Object -Property HelpInfoUri

Directory: C:\program files\powershell\6\Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Manifest   6.1.0.0    CimCmdlets                          Core      {Get-CimAssociatedInstance... }
Manifest   1.2.2.0    Microsoft.PowerShell.Archive        Desk      {Compress-Archive... }
Manifest   6.1.0.0    Microsoft.PowerShell.Diagnostics    Core      {Get-WinEvent, New-WinEvent}

    Directory: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules

ModuleType Version    Name                                PSEdition ExportedCommands
---------- -------    ----                                --------- ----------------
Manifest   2.0.1.0    Appx                                Core,Desk {Add-AppxPackage, ... }
Script     1.0.0.0    AssignedAccess                      Core,Desk {Clear-AssignedAccess, ... }
Manifest   1.0.0.0    BitLocker                           Core,Desk {Unlock-BitLocker, ... }

Ejemplo 7: Inventario de archivos de ayuda actualizados

En este ejemplo, el script Get-UpdateHelpVersion.ps1 crea un inventario de los archivos de Ayuda actualizables para cada módulo y sus números de versión.

El script identifica los módulos que admiten ayuda actualizable mediante la propiedad HelpInfoUri de módulos. Para los módulos que admiten ayuda actualizable, el script busca y analiza el archivo de información de ayuda (*helpinfo.xml) para buscar el número de versión más reciente.

El script usa la clase PSCustomObject y una tabla hash para crear un objeto de salida personalizado.

# Get-UpdateHelpVersion.ps1
Param(
    [parameter(Mandatory=$False)]
    [String[]]
    $Module
)
$HelpInfoNamespace = @{helpInfo='http://schemas.microsoft.com/powershell/help/2010/05'}

if ($Module) { $Modules = Get-Module $Module -ListAvailable | where {$_.HelpInfoUri} }
else { $Modules = Get-Module -ListAvailable | where {$_.HelpInfoUri} }

foreach ($mModule in $Modules)
{
    $mDir = $mModule.ModuleBase

    if (Test-Path $mDir\*helpinfo.xml)
    {
        $mName=$mModule.Name
        $mNodes = dir $mDir\*helpinfo.xml -ErrorAction SilentlyContinue |
            Select-Xml -Namespace $HelpInfoNamespace -XPath "//helpInfo:UICulture"
        foreach ($mNode in $mNodes)
        {
            $mCulture=$mNode.Node.UICultureName
            $mVer=$mNode.Node.UICultureVersion

            [PSCustomObject]@{"ModuleName"=$mName; "Culture"=$mCulture; "Version"=$mVer}
        }
    }
}

ModuleName                              Culture                                 Version
----------                              -------                                 -------
ActiveDirectory                         en-US                                   3.0.0.0
ADCSAdministration                      en-US                                   3.0.0.0
ADCSDeployment                          en-US                                   3.0.0.0
ADDSDeployment                          en-US                                   3.0.0.0
ADFS                                    en-US                                   3.0.0.0

Parámetros

-Confirm

Le pide confirmación antes de ejecutar el cmdlet.

Tipo:SwitchParameter
Alias:cf
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Credential

Especifica las credenciales de un usuario que tiene permiso para acceder a la ubicación del sistema de archivos especificada por SourcePath. Este parámetro solo es válido cuando el parámetro SourcePath o LiteralPath se usa en el comando .

El parámetro Credential permite ejecutar comandos Update-Help con el parámetro SourcePath en equipos remotos. Al proporcionar credenciales explícitas, puede ejecutar el comando en un equipo remoto y acceder a un recurso compartido de archivos en un tercer equipo sin encontrar un error de acceso denegado o usar la autenticación CredSSP para delegar las credenciales.

Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential generado por el cmdlet Get-Credential. Si escribe un nombre de usuario, se le pedirá que escriba la contraseña.

Las credenciales se almacenan en un objeto de PSCredential de y la contraseña se almacena como SecureString.

Nota

Para obtener más información sobre Protección de datos de secureString, consulte ¿Cómo es secureString?.

Tipo:PSCredential
Posición:Named
Valor predeterminado:Current user
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Force

Indica que este cmdlet no sigue la limitación de una vez al día, omite la comprobación de versiones y descarga archivos que superan el límite de 1 GB.

Sin este parámetro, Update-Help se ejecuta solo una vez en cada período de 24 horas. Las descargas se limitan a 1 GB de contenido sin comprimir por módulo y los archivos de ayuda solo se instalan cuando son más recientes que los archivos existentes en el equipo.

El límite de una vez al día protege los servidores que hospedan los archivos de ayuda y le permite agregar un comando Update-Help al perfil de PowerShell sin incurrir en el costo de recursos de las conexiones repetidas o descargas.

Para actualizar la ayuda de un módulo en varias referencias culturales de interfaz de usuario sin el parámetro Force, incluya todas las referencias culturales de la interfaz de usuario en el mismo comando, como:

Update-Help -Module PSScheduledJobs -UICulture en-US, fr-FR, pt-BR

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-FullyQualifiedModule

El valor puede ser un nombre de módulo, una especificación de módulo completa o una ruta de acceso a un archivo de módulo.

Cuando el valor es una ruta de acceso, la ruta de acceso puede ser completa o relativa. Se resuelve una ruta de acceso relativa con respecto al script que contiene la instrucción using.

Cuando el valor es un nombre o especificación de módulo, PowerShell busca en el psModulePath para el módulo especificado.

Una especificación de módulo es una tabla hash que tiene las siguientes claves.

  • ModuleName - Required Especifica el nombre del módulo.
  • GUID - opcional Especifica el GUID del módulo.
  • También es obligatorio especificar al menos una de las tres claves siguientes.
    • ModuleVersion: especifica una versión mínima aceptable del módulo.
    • MaximumVersion: especifica la versión máxima aceptable del módulo.
    • RequiredVersion: especifica una versión exacta y necesaria del módulo. Esto no se puede usar con las otras claves de versión.

No se puede especificar el parámetro FullyQualifiedModule en el mismo comando que un parámetro Module.

Tipo:ModuleSpecification[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-LiteralPath

Especifica la carpeta para los archivos de ayuda actualizados en lugar de descargarlos desde Internet. Use este parámetro o SourcePath si ha usado el cmdlet Save-Help para descargar archivos de ayuda en un directorio.

Puede canalización de un objeto de directorio, como desde los cmdlets de Get-Item o Get-ChildItem, a Update-Help.

A diferencia del valor de SourcePath, el valor de LiteralPath se usa exactamente como se escribe. No se interpreta ningún carácter comodín. Si la ruta de acceso incluye caracteres de escape, escríbala entre comillas simples. Las comillas simples indican a PowerShell que no interprete ningún carácter como secuencias de escape.

Tipo:String[]
Alias:PSPath, LP
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Module

Actualiza la ayuda de los módulos especificados. Escriba uno o varios nombres de módulo o patrones de nombre en una lista separada por comas o especifique un archivo que muestre un nombre de módulo en cada línea. Se permiten caracteres comodín. Puede canalización de módulos desde el cmdlet Get-Module al cmdlet Update-Help.

Los módulos que especifique deben instalarse en el equipo, pero no tienen que importarse en la sesión actual. Puede especificar cualquier módulo de la sesión o cualquier módulo instalado en una ubicación que aparezca en la variable de entorno $env:PSModulePath.

Valor de * (todos) intenta actualizar la ayuda de todos los módulos instalados en el equipo. Se incluyen módulos que no admiten ayuda actualizable. Este valor puede generar errores cuando el comando encuentra módulos que no admiten ayuda actualizable. En su lugar, ejecute Update-Help sin parámetros.

El parámetro Module del cmdlet Update-Help no acepta la ruta de acceso completa de un archivo de módulo o archivo de manifiesto de módulo. Para actualizar la ayuda de un módulo que no está en una ubicación de $env:PSModulePath, importe el módulo en la sesión actual antes de ejecutar el comando Update-Help.

Tipo:String[]
Alias:Name
Posición:0
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:True

-Recurse

Realiza una búsqueda recursiva de archivos de ayuda en el directorio especificado. Este parámetro solo es válido cuando el comando usa el parámetro SourcePath.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Scope

Especifica el ámbito del sistema en el que se actualiza la ayuda. Las actualizaciones del ámbito de AllUsers requieren privilegios administrativos en los sistemas Windows. El parámetro -Scope se introdujo en PowerShell Core versión 6.1.

CurrentUser es el ámbito predeterminado de los archivos de ayuda en PowerShell 6.1 y versiones posteriores. se puede especificar AllUsers para instalar o actualizar la ayuda para todos los usuarios. En los sistemas Unix sudo privilegios son necesarios para actualizar la ayuda de todos los usuarios. Por ejemplo: sudo pwsh -c Update-Help

Los valores aceptables son:

  • CurrentUser
  • AllUsers
Tipo:UpdateHelpScope
Posición:Named
Valor predeterminado:CurrentUser
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-SourcePath

Especifica una carpeta del sistema de archivos donde Update-Help obtiene archivos de ayuda actualizados, en lugar de descargarlos desde Internet. Escriba la ruta de acceso de una carpeta. No especifique un nombre de archivo ni una extensión de nombre de archivo. Puede canalización de una carpeta, como uno de los cmdlets de Get-Item o Get-ChildItem, a Update-Help.

De forma predeterminada, Update-Help descarga archivos de ayuda actualizados desde Internet. Use sourcePath cuando haya usado el cmdlet Save-Help para descargar archivos de ayuda actualizados en un directorio.

Para especificar un valor predeterminado para SourcePath, vaya a directiva de grupo, Configuración del equipoy Establezca la ruta de acceso de origen predeterminada para Update-Help. Esta configuración de directiva de grupo impide que los usuarios usen Update-Help para descargar archivos de ayuda de Internet. Para obtener más información, vea about_Group_Policy_Settings.

Tipo:String[]
Alias:Path
Posición:1
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-UICulture

Especifica los valores de referencia cultural de la interfaz de usuario para los que este cmdlet obtiene archivos de ayuda actualizados. Escriba uno o varios códigos de idioma, como es-ES, una variable que contenga objetos de referencia cultural o un comando que obtenga objetos de referencia cultural, como un comando Get-Culture o Get-UICulture. No se permiten caracteres comodín.

De forma predeterminada, Update-Help obtiene archivos de ayuda en la referencia cultural de la interfaz de usuario establecida para el sistema operativo o su referencia cultural de reserva. Si especifica el parámetro UICulture, Update-Help solo busca ayuda para el idioma especificado.

A partir de PowerShell 7.4, puede usar un código de idioma parcial, como en para descargar ayuda en inglés para cualquier región.

Nota

Ubuntu 18.04 cambió la configuración regional predeterminada a C.UTF.8, que no es una referencia cultural de interfaz de usuario reconocida. Update-Help no se puede descargar la ayuda de forma silenciosa a menos que use este parámetro con una configuración regional compatible como en-US. Esto puede ocurrir en cualquier plataforma que use un valor no admitido.

Tipo:CultureInfo[]
Posición:2
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-UseDefaultCredentials

Indica que Update-Help ejecuta el comando, incluida la descarga de Internet, mediante las credenciales del usuario actual. De forma predeterminada, el comando se ejecuta sin credenciales explícitas.

Este parámetro solo es efectivo cuando la descarga web usa NT LAN Manager (NTLM), negotiate o autenticación basada en Kerberos.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-WhatIf

Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.

Tipo:SwitchParameter
Alias:wi
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

Entradas

DirectoryInfo

Puede canalizar un objeto de ruta de acceso de directorio a este cmdlet.

PSModuleInfo

Puede canalizar un objeto de módulo a este cmdlet.

Salidas

None

Este cmdlet no devuelve ninguna salida.

Notas

Para actualizar la ayuda de los módulos principales de PowerShell, que contienen los comandos instalados con PowerShell o cualquier módulo del directorio $PSHOME\Modules, inicie PowerShell con la opción de Ejecutar como administrador.

Solo los miembros del grupo Administradores del equipo pueden actualizar la ayuda de los módulos principales de PowerShell, los comandos instalados junto con PowerShell y para los módulos de la carpeta $PSHOME\Modules. Si no tiene permiso para actualizar los archivos de ayuda, puede leer los archivos de ayuda en línea. Por ejemplo, Get-Help Update-Help -Online.

Los módulos son la unidad más pequeña de ayuda actualizable. No se puede actualizar la ayuda de un cmdlet determinado. Para buscar el módulo que contiene un cmdlet determinado, use la propiedad ModuleName del cmdlet Get-Command, por ejemplo, (Get-Command Update-Help).ModuleName.

Dado que los archivos de ayuda se instalan en el directorio del módulo, el cmdlet Update-Help puede instalar el archivo de ayuda actualizado solo para los módulos instalados en el equipo. Sin embargo, el cmdlet Save-Help puede guardar ayuda para los módulos que no están instalados en el equipo.

El cmdlet Update-Help se introdujo en Windows PowerShell 3.0. No funciona en versiones anteriores de PowerShell. En equipos que tienen Windows PowerShell 2.0 y Windows PowerShell 3.0, use el cmdlet Update-Help en una sesión de Windows PowerShell 3.0 para descargar y actualizar archivos de ayuda. Los archivos de ayuda están disponibles para Windows PowerShell 2.0 y Windows PowerShell 3.0.

Los cmdlets Update-Help y Save-Help usan los siguientes puertos para descargar archivos de ayuda: Puerto 80 para HTTP y puerto 443 para HTTPS.

Update-Help admite todos los módulos y los complementos principales de PowerShell. No admite ningún otro complemento.

Para actualizar la ayuda de un módulo en una ubicación que no aparece en la variable de entorno $env:PSModulePath, importe el módulo en la sesión actual y ejecute un comando Update-Help. Ejecute Update-Help sin parámetros ni use el parámetro Module para especificar el nombre del módulo. El parámetro Module de los cmdlets Update-Help y Save-Help no acepta la ruta de acceso completa de un archivo de módulo o archivo de manifiesto de módulo.

Cualquier módulo puede admitir la Ayuda actualizable. Para obtener instrucciones para admitir la Ayuda actualizable en los módulos creados, consulte Compatibilidad con ayuda actualizable.

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