Partager via


Ressource DSC PackageManagement

S’applique à : Windows PowerShell 4.0, Windows PowerShell 5.0, Windows PowerShell 5.1

La ressource PackageManagement dans la configuration d’état souhaité (DSC) Windows PowerShell fournit un mécanisme permettant d’installer ou de désinstaller des packages de gestion des packages sur un nœud cible. Cette ressource nécessite le module PackageManagement qui est disponible sur le site https://PowerShellGallery.com.

Important

Le module PackageManagement doit être au moins de version 1.1.7.0 pour que les informations de propriétés suivantes soient correctes.

Notes

Cette documentation de cette ressource DSC couvre la version incluse avec PowerShell antérieure à la version 7.2. Le module PSDscResources contient des ressources DSC nouvelles et mises à jour qui sont officiellement prises en charge par Microsoft. Le module PSDscResources est disponible à partir de PowerShell Gallery.

Pour plus d’informations et la documentation mise à jour, consultez la documentation de référence PSDscResources.

Syntaxe

PackageManagement [string] #ResourceName
{
    Name = [string]
    [ AdditionalParameters = [HashTable] ]
    [ DependsOn = [string[]] ]
    [ Ensure = [string]{ Absent | Present } ]
    [ MaximumVersion = [string] ]
    [ MinimumVersion = [string] ]
    [ ProviderName = [string] ]
    [ PsDscRunAsCredential = [PSCredential] ]
    [ RequiredVersion = [string] ]
    [ Source = [string] ]
    [ SourceCredential = [PSCredential] ]
}

Propriétés

Propriété Description
Nom Spécifie le nom du package à installer ou à désinstaller.
AdditionalParameters Table de hachage spécifique du fournisseur, contenant les paramètres passés à Get-Package -AdditionalArguments. Par exemple, pour le fournisseur NuGet, vous pouvez passer des paramètres supplémentaires tels que Destination.
MaximumVersion Spécifie la version maximale autorisée du package à rechercher. Si vous n’ajoutez pas ce paramètre, la ressource recherche la version disponible la plus récente du package.
MinimumVersion Spécifie la version minimale autorisée du package à rechercher. Si vous n’ajoutez pas ce paramètre, la ressource recherche la version la plus élevée du package parmi celles disponibles, sans toutefois dépasser la version maximale spécifiée par le paramètre MaximumVersion.
ProviderName Spécifie un nom de fournisseur de package auquel vous souhaitez limiter votre recherche de package. Vous obtenez les noms des fournisseurs de package en exécutant l’applet de commande Get-PackageProvider.
RequiredVersion Spécifie la version exacte du package à installer. Si vous ne spécifiez pas ce paramètre, cette ressource DSC installe la dernière version disponible du package qui satisfait également à toute version maximale spécifiée par le paramètre MaximumVersion .
Source Spécifie le nom de la source du package où se trouve le package. Il peut s’agir d’un URI ou d’une source inscrite avec Register-PackageSource ou une ressource DSC PackageManagementSource.
SourceCredential Spécifie un compte d’utilisateur disposant des droits nécessaires pour installer un package pour une source ou un fournisseur de package spécifié.

Paramètres supplémentaires

Le tableau suivant répertorie les options de la propriété AdditionalParameters.

Paramètre Description
Destination Utilisé par les fournisseurs, notamment le fournisseur Nuget intégré. Spécifie un emplacement de fichier où vous souhaitez installer le package.
InstallationPolicy Utilisé par les fournisseurs, notamment le fournisseur Nuget intégré. Détermine si vous faites confiance à la source du package. L’un des éléments suivants : non approuvé ou approuvé.

Propriétés communes

Propriété Description
DependsOn Indique que la configuration d’une autre ressource doit être exécutée avant celle de cette ressource. Par exemple, si vous voulez exécuter en premier le bloc de script de configuration de ressource ayant l’ID ResourceName et le type ResourceType, utilisez la syntaxe suivante pour cette propriété : DependsOn = "[ResourceType]ResourceName".
Ensure Détermine si le package doit être installé ou désinstallé. La valeur par défaut est Present.
PsDscRunAsCredential Définit les informations d’identification pour l’exécution de l’ensemble de la ressource.

Notes

La propriété commune PsDscRunAsCredential a été ajoutée à WMF 5.0 pour permettre l’exécution d’une ressource DSC dans le contexte d’autres informations d’identification. Pour plus d’informations, consultez Utiliser des informations d’identification avec des ressources DSC.

Exemple

Cet exemple installe le package NuGet JQuery et le module PowerShell GistProvider à l’aide de la ressource DSC PackageManagement. Cet exemple vérifie d’abord que les sources de package nécessaires sont disponibles, puis définit l’état attendu des packages JQuery et GistProvider (NuGet et PowerShell, respectivement).

Configuration PackageTest
{
    Import-DscResource -ModuleName 'PackageManagement'

    PackageManagementSource SourceRepository
    {
        Ensure      = "Present"
        Name        = "MyNuget"
        ProviderName= "Nuget"
        SourceLocation   = "http://nuget.org/api/v2/"
        InstallationPolicy ="Trusted"
    }

    PackageManagementSource PSGallery
    {
        Ensure      = "Present"
        Name        = "psgallery"
        ProviderName= "PowerShellGet"
        SourceLocation   = "https://www.powershellgallery.com/api/v2"
        InstallationPolicy ="Trusted"
    }

    PackageManagement NugetPackage
    {
        Ensure               = "Present"
        Name                 = "JQuery"
        AdditionalParameters = "$env:HomeDrive\nuget"
        RequiredVersion      = "2.0.1"
        DependsOn            = "[PackageManagementSource]SourceRepository"
    }

    PackageManagement PSModule
    {
        Ensure               = "Present"
        Name                 = "gistprovider"
        Source               = "PSGallery"
        DependsOn            = "[PackageManagementSource]PSGallery"
    }
}