fr-fr/about_PackageUpdateInfo.help.txt

TOPIC
    about_PackageUpdateInfo
 
SHORT DESCRIPTION
    PackageUpdateInfo est un module PowerShell qui aide les professionnels de l'informatique à
    maintenir à jour leurs modules PowerShell installés en détectant les mises à jour disponibles
    à partir de dépôts configurés et en fournissant des informations détaillées sur les changements
    de version et des notes de publication.
 
LONG DESCRIPTION
    PackageUpdateInfo aborde une préoccupation opérationnelle critique pour les professionnels
    de l'informatique qui maintiennent plusieurs modules PowerShell dans leur environnement. Ce
    module interroge vos modules PowerShell installés localement, les compare avec un ou plusieurs
    dépôts configurés (comme la Galerie PowerShell) et signale les mises à jour disponibles avec
    un contrôle granulaire sur les changements de version qui vous intéressent.
 
PROJECT OVERVIEW
 
    Les environnements informatiques modernes s'appuient souvent sur des modules PowerShell
    développés par la communauté pour étendre les fonctionnalités et automatiser les tâches
    courantes. Maintenir ces modules à jour nécessite un moyen pratique d'identifier quand des
    mises à jour sont disponibles et de décider quels changements de version méritent d'être
    déployés.
 
    PackageUpdateInfo fournit:
    - Détection des mises à jour pour tous les modules installés
    - Contrôle granulaire sur les changements de version à signaler (Majeure, Mineure, Build, Révision)
    - Règles basées par module ou par groupe pour signalement de mise à jour personnalisé
    - Capacité d'export/import efficace pour décharger les vérifications de mise à jour vers les
      travaux en arrière-plan ou les tâches planifiées
    - Intégration avec les notifications Windows (si disponible)
    - Accès aux notes de publication pour les modules qui les fournissent
 
