es-es/about_PackageUpdateInfo.help.txt

TOPIC
    about_PackageUpdateInfo
 
SHORT DESCRIPTION
    PackageUpdateInfo es un módulo de PowerShell que ayuda a los profesionales de IT a
    mantener actualizados sus módulos de PowerShell instalados detectando actualizaciones
    disponibles de repositorios configurados y proporcionando información de cambios de versión
    detallada y notas de versión.
 
LONG DESCRIPTION
    PackageUpdateInfo aborda una preocupación operativa crítica para profesionales de IT que
    mantienen múltiples módulos de PowerShell en su entorno. Este módulo consulta sus módulos
    de PowerShell instalados localmente, los compara con uno o más repositorios configurados
    (como la Galería de PowerShell) e informa sobre actualizaciones disponibles con control
    granular sobre qué cambios de versión le interesan.
 
PROJECT OVERVIEW
 
    Los entornos informáticos modernos a menudo se basan en módulos de PowerShell desarrollados
    por la comunidad para ampliar la funcionalidad y automatizar tareas comunes. Mantener estos
    módulos actualizados requiere una forma práctica de identificar cuándo hay actualizaciones
    disponibles y decidir qué cambios de versión merece la pena desplegar.
 
    PackageUpdateInfo proporciona:
    - Detección de actualizaciones en todos los módulos instalados
    - Control granular sobre qué cambios de versión reportar (Mayor, Menor, Compilación, Revisión)
    - Reglas basadas por módulo o grupo para reportes de actualización personalizados
    - Capacidad eficiente de exportación/importación para descargar verificaciones de actualización
      en trabajos en segundo plano o tareas programadas
    - Integración con notificaciones de Windows (cuando esté disponible)
    - Acceso a notas de versión para módulos que las proporcionan
 
INSTALLATION
 
    Instale el módulo desde la Galería de PowerShell en su ámbito de usuario (recomendado para
    escenarios sin privilegios de administrador):
 
        Install-Module PackageUpdateInfo -Scope CurrentUser
 
    O instale en todo el sistema (requiere privilegios de administrador):
 
        Install-Module PackageUpdateInfo
 
    Después de la instalación, puede verificar los comandos disponibles:
 
        Get-Command -Module PackageUpdateInfo
 
QUICK START: INTERACTIVE USAGE
 
    Para verificar todos sus módulos instalados en busca de actualizaciones disponibles
    inmediatamente, ejecute:
 
        Get-PackageUpdateInfo
 
    Este comando consulta todos los módulos descubiertos por sus reglas de inclusión predeterminadas
    y muestra una tabla que muestra el nombre del módulo, fuente del repositorio, versión instalada,
    versión disponible en línea e indica si se necesita una actualización. Salida de ejemplo:
 
        Name Repository VersionInstalled VersionOnline NeedUpdate Path
        ---- ---------- ---------------- ------------- ---------- ----
        PSReadline PSGallery 1.2 1.2 False C:\Program Files\...
        Pester PSGallery 4.4.0 4.4.2 True C:\Program Files\...
 
    Para enfocarse solo en módulos que tienen actualizaciones disponibles, use:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate
 
    Para ver notificaciones de Windows para módulos con actualizaciones disponibles:
 
        Get-PackageUpdateInfo -ShowToastNotification
 
