Version 1.1.0.0 of the documentation is no longer actively maintained. The site that you are currently viewing is an archived snapshot.

Bonnes pratiques opérationnelles

For AI agents: a documentation index is available at /llms.txt; a markdown version of this page is available at /v1.1.0.0/fr/docs/02-operational-best-practices/index.md.

Cette page décrit les modèles d’exploitation recommandés pour PackageUpdateInfo dans les shells interactifs, profils et automatisations.

Commence avec le comportement par défaut

Réinitialise les paramètres avant d’introduire des réglages personnalisés, surtout sur des systèmes partagés :

Set-PackageUpdateSetting -Reset

Inspecte la configuration et les règles actuelles :

Get-PackageUpdateSetting
Get-PackageUpdateRule -IncludeDefaultRule

Utilise des intervalles de mise à jour pour réduire le bruit

Get-PackageUpdateInfo respecte UpdateCheckInterval. Si la dernière vérification effective est encore dans l’intervalle configuré, la cmdlet retourne rapidement.

Définis un intervalle qui correspond à ton environnement :

Set-PackageUpdateSetting -UpdateCheckInterval (New-TimeSpan -Hours 6)

Utilise -Force uniquement pour des vérifications ad-hoc :

Get-PackageUpdateInfo -Force

Préfère un démarrage de shell non bloquant

Un modèle de profil pratique est :

Start-Job -ScriptBlock {
    Get-PackageUpdateInfo -ShowOnlyNeededUpdate | Export-PackageUpdateInfo
} | Out-Null

Import-PackageUpdateInfo

Pourquoi ça fonctionne bien :

  • Le démarrage reste rapide car l’import lit les données en cache.
  • La vérification en ligne coûteuse s’exécute en arrière-plan.
  • Tu obtiens toujours une visibilité utile sur les mises à jour dans chaque session.

Vérifie explicitement la portée quand c’est nécessaire

Utilise les paramètres de portée lorsque les permissions diffèrent entre modules utilisateur et système :

Get-PackageUpdateInfo -CurrentUser
Get-PackageUpdateInfo -AllUsers

Utilise -Repository dans des environnements avec plusieurs dépôts configurés :

Get-PackageUpdateInfo -Repository PSGallery

Conçois soigneusement les règles

Utilise des exclusions larges uniquement si c’est intentionnel. Exclure de grands motifs peut masquer des mises à jour importantes.

Crée des règles personnalisées ciblées pour les modules à forte rotation :

Add-PackageUpdateRule -IncludeModuleForChecking "Az.*" -ReportChangeOnMajor $true -ReportChangeOnMinor $true -ReportChangeOnBuild $false -ReportChangeOnRevision $false

Vérifie la priorité des règles en listant toutes :

Get-PackageUpdateRule -IncludeDefaultRule | Sort-Object Id

Utilise l’exportation/importation de façon intentionnelle

Les chemins d’exportation et d’importation par défaut sont spécifiques à la plateforme et incluent l’édition PowerShell et la version majeure dans le nom de fichier. Cela aide à éviter de mélanger des données provenant de différentes versions d’exécution.

Options d’exportation courantes :

Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat XML
Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat JSON
Get-PackageUpdateInfo | Export-PackageUpdateInfo -OutputFormat CSV

Recommandations :

  • Utilise XML si tu veux préserver des objets typés pour une réimportation.
  • Utilise JSON ou CSV pour des rapports externes et intégrations.
  • Utilise -IncludeTimeStamp pour le suivi historique.

Garde les notifications utiles

Utilise les notifications toast uniquement là où elles apportent une valeur ajoutée :

  • Sur des hôtes Windows avec BurntToast installé.
  • Sur des sessions où des alertes interactives sont attendues.

Pour les serveurs, CI, et shells non interactifs, privilégie les rapports exportés plutôt que les notifications toast.