Update-Help

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

Syntax

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 Update-Help cmdlet 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 Get-Help cmdlet 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 $env:PSModulePath. Para obtener más información, consulte 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 versión. 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 Save-Helpcmdlet para descargar los archivos de ayuda de Internet y guardarlos en una carpeta compartida que sea 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 Update-Help cmdlet 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 ámbitoCurrentUserpredeterminado en . Antes de PowerShell 6.1, el parámetro Scope no estaba disponible.

Debe ser miembro del grupo de Administración istrators en el 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 Update-Help cmdlet actualiza los archivos de ayuda de los módulos instalados que admiten la 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 Update-Help cmdlet actualiza los archivos de ayuda solo para los nombres de módulo que comienzan con Microsoft.PowerShell.

Update-Help -Module Microsoft.PowerShell*

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

El Update-Help cmdlet 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 en-GB configuración regional.

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 en-US configuración regional. Para descargar la ayuda en inglés, ejecute Update-Help con el parámetro UICulture y especifique la en-US configuración regional.

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 Save-Help comando 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 \\Server01\Share\PSHelp recurso compartido de archivos. El parámetro Credential especifica un usuario que tiene permiso para acceder al recurso compartido de archivos.

El Invoke-Command cmdlet ejecuta comandos remotos Update-Help en varios equipos. El parámetro ComputerName obtiene una lista de equipos remotos del archivo Servers.txt . El parámetro ScriptBlock ejecuta el Update-Help comando 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 Update-Help .

Ejemplo 5: Obtener una lista de archivos de ayuda actualizados

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

Sin el parámetro Verbose , Update-Help no muestra los resultados del comando. La salida del parámetro Verbose 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 contiene una dirección URL que se redirige cuando se ejecuta el Update-Help cmdlet.

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 los 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 solicita su confirmación antes de ejecutar el cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 se usa el parámetro SourcePath o LiteralPath en el comando .

El parámetro Credential permite ejecutar Update-Help comandos 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 PSCredential generado por el Get-Credential cmdlet . Si escribe un nombre de usuario, se le pedirá que escriba la contraseña.

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

Nota:

Para obtener más información sobre la protección de datos SecureString , consulte ¿Cómo es secure is SecureString?.

Type:PSCredential
Position:Named
Default value:Current user
Required:False
Accept pipeline input:False
Accept wildcard characters: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 solo se ejecuta 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 por día protege los servidores que hospedan los archivos de ayuda y le permite agregar un Update-Help comando 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 la 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

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 módulo especificado la psModulePath .

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

  • ModuleName - Obligatorio Especifica el nombre del módulo.
  • GUID - Opcional Especifica el GUID del módulo.
  • También es necesario 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 .

Type:ModuleSpecification[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 Save-Help cmdlet para descargar archivos de ayuda en un directorio.

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

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

Type:String[]
Aliases:PSPath, LP
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 permite el uso de caracteres comodín. Puede canalización de módulos desde el Get-Module cmdlet al Update-Help cmdlet .

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 que esté instalado en una ubicación que aparezca en la variable de $env:PSModulePath entorno.

Un 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 Update-Help cmdlet 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 $env:PSModulePath ubicación, importe el módulo en la sesión actual antes de ejecutar el Update-Help comando.

Type:String[]
Aliases:Name
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters: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 .

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Scope

Especifica el ámbito del sistema en el que se actualiza la ayuda. Novedades en El ámbito AllUsers requiere privilegios administrativos en sistemas Windows. El -Scope parámetro 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 privilegios de los sistemas sudo Unix es necesario actualizar la ayuda para todos los usuarios. Por ejemplo: sudo pwsh -c Update-Help

Los valores aceptables son:

  • CurrentUser
  • AllUsers
Type:UpdateHelpScope
Position:Named
Default value:CurrentUser
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-SourcePath

Especifica una carpeta del sistema de archivos donde Update-Help se actualizan los archivos de ayuda, 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 Get-Item cmdlets o Get-ChildItem , a Update-Help.

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

Para especificar un valor predeterminado para SourcePath, vaya a Directiva de grupo, Configuración del equipo y 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 más información, consulte about_Group_Policy_Settings.

Type:String[]
Aliases:Path
Position:1
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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 Get-Culture comando o Get-UICulture . No se admite el uso de 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 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 silenciosamente no se puede descargar ayuda 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.

Type:CultureInfo[]
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters: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.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

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

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters: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 ningún resultado.

Notas

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

Solo los miembros del grupo de Administración istrators 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 $PSHOME\Modules carpeta. 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 Get-Command cmdlet, por ejemplo, (Get-Command Update-Help).ModuleName.

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

El Update-Help cmdlet 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 Update-Help cmdlet 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 Update-Help cmdlets 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 $env:PSModulePath variable de entorno, importe el módulo en la sesión actual y ejecute un Update-Help comando. 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 Update-Help cmdlets y Save-Help no acepta la ruta de acceso completa de un archivo de módulo o archivo de manifiesto de módulo.

Todos los módulos admiten el sistema de Ayuda actualizable. Para obtener instrucciones para admitir la Ayuda actualizable en los módulos creados, consulte Compatibilidad con la Ayuda actualizable.

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