CORE CONCEPTS
 
    Entendiendo la Detección de Actualizaciones
 
    Get-PackageUpdateInfo realiza tres comprobaciones esenciales:
 
    1. Descubre todos los módulos instalados en sus rutas de módulos de PowerShell
    2. Consulta uno o más repositorios (por defecto, todos los PSRepositorios configurados) para
       las versiones disponibles de esos módulos
    3. Compara versiones instaladas con versiones disponibles para determinar si existe una
       actualización
 
    El comando respeta un intervalo de verificación de actualizaciones (predeterminado: 1 hora)
    para minimizar consultas redundantes a repositorios. Use el parámetro -Force para omitir
    este intervalo:
 
        Get-PackageUpdateInfo -Force
 
    Reporte de Cambios de Versión
 
    PackageUpdateInfo divide las versiones de módulos en cuatro componentes: Mayor, Menor,
    Compilación y Revisión. Por ejemplo, la versión 1.2.3.4 tiene:
 
        Component Value
        --------- -----
        Mayor 1
        Menor 2
        Compilación 3
        Revisión 4
 
    De forma predeterminada, los cuatro componentes se supervisan, lo que significa que se
    reporta cualquier cambio de versión. Sin embargo, puede personalizar este comportamiento.
    Por ejemplo, podría querer ignorar actualizaciones de revisión (correcciones de nivel de
    parche) pero marcar cambios mayores y menores. Este enfoque granular le ayuda a distinguir
    entre actualizaciones críticas, lanzamientos de características y parches de mantenimiento menores.
 
    Notas de Versión y Acceso a Cambios
 
    Muchos módulos en la Galería de PowerShell incluyen metadatos de notas de versión.
    PackageUpdateInfo captura esta información al ejecutar Get-PackageUpdateInfo. Luego puede
    recuperar y revisar estas notas de versión usando Show-PackageUpdateReleaseNote para entender
    qué cambió en cada actualización antes de implementarla:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Show-PackageUpdateReleaseNote
 
    Las notas de versión a menudo se proporcionan como URLs. El comando Show-PackageUpdateReleaseNote
    intenta resolver y recuperar el contenido para que pueda revisar cambios directamente en su
    consola de PowerShell.
 
MAIN WORKFLOW: CORE FUNCTIONS
 
    Las siguientes funciones forman el flujo de trabajo principal para trabajar con PackageUpdateInfo.
 
    Getting Update Information: Get-PackageUpdateInfo
 
    Get-PackageUpdateInfo es la función de descubrimiento principal. Úsela para:
    - Verificar todos los módulos instalados (predeterminado): Get-PackageUpdateInfo
    - Verificar módulos específicos: Get-PackageUpdateInfo -Name Pester, PSReadline
    - Verificar módulos de ámbito de usuario: Get-PackageUpdateInfo -CurrentUser
    - Verificar módulos de todos los usuarios: Get-PackageUpdateInfo -AllUsers
    - Consultar repositorios específicos: Get-PackageUpdateInfo -Repository PSGallery
    - Omitir el intervalo de verificación de actualizaciones: Get-PackageUpdateInfo -Force
 
    El comando devuelve objetos PackageUpdate.Info que contienen:
 
        Name - Nombre del módulo
        Repository - Repositorio donde se encontró la versión más nueva
        VersionInstalled - Versión actualmente instalada
        VersionOnline - Última versión disponible en el repositorio
        NeedUpdate - Valor booleano que indica si hay una actualización disponible
        Path - Ruta completa al módulo instalado
        ReleaseNotes - URL a notas de versión (si está disponible)
 
    Exporting Update Information: Export-PackageUpdateInfo
 
    Por razones de rendimiento, especialmente si tiene muchos módulos instalados, puede separar
    la verificación de actualización computacionalmente costosa de los reportes interactivos.
    Use Export-PackageUpdateInfo para guardar información de actualización en un archivo:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Export-PackageUpdateInfo
 
    De forma predeterminada, el archivo de exportación se almacena en un directorio específico
    del módulo:
    - Windows: $HOME\AppData\Local\Microsoft\Windows\PowerShell\
    - Linux: $HOME/.config/powershell/
 
    Los archivos de exportación se nombran con información de edición y versión para evitar
    conflictos al ejecutar múltiples ediciones de PowerShell en el mismo sistema.
 
    Importing Cached Update Information: Import-PackageUpdateInfo
 
    Después de exportar información de actualización, puede recuperarla rápidamente del caché
    sin ejecutar las costosas verificaciones de actualización nuevamente:
 
        Import-PackageUpdateInfo
 
    Esto es útil para inicios rápidos de sesión de PowerShell o para revisar resultados en caché
    sin consultar repositorios nuevamente. Use -ShowOnlyNeededUpdate para filtrar resultados:
 
        Import-PackageUpdateInfo -ShowOnlyNeededUpdate
 
    O muestre notificaciones para resultados en caché:
 
        Import-PackageUpdateInfo -ShowToastNotification
 
    A Typical Performance-Optimized Workflow
 
    Para entornos donde la verificación de actualización no debería bloquear el inicio interactivo
    del shell, agregue lo siguiente a su perfil de PowerShell:
 
        Start-Job -ScriptBlock {
            Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Export-PackageUpdateInfo
        } | Out-Null
        Import-PackageUpdateInfo
 
    Este enfoque:
    1. Inicia un trabajo en segundo plano asincrónico que realiza la costosa verificación de actualización
    2. Devuelve inmediatamente el control a su shell
    3. Muestra información de actualización en caché de la sesión anterior de PowerShell
    4. El trabajo en segundo plano se completa y actualiza el caché para su próxima sesión
 
