Partager via


Options de ligne de commande pour la maintenance des packages du système d’exploitation DISM (.cab ou .msu)

Utilisez DISM avec des fichiers Windows cabinet (.cab) ou des fichiers du programme d’installation autonome de Windows Update (.msu) pour installer ou supprimer des mises à jour, des packs linguistiques et pour activer ou désactiver des fonctionnalités Windows. Les fonctionnalités sont des composants optionnels du système d’exploitation de base.

Syntaxe

DISM.exe {/Image:<path_to_image_directory> | /Online} [dism_global_options] {servicing_option} [<servicing_argument>]

Les options suivantes de maintenance des packages du système d’exploitation sont disponibles pour une image hors ligne :

DISM.exe /Image:<path_to_image_directory> [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

Les options suivantes de maintenance des packages du système d’exploitation sont disponibles pour un système d’exploitation en cours d’exécution :

DISM.exe /Online [/Get-Packages | /Get-PackageInfo | /Add-Package | /Remove-Package ] [/Get-Features | /Get-FeatureInfo | /Enable-Feature | /Disable-Feature ] [/Cleanup-Image]

/Get-Help /?

Lorsqu’elle est utilisée immédiatement après une option de ligne de commande de maintenance de package, des informations sur l’option et les arguments sont affichées.

Des rubriques supplémentaires peuvent être disponibles lorsqu’une image est spécifiée.

Syntaxe :

Dism /Get-Help 

Exemples :

Dism /Image:C:\test\offline /Add-Package /?
Dism /Online /Get-Packages /?

/Get-Packages

Affiche des informations de base sur tous les packages de l’image. Utilisez l’argument /Format:Table ou /Format:List pour afficher la sortie sous forme de tableau ou de liste.

Syntaxe :

Dism /Get-Packages [/Format:{Table | List}]

Exemples :

Dism /Image:C:\test\offline /Get-Packages
Dism /Image:C:\test\offline /Get-Packages /Format:Table
Dism /Online /Get-Packages

/Get-PackageInfo

Affiche des informations détaillées sur un package fourni sous forme de fichier .cab. Seuls les fichiers .cab peuvent être spécifiés. Vous ne pouvez pas utiliser cette commande pour obtenir des informations sur les packages pour les fichiers .msu. /PackagePath:<path_to_package> peut pointer soit vers un fichier .cab, soit vers un dossier.

Vous pouvez utiliser l’option /Get-Packages pour trouver le nom du package dans l’image, ou vous pouvez spécifier le chemin vers le fichier .cab. Le chemin du fichier .cab doit pointer vers la source d’origine du package, et non vers l’emplacement où le fichier est installé sur l’image hors ligne.

Syntaxe :

Dism /Get-PackageInfo {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}

Exemples :

Dism /Image:C:\test\offline /Get-PackageInfo /PackagePath:C:\packages\package.cab
Dism /Image:C:\test\offline /Get-PackageInfo /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Add-Package

Installe un package .cab ou .msu spécifié dans l’image.

Remarque

Vous pouvez utiliser /Add-Package pour ajouter un package .msu à une image Windows 11 en ligne ou hors ligne, version 21H2 ou une version ultérieure. Si vous travaillez avec une image Windows antérieure à Windows 11, version 21H2, vous ne pouvez ajouter des packages .msu que sur des images cibles hors ligne.

Plusieurs packages peuvent être ajoutés sur une seule ligne de commande. L’applicabilité de chaque package sera vérifiée. Si le package ne peut pas être appliqué à l’image spécifiée, vous recevrez un message d’erreur. Utilisez l’argument /IgnoreCheck si vous souhaitez que la commande s’exécute sans vérifier l’applicabilité de chaque package.

Syntaxe :

Dism /Add-Package /PackagePath:<path_to_cabfile> [/IgnoreCheck] [/PreventPending]
  • /PackagePath peut pointer vers :

    • Un fichier .cab ou .msu unique.
    • Un dossier contenant un seul fichier .cab étendu.
    • Un dossier contenant un seul fichier .msu.
    • Un dossier contenant plusieurs fichiers .cab ou .msu.
  • Si /PackagePath pointe vers un dossier contenant des fichiers .cab ou .msu à sa racine, tous les sous-dossiers seront également vérifiés de manière récursive pour les fichiers .cab et .msu.

  • Utilisez l'option /PreventPending pour sauter l'installation du package si le package ou l'image Windows a des actions en ligne en attente.

Remarque

/Add-Package n'exécute pas une vérification complète de l'applicabilité et des dépendances d'un package :

  • Si vous ajoutez un package avec des dépendances, assurez-vous que toutes les dépendances sont installées lors de l'ajout du package.
  • Si vous ajoutez un .msu, assurez-vous de vérifier le KB associé pour toute instruction d'installation spécifique au package.

Exemples :

Dism /Image:C:\test\offline /LogPath:AddPackage.log /Add-Package /PackagePath:C:\packages\package.msu
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab /IgnoreCheck
Dism /Image:C:\test\offline /Add-Package /PackagePath:C:\test\packages\package.cab /PreventPending

Mises à jour cumulatives de point de contrôle

À partir de Windows 11, version 24H2, la dernière mise à jour cumulative peut nécessiter une mise à jour cumulative préalable qui doit être installée en premier. Pour installer ces mises à jour cumulatives de point de contrôle, appelez /Add-Package avec la mise à jour cumulative cible. Le dossier de -PackagePath sera utilisé pour découvrir et installer un ou plusieurs points de contrôle si nécessaire. Seules la mise à jour cumulative cible et les mises à jour cumulatives de point de contrôle prérequises doivent être présentes dans le dossier -PackagePath. Les packages de mise à jour cumulative avec une révision inférieure ou égale à la mise à jour cumulative cible seront traités.

/Remove-Package

Supprime un package de fichier .cab spécifié de l'image. Seuls les fichiers .cab peuvent être spécifiés. Vous ne pouvez pas utiliser cette commande pour supprimer des fichiers .msu.

Remarque

Utiliser cette commande pour supprimer un package d'une image hors ligne ne réduira pas la taille de l'image.

Syntaxe :

/Remove-Package {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}
  • Utilisez /PackagePath pour pointer vers la source d'origine du package, spécifier le chemin vers le fichier CAB ou pour spécifier le package par son nom tel qu'il est répertorié dans l'image. Utilisez l'option /Get-Packages pour trouver le nom du package dans l'image.

Exemples :

Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0 /PackageName:Microsoft-Windows-MediaPlayer-Package~31bf3856ad364e35~x86~~6.1.6801.0
Dism /Image:C:\test\offline /LogPath:C:\test\RemovePackage.log /Remove-Package /PackagePath:C:\packages\package1.cab /PackagePath:C:\packages\package2.cab

/Get-Features

Affiche des informations de base sur toutes les fonctionnalités (composants du système d'exploitation comprenant des fonctionnalités fondamentales optionnelles de Windows) dans un package.

Syntaxe :

/Get-Features {/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>} [/Format:{Table | List}]
  • /Get-Features trouve le nom des packages dans l'image, ou dans la source d'origine du package. Si vous ne spécifiez pas de nom ou de chemin de package, toutes les fonctionnalités de l'image seront répertoriées.
  • /PackageName est un package dans une image. Vous pouvez utiliser /DISM Get-Packages pour voir les noms de packages dans une image.
  • /PackagePath peut pointer soit vers un fichier .cab, soit vers un dossier.

Utilisez l’argument /Format:Table ou /Format:List pour afficher la sortie sous forme de tableau ou de liste.

Exemples :

Dism /Image:C:\test\offline /Get-Features
Dism /Image:C:\test\offline /Get-Features /Format:List
Dism /Image:C:\test\offline /Get-Features /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0
Dism /Image:C:\test\offline /Get-Features /PackagePath:C:\packages\package1.cab

/Get-FeatureInfo

Affiche des informations détaillées sur une fonctionnalité. Vous devez utiliser /FeatureName. Vous pouvez utiliser l'option /Get-Features pour trouver le nom de la fonctionnalité dans l'image.

Syntaxe :

/Get-FeatureInfo /FeatureName:<name_in_image> [{/PackageName:<name_in_image> | /PackagePath:<path_to_cabfile>}]

/PackageName et /PackagePath sont optionnels et peuvent être utilisés pour trouver une fonctionnalité spécifique dans un package.

Exemples :

Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts
Dism /Image:C:\test\offline /Get-FeatureInfo /FeatureName:Hearts /PackagePath:C:\packages\package.cab

/Enable-Feature

Active ou met à jour la fonctionnalité spécifiée dans l'image. Vous devez utiliser l'option /FeatureName. Utilisez l'option /Get-Features pour trouver le nom de la fonctionnalité dans l'image.

Syntaxe :

/Enable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Source: <source>] [/LimitAccess] [/All]

Vous pouvez spécifier l'option /FeatureName plusieurs fois sur une seule ligne de commande pour les fonctionnalités qui partagent le même package parent.

Vous n'avez pas besoin de spécifier le nom du package en utilisant l'option /PackageName si le package est un package de base de Windows. Sinon, utilisez /PackageName pour spécifier le package parent de la fonctionnalité.

Vous pouvez restaurer et activer une fonctionnalité qui a déjà été supprimée de l'image. Utilisez l'argument /Source pour spécifier l'emplacement des fichiers requis pour restaurer la fonctionnalité. La source des fichiers peut être le dossier Windows dans une image montée, par exemple c:\test\mount\Windows. Vous pouvez également utiliser un dossier Windows côte à côte comme source des fichiers, par exemple z:\sources\SxS.

Si vous spécifiez plusieurs arguments /Source, les fichiers sont collectés à partir du premier emplacement où ils sont trouvés et les autres emplacements sont ignorés. Si vous ne spécifiez pas de /Source pour une fonctionnalité qui a été supprimée, l'emplacement par défaut dans le registre est utilisé ou, pour les images en ligne, Windows Update (WU) est utilisé.

  • Utilisez /LimitAccess pour empêcher DISM de contacter WU pour les images en ligne.
  • Utilisez /All pour activer toutes les fonctionnalités parentes de la fonctionnalité spécifiée.

Exemples :

Dism /Online /Enable-Feature /FeatureName:Hearts /All
Dism /Online /Enable-Feature /FeatureName:Calc /Source:c:\test\mount\Windows /LimitAccess
Dism /Image:C:\test\offline /Enable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Disable-Feature

Désactive la fonctionnalité spécifiée dans l'image. Vous devez utiliser l'option /FeatureName. Utilisez l'option /Get-Features pour trouver le nom de la fonctionnalité dans l'image.

Syntaxe :

/Disable-Feature /FeatureName:<name_in_image> [/PackageName:<name_in_image>] [/Remove]

Vous pouvez spécifier /FeatureName plusieurs fois sur une seule ligne de commande pour les fonctionnalités du même package parent.

Vous n'avez pas besoin de spécifier le nom du package en utilisant l'option /PackageName si le package est un package de base de Windows. Sinon, utilisez /PackageName pour spécifier le package parent de la fonctionnalité.

Utilisez /Remove pour supprimer une fonctionnalité sans supprimer le manifeste de la fonctionnalité de l'image. La fonctionnalité sera répertoriée comme « Supprimée » lorsque vous utiliserez /Get-FeatureInfo pour afficher les détails de la fonctionnalité et pourra être restaurée et activée en utilisant /Enable-Feature avec l'option /Source.

Exemples :

*Dism /Online /Disable-Feature /FeatureName:Hearts
Dism /Image:C:\test\offline /Disable-Feature /FeatureName:Calc /PackageName:Microsoft.Windows.Calc.Demo~6595b6144ccf1df~x86~en~1.0.0.0

/Cleanup-Image

Effectue des opérations de nettoyage ou de récupération sur l'image. /AnalyzeComponentStore et /ResetBase peuvent être utilisés avec les images Windows 10, Windows 8.1 et Windows PE de version supérieure à 5.0. À partir de Windows 10, version 1607, vous pouvez spécifier /Defer avec /ResetBase, mais vous devez uniquement utiliser /Defer comme option dans l'usine où DISM /Resetbase nécessite plus de 30 minutes pour se terminer.

Conseil

Pour déterminer quand l'option /ResetBase a été exécutée pour la dernière fois, consultez l'entrée de registre LastResetBase_UTC sous le chemin de registre HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Component Based Servicing.

Syntaxe :

/Cleanup-Image {/RevertPendingActions | /SPSuperseded [/HideSP] | /StartComponentCleanup [/ResetBase [/Defer]] | /AnalyzeComponentStore | /CheckHealth | /ScanHealth | /RestoreHealth [/Source: <filepath>] [/LimitAccess]}
Paramètre Description
/RevertPendingActions Si vous rencontrez un échec de démarrage, vous pouvez utiliser l'option /RevertPendingActions pour tenter de récupérer le système. L'opération annule toutes les actions en attente des opérations de maintenance précédentes car ces actions peuvent être à l'origine de l'échec du démarrage. L'option /RevertPendingActions n'est pas prise en charge sur un système d'exploitation en cours d'exécution ou une image Windows PE ou Windows Recovery Environment (Windows RE). Important : vous ne devez utiliser l'option /RevertPendingActions que dans un scénario de récupération du système sur une image Windows qui n'a pas démarré.
SPSuperseded Supprime tous les fichiers de sauvegarde créés lors de l'installation d'un service pack. Utilisez /HideSP pour empêcher que le service pack soit répertorié dans le Panneau de configuration des mises à jour installées. Le service pack ne peut pas être désinstallé après l'exécution de l'opération /SPSuperseded.
/StartComponentCleanup Nettoie les composants remplacés et réduit la taille du magasin de composants. Utilisez /ResetBase pour réinitialiser la base des composants remplacés, ce qui peut encore réduire la taille du magasin de composants. Les mises à jour Windows installées ne peuvent pas être désinstallées après l'exécution de /StartComponentCleanup avec l'option /ResetBase. Utilisez /Defer avec /ResetBase pour différer les opérations de nettoyage longues jusqu'à la prochaine maintenance automatique.
/AnalyzeComponentStore Crée un rapport sur le magasin de composants. Pour plus d'informations sur le rapport et sur la façon d'utiliser les informations fournies dans le rapport, veuillez consulter Déterminer la taille réelle du dossier WinSxS.
/CheckHealth Vérifie si l'image a été signalée comme corrompue par un processus échoué et si la corruption peut être réparée.
/ScanHealth Scanne l'image à la recherche de corruption dans le magasin de composants. Cette opération prendra plusieurs minutes.
/RestoreHealth Scanne l'image à la recherche de corruption dans le magasin de composants, puis effectue automatiquement les opérations de réparation. Cette opération prendra plusieurs minutes.
/Source Utilisé avec /RestoreHealth pour spécifier l'emplacement de versions connues comme étant correctes des fichiers pouvant être utilisés pour la réparation, comme un chemin vers le répertoire Windows d'une image montée.
/LimitAccess Empêche DISM de contacter Windows Update pour la réparation d'images en ligne.

Exemples :

Dism /Image:C:\test\offline /Cleanup-Image /RevertPendingActions
Dism /Image:C:\test\offline /Cleanup-Image /SPSuperseded /HideSP
Dism /Online /Cleanup-Image /ScanHealth
Dism /Online /Cleanup-Image /RestoreHealth /Source:c:\test\mount\windows /LimitAccess

Pour plus d’informations, consultez Réparer une image Windows.

Limites

  • Lorsque vous installez un package dans une image hors ligne, l'état du package est "installation en attente" en raison d'actions en ligne en attente. En d'autres termes, le package sera installé lorsque l'image sera démarrée et que les actions en ligne seront traitées. Si des actions ultérieures sont demandées, elles ne peuvent pas être traitées tant que l'action en ligne en attente précédente n'est pas terminée. Vous pouvez utiliser l'option /PreventPending lorsque vous ajoutez un package avec /AddPackage pour sauter l'installation d'un package lorsqu'il y a des actions en ligne en attente.
  • Certains packages nécessitent que d’autres packages soient installés en premier. Vous ne devez pas supposer que les dépendances seront satisfaites. Si un package a des exigences de dépendance, utilisez un fichier de réponse pour installer les packages nécessaires. En passant un fichier de réponse à DISM, plusieurs packages peuvent être installés dans le bon ordre. Pour plus d'informations, veuillez consulter Ajouter ou supprimer des packages hors ligne à l'aide de DISM.
  • Les packages sont installés dans l’ordre dans lequel ils sont répertoriés dans la ligne de commande.
  • Lors de l'utilisation de DISM pour répertorier les composants optionnels dans une image Windows PE, les composants optionnels seront toujours répertoriés comme étant en attente même lorsque l'opération de maintenance a réussi. Cela est intentionnel et ne nécessite aucune action supplémentaire.

Qu’est-ce que DISM ?

Options de ligne de commande de la gestion des images DISM

Options de ligne de commande de Gestion et maintenance des images de déploiement (DISM)