INSTALLATION
 
    Installez le module à partir de la Galerie PowerShell dans votre portée utilisateur
    (recommandé pour les scénarios sans privilèges d'administrateur):
 
        Install-Module PackageUpdateInfo -Scope CurrentUser
 
    Ou installez au niveau du système (nécessite des privilèges d'administrateur):
 
        Install-Module PackageUpdateInfo
 
    Après l'installation, vous pouvez vérifier les commandes disponibles:
 
        Get-Command -Module PackageUpdateInfo
 
QUICK START: INTERACTIVE USAGE
 
    Pour vérifier immédiatement tous vos modules installés pour les mises à jour disponibles,
    exécutez:
 
        Get-PackageUpdateInfo
 
    Cette commande interroge tous les modules découverts par vos règles d'inclusion par défaut
    et affiche un tableau montrant le nom du module, la source du dépôt, la version installée,
    la version disponible en ligne et si une mise à jour est nécessaire. Exemple de sortie:
 
        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\...
 
    Pour vous concentrer uniquement sur les modules qui ont des mises à jour disponibles, utilisez:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate
 
    Pour afficher les notifications Windows pour les modules avec des mises à jour disponibles:
 
        Get-PackageUpdateInfo -ShowToastNotification
 
CORE CONCEPTS
 
    Comprendre la Détection des Mises à Jour
 
    Get-PackageUpdateInfo effectue trois vérifications essentielles:
 
    1. Découvre tous les modules installés dans vos chemins de module PowerShell
    2. Interroge un ou plusieurs dépôts (par défaut, tous les PSRepositories configurés) pour
       les versions disponibles de ces modules
    3. Compare les versions installées avec les versions disponibles pour déterminer s'il existe
       une mise à jour
 
    La commande respecte un intervalle de vérification de mise à jour (par défaut: 1 heure) pour
    minimiser les requêtes redondantes aux dépôts. Utilisez le paramètre -Force pour contourner
    cet intervalle:
 
        Get-PackageUpdateInfo -Force
 
    Signalement des Changements de Version
 
    PackageUpdateInfo divise les versions de modules en quatre composants: Majeure, Mineure,
    Build et Révision. Par exemple, la version 1.2.3.4 a:
 
        Component Value
        --------- -----
        Majeure 1
        Mineure 2
        Build 3
        Révision 4
 
    Par défaut, les quatre composants sont surveillés, ce qui signifie que tout changement de
    version est signalé. Cependant, vous pouvez personnaliser ce comportement. Par exemple, vous
    pouvez ignorer les mises à jour de révision (correctifs au niveau des patches) mais signaler
    les changements majeurs et mineurs. Cette approche granulaire vous aide à distinguer entre
    les mises à jour critiques, les versions de fonctionnalités et les correctifs de maintenance
    mineurs.
 
    Notes de Publication et Accès au Journal des Modifications
 
    De nombreux modules de la Galerie PowerShell incluent des métadonnées de notes de publication.
    PackageUpdateInfo capture ces informations lors de l'exécution de Get-PackageUpdateInfo. Vous
    pouvez alors récupérer et examiner ces notes de publication à l'aide de
    Show-PackageUpdateReleaseNote pour comprendre ce qui a changé dans chaque mise à jour avant
    de la déployer:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Show-PackageUpdateReleaseNote
 
    Les notes de publication sont souvent fournies sous forme d'URL. La commande
    Show-PackageUpdateReleaseNote tente de résoudre et de récupérer le contenu pour que vous
    puissiez examiner les changements directement dans votre console PowerShell.
 
MAIN WORKFLOW: CORE FUNCTIONS
 
    Les fonctions suivantes forment le flux de travail principal pour travailler avec
    PackageUpdateInfo.
 
    Getting Update Information: Get-PackageUpdateInfo
 
    Get-PackageUpdateInfo est la fonction de découverte principale. Utilisez-la pour:
    - Vérifier tous les modules installés (par défaut): Get-PackageUpdateInfo
    - Vérifier des modules spécifiques: Get-PackageUpdateInfo -Name Pester, PSReadline
    - Vérifier les modules de portée utilisateur: Get-PackageUpdateInfo -CurrentUser
    - Vérifier les modules tous utilisateurs: Get-PackageUpdateInfo -AllUsers
    - Interroger des dépôts spécifiques: Get-PackageUpdateInfo -Repository PSGallery
    - Contourner l'intervalle de vérification de mise à jour: Get-PackageUpdateInfo -Force
 
    La commande retourne des objets PackageUpdate.Info contenant:
 
        Name - Nom du module
        Repository - Dépôt où la version plus récente a été trouvée
        VersionInstalled - Version actuellement installée
        VersionOnline - Dernière version disponible dans le dépôt
        NeedUpdate - Valeur booléenne indiquant si une mise à jour est disponible
        Path - Chemin complet du module installé
        ReleaseNotes - URL vers les notes de publication (si disponible)
 
    Exporting Update Information: Export-PackageUpdateInfo
 
    Pour des raisons de performance, surtout si vous avez de nombreux modules installés, vous
    pouvez séparer la vérification de mise à jour coûteuse en calcul des rapports interactifs.
    Utilisez Export-PackageUpdateInfo pour enregistrer les informations de mise à jour dans un
    fichier:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Export-PackageUpdateInfo
 
    Par défaut, le fichier d'export est stocké dans un répertoire spécifique du module:
    - Windows: $HOME\AppData\Local\Microsoft\Windows\PowerShell\
    - Linux: $HOME/.config/powershell/
 
    Les fichiers d'export sont nommés avec les informations d'édition et de version pour éviter
    les conflits lors de l'exécution de plusieurs éditions PowerShell sur le même système.
 
    Importing Cached Update Information: Import-PackageUpdateInfo
 
    Après avoir exporté les informations de mise à jour, vous pouvez rapidement les récupérer
    depuis le cache sans réexécuter les vérifications de mise à jour coûteuses:
 
        Import-PackageUpdateInfo
 
    Ceci est utile pour les démarrages rapides de session PowerShell ou pour examiner les
    résultats en cache sans interroger les dépôts à nouveau. Utilisez -ShowOnlyNeededUpdate
    pour filtrer les résultats:
 
        Import-PackageUpdateInfo -ShowOnlyNeededUpdate
 
    Ou afficher les notifications pour les résultats en cache:
 
        Import-PackageUpdateInfo -ShowToastNotification
 
    A Typical Performance-Optimized Workflow
 
    Pour les environnements où la vérification de mise à jour ne doit pas bloquer le démarrage
    interactif du shell, ajoutez ce qui suit à votre profil PowerShell:
 
        Start-Job -ScriptBlock {
            Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Export-PackageUpdateInfo
        } | Out-Null
        Import-PackageUpdateInfo
 
    Cette approche:
    1. Démarre un travail en arrière-plan asynchrone qui effectue la vérification de mise à jour coûteuse
    2. Retourne immédiatement le contrôle à votre shell
    3. Affiche les informations de mise à jour en cache de la session PowerShell précédente
    4. Le travail en arrière-plan se termine et met à jour le cache pour votre prochaine session
 
CONFIGURING UPDATE BEHAVIOR: SETTINGS
 
    Les fonctions Set-PackageUpdateSetting et Get-PackageUpdateSetting contrôlent comment
    PackageUpdateInfo évalue les modules. Les paramètres sont stockés dans un fichier de
    configuration JSON persistant dans votre répertoire de profil et s'appliquent globalement
    à toutes les commandes PackageUpdateInfo.
 
    Viewing Current Settings
 
        Get-PackageUpdateSetting
 
    Retourne un objet PackageUpdate.Configuration montrant:
    - DefaultRule: La règle appliquée aux modules qui ne correspondent pas aux règles personnalisées
    - CustomRule: Toutes les règles personnalisées que vous avez créées
    - UpdateCheckInterval: Temps minimum entre les vérifications de mise à jour
    - LastCheck: Horodatage de la tentative de vérification de mise à jour la plus récente
    - LastSuccessfulCheck: Horodatage de la vérification de mise à jour réussie la plus récente
 
    Configuring the Default Rule
 
    La règle par défaut s'applique à tous les modules par défaut. Utilisez
    Set-PackageUpdateSetting pour personnaliser le comportement par défaut:
 
    Exclure des modules spécifiques de la vérification de mise à jour:
 
        Set-PackageUpdateSetting -ExcludeModuleFromChecking "MyLocalModule"
 
    Ceci est utile pour les modules locaux non disponibles dans les galeries en ligne. Les
    modules exclus sont complètement ignorés lors des requêtes Get-PackageUpdateInfo.
 
    Signaler uniquement les changements de version majeure et mineure, en ignorant les mises à
    jour de build et de révision:
 
        Set-PackageUpdateSetting -ReportChangeOnMajor $true -ReportChangeOnMinor $true `
            -ReportChangeOnBuild $false -ReportChangeOnRevision $false
 
    Ajustez l'intervalle de vérification de mise à jour (par défaut: 1 heure):
 
        Set-PackageUpdateSetting -UpdateCheckInterval "02:00:00"
 
    Ceci définit l'intervalle à 2 heures, réduisant les requêtes aux dépôts pour les appels
    répétés à Get-PackageUpdateInfo dans une fenêtre de 2 heures.
 
    Reset to Default Behavior
 
        Set-PackageUpdateSetting -Reset
 
MANAGING CUSTOM RULES: RULE FUNCTIONS
 
    Pour un contrôle granulaire sur des modules spécifiques ou des groupes de modules, utilisez
    des règles personnalisées. Les règles vous permettent de définir différents comportements de
    signalement de mise à jour pour différents modules ou ensembles de modules, en remplaçant
    la règle par défaut.
 
    Creating a Custom Rule: Add-PackageUpdateRule
 
    Ajoutez une règle qui signale les mises à jour majeures et mineures pour un module spécifique,
    mais ignore les changements de build et de révision:
 
        Add-PackageUpdateRule -IncludeModuleForChecking "ImportExcel" `
            -ReportChangeOnMajor $true -ReportChangeOnMinor $true `
            -ReportChangeOnBuild $false -ReportChangeOnRevision $false
 
    Ajoutez une règle qui exclut un module spécifique de la vérification:
 
        Add-PackageUpdateRule -ExcludeModuleFromChecking "MyInternalModule"
 
    Ajoutez une règle pour un groupe de modules, comme tous les modules Az.*:
 
        Add-PackageUpdateRule -ExcludeModuleFromChecking "Az.*"
 
    Note: Soyez prudent avec les exclusions larges. Les modules Az sont activement entretenus;
    considérez si l'exclusion générale répond à vos besoins opérationnels.
 
    Viewing Custom Rules: Get-PackageUpdateRule
 
        Get-PackageUpdateRule
 
    Retourne toutes les règles personnalisées. Chaque règle affiche:
    - Id: Identifiant unique pour la règle
    - IncludeModuleForChecking: Modules couverts par cette règle (ou vide pour tous)
    - ExcludeModuleFromChecking: Modules exclus par cette règle
    - ReportChangeOn{Major,Minor,Build,Revision}: Quels changements signaler
 
    Modifying a Rule: Set-PackageUpdateRule
 
        Set-PackageUpdateRule -Id 1 -ReportChangeOnRevision $false
 
    Removing a Rule: Remove-PackageUpdateRule
 
        Remove-PackageUpdateRule -Id 1
 
    Rule Priority and Application
 
    Les règles personnalisées sont évaluées dans l'ordre décroissant par leur Id. Quand
    Get-PackageUpdateInfo évalue un module, elle trouve la première (Id la plus élevée) règle
    personnalisée qui correspond au nom du module. Si aucune règle personnalisée correspond, la
    règle par défaut s'applique.
 
    Cette conception vous permet de créer des remplacements spécifiques pour les modules
    sélectionnés tout en maintenant des valeurs par défaut sensées pour tous les autres.
 
    VIEWING RELEASE NOTES: Show-PackageUpdateReleaseNote
 
    Après avoir identifié les modules qui ont besoin de mises à jour, examinez les notes de
    publication pour comprendre ce qui a changé:
 
        Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Show-PackageUpdateReleaseNote
 
    Ou récupérez les notes de publication pour les données en cache déjà importées:
 
        Import-PackageUpdateInfo | Show-PackageUpdateReleaseNote
 
    Ou affichez les notes de publication pour le module actuellement chargé dans votre session:
 
        Get-Module Pester | Show-PackageUpdateReleaseNote
 
    La commande Show-PackageUpdateReleaseNote récupère et affiche les notes de publication
    depuis les URL disponibles. Le contenu des notes de publication apparaît directement dans
    votre console, vous aidant à décider si vous devez déployer chaque mise à jour.
 
PERFORMANCE CONSIDERATIONS
 
    La vérification de mise à jour peut être coûteuse en calcul si vous avez de nombreux modules
    installés ou si les connexions aux dépôts sont lentes. Considérez ces pratiques:
 
    1. Utilisez l'intervalle de vérification de mise à jour (Set-PackageUpdateSetting
       -UpdateCheckInterval) pour limiter les requêtes redondantes aux dépôts.
 
    2. Exportez les vérifications de mise à jour vers les travaux en arrière-plan (comme montré
       dans l'exemple de flux de travail) afin que le démarrage interactif du shell ne soit pas
       bloqué.
 
    3. Excluez les modules non trouvés dans les galeries en ligne pour éviter les requêtes de
       dépôt gaspillées:
 
        Set-PackageUpdateSetting -ExcludeModuleFromChecking "MyLocalModule"
 
    4. Pour les inventaires de modules volumineux, exécutez Get-PackageUpdateInfo
       -ShowOnlyNeededUpdate | Export-PackageUpdateInfo de manière régulière (par ex., chaque
       nuit), puis utilisez Import-PackageUpdateInfo pendant les sessions interactives pour
       récupérer les résultats en cache.
 
BEST PRACTICES AND AUTOMATION
 
    Scheduled Update Checking
 
    Utilisez le Planificateur de Tâches Windows ou un autre outil d'orchestration de tâches
    pour exécuter les vérifications de mise à jour en arrière-plan de manière régulière, puis
    mettez les résultats en cache:
 
        $scriptBlock = {
            Get-PackageUpdateInfo -Force -ShowOnlyNeededUpdate |
                Export-PackageUpdateInfo
        }
        Start-Job -ScriptBlock $scriptBlock
 
    Environment-Based Rules
 
    Créez différentes règles personnalisées pour les environnements de développement et de
    production. Par exemple, en production, vous pouvez signaler uniquement les changements de
    version majeure, tandis qu'en développement vous suivez tous les changements:
 
        if ($env:ENVIRONMENT -eq 'Production') {
            Set-PackageUpdateSetting -ReportChangeOnMajor $true `
                -ReportChangeOnMinor $false -ReportChangeOnBuild $false `
                -ReportChangeOnRevision $false
        }
 
    Update Approval Workflows
 
    Combinez PackageUpdateInfo avec votre processus de gestion des changements:
 
        $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
 
    Utilisez les notifications pour vous alerter vous-même quand des modules critiques ont des
    mises à jour:
 
        if (@(Get-PackageUpdateInfo -ShowOnlyNeededUpdate |
              Where-Object Name -In 'Pester','PSFramework').Count -gt 0) {
            Get-PackageUpdateInfo -ShowOnlyNeededUpdate -ShowToastNotification
        }
 
GETTING HELP
 
    Pour obtenir une aide détaillée sur n'importe quelle commande, utilisez:
 
        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 plupart des commandes ont des alias pratiques pour une saisie plus rapide:
 
        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
 
    Symptôme: Get-PackageUpdateInfo retourne un avertissement indiquant que la vérification de
    mise à jour a été ignorée.
 
    Cause: Le module applique un intervalle de vérification de mise à jour (par défaut: 1 heure)
    pour éviter les requêtes redondantes aux dépôts. Si vous exécutez la commande plusieurs
    fois dans l'intervalle, les appels suivants sont supprimés pour protéger les performances
    du système et les ressources de la galerie.
 
    Solution: Utilisez le paramètre -Force pour contourner l'intervalle et effectuer une
    vérification immédiate:
 
        Get-PackageUpdateInfo -Force
 
    Ou ajustez l'intervalle à une durée plus courte:
 
        Set-PackageUpdateSetting -UpdateCheckInterval "00:15:00"
 
    No Modules Are Returned
 
    Symptôme: Get-PackageUpdateInfo retourne une liste vide même si vous avez des modules
    installés.
 
    Cause: Très probablement, tous les modules installés ont été exclus de la vérification par
    des règles, ou aucun dépôt par défaut n'est configuré sur votre système.
 
    Solution: Tout d'abord, vérifiez que les dépôts sont disponibles:
 
        Get-PSRepository
 
    Si aucun dépôt n'est affiché, ajoutez la Galerie PowerShell:
 
        Register-PSRepository -Default
 
    Vérifiez vos règles configurées:
 
        Get-PackageUpdateSetting
 
    Examinez à la fois la DefaultRule et toute CustomRule pour vous assurer que les modules ne
    sont pas exclus. Si nécessaire, réinitialisez la configuration:
 
        Set-PackageUpdateSetting -Reset
 
    Modules Are Excluded from Checking Unexpectedly
 
    Symptôme: Les modules spécifiques n'apparaissent pas dans la sortie Get-PackageUpdateInfo
    même s'ils sont installés.
 
    Cause: Une règle personnalisée ou la règle par défaut a exclu ces modules de la vérification.
 
    Solution: Vérifiez quelles règles s'appliquent au module:
 
        Get-PackageUpdateRule
        Get-PackageUpdateSetting
 
    Si vous souhaitez inclure le module, supprimez la règle d'exclusion ou modifiez la règle
    par défaut:
 
        # 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
 
    Symptôme: Show-PackageUpdateReleaseNote ne retourne aucune sortie ou un message indiquant
    que les notes de publication ne sont pas trouvées.
 
    Cause: Tous les modules de la Galerie PowerShell n'incluent pas les métadonnées des notes
    de publication. Certains modules plus anciens ou entretenus par la communauté peuvent ne
    pas avoir ces informations.
 
    Solution: C'est un comportement attendu. Les notes de publication sont des métadonnées
    facultatives que les auteurs de modules peuvent choisir d'inclure. Consultez le dépôt ou
    le site Web du module directement pour obtenir les informations de version:
 
        Get-PackageUpdateInfo | Select-Object Name, Repository, ReleaseNotes
 
    Export/Import Files Are Not Found
 
    Symptôme: Import-PackageUpdateInfo signale qu'aucun fichier d'export en cache n'existe, ou
    les fichiers d'export apparaissent dans des emplacements inattendus.
 
    Cause: Les fichiers d'export sont stockés dans des répertoires spécifiques à la plateforme
    avec les informations d'édition et de version. Si vous basculez entre les éditions
    PowerShell (Desktop vs. Core) ou les versions PowerShell, les fichiers d'export d'autres
    configurations ne sont pas utilisés.
 
    Solution: Vérifiez où les fichiers d'export sont stockés:
 
        Get-PackageUpdateSetting | Select-Object -ExpandProperty UpdateCheckInterval
 
    Le nom du fichier d'export inclut l'édition et la version: PackageUpdateInfo_Desktop_5.xml
    ou PackageUpdateInfo_Core_7.xml. Pour utiliser les exports entre les éditions, exportez
    manuellement vers un chemin spécifique et importez depuis ce lieu:
 
        Get-PackageUpdateInfo | Export-PackageUpdateInfo -Path "C:\Shared\Updates.xml"
        Import-PackageUpdateInfo -Path "C:\Shared\Updates.xml"
 
    Commands Return Errors About Configuration Files
 
    Symptôme: Les erreurs mentionnent un chemin de fichier de configuration manquant ou invalide.
 
    Cause: Le fichier de paramètres du module peut être corrompu, supprimé ou inaccessible. Cela
    se produit souvent si vous modifiez manuellement le fichier de configuration JSON avec une
    syntaxe incorrecte.
 
    Solution: Réinitialisez la configuration pour restaurer les valeurs par défaut:
 
        Set-PackageUpdateSetting -Reset
 
    Si vous avez modifié manuellement le fichier de configuration, assurez-vous que le JSON est
    valide. L'emplacement du fichier de configuration est:
    - Windows: $HOME\AppData\Local\Microsoft\Windows\PowerShell\PackageUpdateSetting_Desktop_5.json
    - Linux: $HOME/.config/powershell/PackageUpdateSetting_Core_7.json
 
    (Remarque: Les numéros d'édition et de version varient selon votre configuration PowerShell.)