CONFIGURING UPDATE BEHAVIOR: SETTINGS
 
    Las funciones Set-PackageUpdateSetting y Get-PackageUpdateSetting controlan cómo
    PackageUpdateInfo evalúa los módulos. Los ajustes se almacenan en un archivo de
    configuración JSON persistente en su directorio de perfil y se aplican globalmente a
    todos los comandos de PackageUpdateInfo.
 
    Viewing Current Settings
 
        Get-PackageUpdateSetting
 
    Devuelve un objeto PackageUpdate.Configuration que muestra:
    - DefaultRule: La regla aplicada a módulos que no coinciden con reglas personalizadas
    - CustomRule: Cualquier regla personalizada que haya creado
    - UpdateCheckInterval: Tiempo mínimo entre verificaciones de actualización
    - LastCheck: Marca de tiempo del intento de verificación de actualización más reciente
    - LastSuccessfulCheck: Marca de tiempo de la verificación de actualización más reciente exitosa
 
    Configuring the Default Rule
 
    La regla predeterminada se aplica a todos los módulos por defecto. Use Set-PackageUpdateSetting
    para personalizar el comportamiento predeterminado:
 
    Excluya módulos específicos de la verificación de actualización:
 
        Set-PackageUpdateSetting -ExcludeModuleFromChecking "MyLocalModule"
 
    Esto es útil para módulos locales no disponibles en galerías en línea. Los módulos excluidos
    se omiten completamente durante las consultas Get-PackageUpdateInfo.
 
    Reporte solo en cambios de versión mayor y menor, ignorando actualizaciones de compilación
    y revisión:
 
        Set-PackageUpdateSetting -ReportChangeOnMajor $true -ReportChangeOnMinor $true `
            -ReportChangeOnBuild $false -ReportChangeOnRevision $false
 
    Ajuste el intervalo de verificación de actualización (predeterminado: 1 hora):
 
        Set-PackageUpdateSetting -UpdateCheckInterval "02:00:00"
 
    Esto establece el intervalo a 2 horas, reduciendo consultas a repositorios para llamadas
    repetidas a Get-PackageUpdateInfo dentro de una ventana de 2 horas.
 
    Reset to Default Behavior
 
        Set-PackageUpdateSetting -Reset
 
MANAGING CUSTOM RULES: RULE FUNCTIONS
 
    Para un control granular sobre módulos específicos o grupos de módulos, use reglas
    personalizadas. Las reglas le permiten definir diferentes comportamientos de reporte
    de actualización para diferentes módulos o conjuntos de módulos, anulando la regla predeterminada.
 
    Creating a Custom Rule: Add-PackageUpdateRule
 
    Agregue una regla que reporte actualizaciones mayores y menores para un módulo específico,
    pero ignore cambios de compilación y revisión:
 
        Add-PackageUpdateRule -IncludeModuleForChecking "ImportExcel" `
            -ReportChangeOnMajor $true -ReportChangeOnMinor $true `
            -ReportChangeOnBuild $false -ReportChangeOnRevision $false
 
    Agregue una regla que excluya un módulo específico de la verificación:
 
        Add-PackageUpdateRule -ExcludeModuleFromChecking "MyInternalModule"
 
    Agregue una regla para un grupo de módulos, como todos los módulos Az.*:
 
        Add-PackageUpdateRule -ExcludeModuleFromChecking "Az.*"
 
    Nota: Tenga cuidado con exclusiones amplias. Los módulos de Az se mantienen activamente;
    considere si la exclusión generalizada cumple con sus necesidades operativas.
 
    Viewing Custom Rules: Get-PackageUpdateRule
 
        Get-PackageUpdateRule
 
    Devuelve todas las reglas personalizadas. Cada regla muestra:
    - Id: Identificador único para la regla
    - IncludeModuleForChecking: Módulos cubiertos por esta regla (o vacío para todos)
    - ExcludeModuleFromChecking: Módulos excluidos por esta regla
    - ReportChangeOn{Major,Minor,Build,Revision}: Qué cambios reportar
 
    Modifying a Rule: Set-PackageUpdateRule
 
        Set-PackageUpdateRule -Id 1 -ReportChangeOnRevision $false
 
    Removing a Rule: Remove-PackageUpdateRule
 
        Remove-PackageUpdateRule -Id 1
 
    Rule Priority and Application
 
    Las reglas personalizadas se evalúan en orden descendente por su Id. Cuando
    Get-PackageUpdateInfo evalúa un módulo, encuentra la primera (Id más alta) regla
    personalizada que coincide con el nombre del módulo. Si ninguna regla personalizada coincide,
    se aplica la regla predeterminada.
 
    Este diseño le permite crear anulaciones específicas para módulos seleccionados mientras
    mantiene valores predeterminados sensatos para todos los demás.
 
    VIEWING RELEASE NOTES: Show-PackageUpdateReleaseNote
 
    Después de identificar módulos que necesitan actualizaciones, revise notas de versión para
    entender qué cambió:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Show-PackageUpdateReleaseNote
 
    O recupere notas de versión para datos en caché ya importados:
 
        Import-PackageUpdateInfo | Show-PackageUpdateReleaseNote
 
    O vea notas de versión para el módulo actualmente cargado en su sesión:
 
        Get-Module Pester | Show-PackageUpdateReleaseNote
 
    El comando Show-PackageUpdateReleaseNote recupera y muestra notas de versión desde URLs
    disponibles. El contenido de las notas de versión aparece directamente en su consola,
    ayudándole a decidir si desplegar cada actualización.
 
PERFORMANCE CONSIDERATIONS
 
    La verificación de actualización puede ser computacionalmente costosa si tiene muchos módulos
    instalados o si las conexiones de repositorio son lentas. Considere estas prácticas:
 
    1. Use el intervalo de verificación de actualización (Set-PackageUpdateSetting -UpdateCheckInterval)
       para limitar consultas redundantes a repositorios.
 
    2. Exporte verificaciones de actualización a trabajos en segundo plano (como se muestra en el
       ejemplo de flujo de trabajo) para que el inicio interactivo del shell no se bloquee.
 
    3. Excluya módulos no encontrados en galerías en línea para evitar consultas de repositorio
       desperdiciadas:
 
        Set-PackageUpdateSetting -ExcludeModuleFromChecking "MyLocalModule"
 
    4. Para inventarios de módulos grandes, ejecute Get-PackageUpdateInfo -ShowOnlyNeededUpdate |
       Export-PackageUpdateInfo de forma regular (p. ej., cada noche), luego use
       Import-PackageUpdateInfo durante sesiones interactivas para recuperar resultados en caché.
 
BEST PRACTICES AND AUTOMATION
 
    Scheduled Update Checking
 
    Use el Programador de Tareas de Windows u otra herramienta de orquestación de trabajos para
    ejecutar verificaciones de actualización en segundo plano de forma regular, luego almacene
    en caché los resultados:
 
        $scriptBlock = {
            Get-PackageUpdateInfo -Force -ShowOnlyNeededUpdate |
                Export-PackageUpdateInfo
        }
        Start-Job -ScriptBlock $scriptBlock
 
    Environment-Based Rules
 
    Cree diferentes reglas personalizadas para entornos de desarrollo y producción. Por ejemplo,
    en producción podría reportar solo cambios de versión mayor, mientras que en desarrollo
    rastrea todos los cambios:
 
        if ($env:ENVIRONMENT -eq 'Production') {
            Set-PackageUpdateSetting -ReportChangeOnMajor $true `
                -ReportChangeOnMinor $false -ReportChangeOnBuild $false `
                -ReportChangeOnRevision $false
        }
 
    Update Approval Workflows
 
    Combine PackageUpdateInfo con su proceso de gestión de cambios:
 
        $updates = Get-PackageUpdateInfo -ShowOnlyNeededUpdate
        $updates | Show-PackageUpdateReleaseNote
        # Review release notes and approve updates
        $updates | Select-Object Name, VersionOnline | Export-Csv -Path "ApprovedUpdates.csv"
 
    Alert Integration
 
    Use notificaciones para alertarse a sí mismo cuando módulos críticos tengan actualizaciones:
 
        if (@(Get-PackageUpdateInfo -ShowOnlyNeededUpdate |
              Where-Object Name -In 'Pester','PSFramework').Count -gt 0) {
            Get-PackageUpdateInfo -ShowOnlyNeededUpdate -ShowToastNotification
        }
 
GETTING HELP
 
    Para obtener ayuda detallada sobre cualquier comando, use:
 
        Get-Help Get-PackageUpdateInfo -Full
        Get-Help Set-PackageUpdateSetting -Full
        Get-Help Add-PackageUpdateRule -Full
        Get-Help Show-PackageUpdateReleaseNote -Full
 
    Aliases for Quick Access
 
    La mayoría de los comandos tienen alias convenientes para escribir más rápido:
 
        gpui = Get-PackageUpdateInfo
        epui = Export-PackageUpdateInfo
        ipui = Import-PackageUpdateInfo
        spurn = Show-PackageUpdateReleaseNote
        gpus = Get-PackageUpdateSetting
        spus = Set-PackageUpdateSetting
        apur = Add-PackageUpdateRule
        gpur = Get-PackageUpdateRule
        spur = Set-PackageUpdateRule
        rpur = Remove-PackageUpdateRule
 
TROUBLESHOOTING
 
    Update Check is Skipped with Warning
 
    Síntoma: Get-PackageUpdateInfo devuelve una advertencia de que se omitió la verificación
    de actualización.
 
    Causa: El módulo aplica un intervalo de verificación de actualización (predeterminado: 1 hora)
    para evitar consultas redundantes a repositorios. Si ejecuta el comando varias veces dentro
    del intervalo, las llamadas posteriores se suprimen para proteger el rendimiento del sistema
    y los recursos de la galería.
 
    Solución: Use el parámetro -Force para omitir el intervalo y realizar una verificación
    inmediata:
 
        Get-PackageUpdateInfo -Force
 
    O ajuste el intervalo a una duración más corta:
 
        Set-PackageUpdateSetting -UpdateCheckInterval "00:15:00"
 
    No Modules Are Returned
 
    Síntoma: Get-PackageUpdateInfo devuelve una lista vacía aunque tenga módulos instalados.
 
    Causa: Muy probablemente, todos los módulos instalados han sido excluidos de la verificación
    por reglas, o no hay repositorios predeterminados configurados en su sistema.
 
    Solución: Primero, verifique que los repositorios estén disponibles:
 
        Get-PSRepository
 
    Si no se muestran repositorios, agregue la Galería de PowerShell:
 
        Register-PSRepository -Default
 
    Verifique sus reglas configuradas:
 
        Get-PackageUpdateSetting
 
    Revise tanto la DefaultRule como cualquier CustomRule para asegurarse de que los módulos
    no están excluidos. Si es necesario, restablezca la configuración:
 
        Set-PackageUpdateSetting -Reset
 
    Modules Are Excluded from Checking Unexpectedly
 
    Síntoma: Módulos específicos no aparecen en la salida Get-PackageUpdateInfo aunque estén
    instalados.
 
    Causa: Una regla personalizada o la regla predeterminada ha excluido estos módulos de la
    verificación.
 
    Solución: Verifique qué reglas se aplican al módulo:
 
        Get-PackageUpdateRule
        Get-PackageUpdateSetting
 
    Si desea incluir el módulo, elimine la regla de exclusión o edite la regla predeterminada:
 
        # Remove a specific custom rule by Id
        Remove-PackageUpdateRule -Id <RuleId>
 
        # Or clear exclusions from the default rule
        Set-PackageUpdateSetting -ExcludeModuleFromChecking $null
 
    Release Notes Are Not Available
 
    Síntoma: Show-PackageUpdateReleaseNote no devuelve salida o un mensaje de que no se
    encuentran notas de versión.
 
    Causa: No todos los módulos en la Galería de PowerShell incluyen metadatos de notas de
    versión. Algunos módulos más antiguos o mantenidos por la comunidad podrían no tener
    esta información.
 
    Solución: Este es un comportamiento esperado. Las notas de versión son metadatos opcionales
    que los autores de módulos pueden elegir incluir. Verifique el repositorio o sitio web del
    módulo directamente para obtener información de versión:
 
        Get-PackageUpdateInfo | Select-Object Name, Repository, ReleaseNotes
 
    Export/Import Files Are Not Found
 
    Síntoma: Import-PackageUpdateInfo reporta que no existe archivo de exportación en caché, o
    los archivos de exportación aparecen en ubicaciones inesperadas.
 
    Causa: Los archivos de exportación se almacenan en directorios específicos de plataforma con
    información de edición y versión. Si cambia entre ediciones de PowerShell (Desktop vs. Core)
    o versiones de PowerShell, los archivos de exportación de otras configuraciones no se utilizan.
 
    Solución: Verifique dónde se almacenan los archivos de exportación:
 
        Get-PackageUpdateSetting | Select-Object -ExpandProperty UpdateCheckInterval
 
    El nombre del archivo de exportación incluye edición y versión: PackageUpdateInfo_Desktop_5.xml
    o PackageUpdateInfo_Core_7.xml. Para usar exportaciones en ediciones, exporte manualmente a
    una ruta específica e importe desde esa ubicación:
 
        Get-PackageUpdateInfo | Export-PackageUpdateInfo -Path "C:\Shared\Updates.xml"
        Import-PackageUpdateInfo -Path "C:\Shared\Updates.xml"
 
    Commands Return Errors About Configuration Files
 
    Síntoma: Los errores mencionan una ruta de archivo de configuración faltante o no válida.
 
    Causa: El archivo de configuración de ajustes del módulo podría estar corrupto, eliminado o
    inaccesible. Esto ocurre a menudo si edita manualmente el archivo de configuración JSON con
    sintaxis incorrecta.
 
    Solución: Restablezca la configuración para restaurar los valores predeterminados:
 
        Set-PackageUpdateSetting -Reset
 
    Si editó manualmente el archivo de configuración, asegúrese de que el JSON sea válido. La
    ubicación del archivo de configuración es:
    - Windows: $HOME\AppData\Local\Microsoft\Windows\PowerShell\PackageUpdateSetting_Desktop_5.json
    - Linux: $HOME/.config/powershell/PackageUpdateSetting_Core_7.json
 
    (Nota: Los números de edición y versión varían según su configuración de PowerShell.)