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]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]
Update-Help
      [[-Module] <String[]>]
      [-FullyQualifiedModule <ModuleSpecification[]>]
      [-LiteralPath <String[]>]
      [-Recurse]
      [[-UICulture] <CultureInfo[]>]
      [-Credential <PSCredential>]
      [-UseDefaultCredentials]
      [-Force]
      [-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 inmediatamente los nuevos archivos de ayuda.

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 de la sesión y para todos los módulos instalados que admiten la Ayuda actualizable. Se incluyen los módulos instalados pero no cargados en la sesión actual. Los módulos de PowerShell se almacenan en una ubicación que aparece en la variable de $env:PSModulePath entorno. Para obtener más información, consulte about_Updatable_Help.

Puede usar el parámetro Module para actualizar los archivos de ayuda de un módulo determinado. Use el parámetro UICulture para descargar archivos de ayuda en varios idiomas y configuraciones regionales.

Puede usar Update-Help en equipos que no están conectados a Internet. Use el Save-Help cmdlet para descargar archivos de ayuda de Internet y guardarlos en una ubicación del sistema de archivos, como una carpeta compartida o un directorio del sistema de archivos. A continuación, use el parámetro SourcePath de para descargar los archivos de Update-Help ayuda actualizados desde una ubicación del sistema de archivos e instalarlos en el equipo.

Para automatizar las actualizaciones de ayuda, agregue el Update-Help cmdlet al perfil de PowerShell. De forma predeterminada, Update-Help solo se ejecuta una vez al día en cada equipo. Para reemplazar el límite de una vez al día, use el parámetro Force.

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

Importante

Update-Help requiere privilegios administrativos.

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

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 powershell.exe -Verb RunAs.

También puede actualizar los archivos de ayuda mediante el elemento de menú Actualizar Windows PowerShell Ayuda en el menú Ayuda de Windows PowerShell Entorno de scripting integrado (ISE).

El elemento Actualizar Windows PowerShell Ayuda ejecuta un Update-Help cmdlet sin parámetros. Para actualizar la ayuda de los módulos del $PSHOME directorio, inicie Windows PowerShell ISE mediante la opción Ejecutar como administrador.

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 por Microsoft.PowerShell.

Update-Help -Module Microsoft.PowerShell*

Ejemplo 3: Actualización de archivos de ayuda para distintos idiomas

El Update-Help cmdlet actualiza los archivos de ayuda japonés (ja-JP) e inglés (en-US) para todos los módulos.

Si un módulo no proporciona archivos de ayuda para una referencia cultural de interfaz de usuario especificada, se muestra un mensaje de error para el módulo y la referencia cultural de la interfaz de usuario. En este ejemplo, el mensaje de error indica que no se encontraron los archivos de ayuda ja-JP para el módulo Microsoft.PowerShell.Utility.

Update-Help -UICulture ja-JP, en-US

Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Utility' with UI culture(s) {ja-JP}
No UI culture was found that matches the following pattern: ja-JP.

Ejemplo 4: Actualizar archivos de ayuda automáticamente

En este ejemplo se crea un trabajo programado que actualiza la ayuda de todos los módulos todos los días a las 3:00 a. m.

$jobParams = @{
  Name = 'UpdateHelpJob'
  Credential = 'Domain01\User01'
  ScriptBlock = '{Update-Help}'
  Trigger = (New-JobTrigger -Daily -At "3 AM")
}
Register-ScheduledJob @jobParams

Id         Name            JobTriggers     Command                                  Enabled
--         ----            -----------     -------                                  -------
1          UpdateHelpJob   1               Update-Help                              True

El Register-ScheduledJob cmdlet crea un trabajo programado que ejecuta un Update-Help comando. El comando usa el parámetro Credential para ejecutarse Update-Help mediante las credenciales de un miembro del grupo Administradores del equipo. El valor del parámetro Trigger es un New-JobTrigger comando que crea un desencadenador de trabajo que inicia el trabajo todos los días a las 3:00 a. m.

Para ejecutar el Register-ScheduledJob comando, inicie PowerShell mediante la opción Ejecutar como administrador . PowerShell le pide la contraseña del usuario especificado en el parámetro Credential . Las credenciales se almacenan con el trabajo programado. No se le pedirá cuándo se ejecuta el trabajo.

Puede usar el Get-ScheduledJob cmdlet para ver el trabajo programado, usar el Set-ScheduledJob cmdlet para cambiarlo y usar el Unregister-ScheduledJob cmdlet para eliminarlo. También puede ver y administrar el trabajo programado en el Programador de tareas en la siguiente ruta de acceso:

Task Scheduler Library\Microsoft\Windows\PowerShell\ScheduledJobs.

Ejemplo 5: 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. Las credenciales de usuario son necesarias que tienen permisos para acceder al recurso compartido de archivos e instalar actualizaciones. Cuando se usa un recurso compartido de archivos, es posible actualizar equipos que están detrás de firewalls o que no están conectados a Internet.

PS> Save-Help -DestinationPath \\Server01\Share\PSHelp -Credential Domain01\Admin01
PS> 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 6: 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 7: Búsqueda de 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 la Ayuda actualizable. La propiedad HelpInfoUri contiene una dirección 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 8: 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='https://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.

Type:PSCredential
Position:Named
Default value:None
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 se ejecuta una sola vez en cada período de 24 horas. Las descargas están limitadas 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 a su perfil de PowerShell sin incurrir en el costo de recursos de 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

Especifica los módulos con nombres especificados en forma de objetos ModuleSpecification . Estos módulos se describen en la sección Comentarios del Constructor ModuleSpecification (Hashtable).

Por ejemplo, el parámetro FullyQualifiedModule acepta un nombre de módulo especificado en el formato :

@{ModuleName = "modulename"; ModuleVersion = "version_number"}

o

@{ModuleName = "modulename"; ModuleVersion = "version_number"; Guid = "GUID"}.

ModuleName y ModuleVersion son necesarios, pero Guid es opcional.

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 caracteres como secuencias de escape.

Type:String[]
Aliases:PSPath
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 $env:PSModulePath variable de 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 un 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

-SourcePath

Especifica una carpeta del sistema de archivos donde Update-Help se actualizan los archivos de ayuda, en lugar de descargarlos de 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 de Internet. Use SourcePath cuando haya usado el Save-Help cmdlet para descargar 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[]
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 que Update-Help usan para obtener archivos de ayuda actualizados. Escriba uno o varios códigos de idioma, como es-ES, una variable que contiene objetos de referencia cultural o un comando que obtiene objetos de referencia cultural, como un Get-Culture comando o Get-UICulture . No se permiten caracteres comodín y no se puede enviar un código de idioma parcial, como de.

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

Los comandos que usan el parámetro UICulture solo se completan correctamente si el módulo proporciona los archivos de Ayuda de la referencia cultural de la interfaz de usuario especificada. Si se produce un error en el comando porque no se admite la referencia cultural de la interfaz de usuario especificada, se muestra un mensaje de error.

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 la 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 una ruta de acceso de directorio a Update-Help.

PSModuleInfo

Puede canalizar un objeto de módulo desde el Get-Module cmdlet a Update-Help.

Salidas

None

Update-Help no genera ninguna salida.

Notas

Para actualizar la ayuda de los módulos de PowerShell Core, 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 Administradores del equipo pueden actualizar la ayuda de los módulos de PowerShell Core, los comandos que se instalan 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 cmdlet puede instalar el Update-Help 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.

Si Update-Help no encuentra archivos de ayuda actualizados para un módulo o no encuentra ayuda actualizada en el idioma especificado, continúa silenciosamente sin mostrar un mensaje de error. Para ver los detalles de estado y progreso, utilice el parámetro Verbose.

El Update-Help cmdlet se introdujo en Windows PowerShell 3.0. No funciona en versiones anteriores de Windows 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 de PowerShell Core. 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 o 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 un 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 que cree, 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).