Compartir a través de


Recurso PackageManagement de DSC

Se aplica a: Windows PowerShell 4.0, Windows PowerShell 5.0, Windows PowerShell 5.1

El recurso PackageManagement de la configuración de estado deseado (DSC) de Windows PowerShell ofrece un mecanismo para instalar o desinstalar paquetes de administración de paquetes, en un nodo de destino. Este recurso requiere el módulo PackageManagement, disponible en https://PowerShellGallery.com.

Importante

El módulo PackageManagement debe tener al menos la versión 1.1.7.0 para que la siguiente información de propiedad sea correcta.

Nota

Esta documentación de este recurso de DSC trata la versión que se incluye con PowerShell antes de la versión 7.2. El módulo PSDscResources contiene recursos de DSC nuevos y actualizados compatibles oficialmente con Microsoft. El módulo PSDscResources está disponible en la Galería de PowerShell.

Para obtener más información y documentación actualizada, consulte la documentación de referencia de PSDscResources.

Sintaxis

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] ]
}

Propiedades

Propiedad Descripción
Nombre Especifica el nombre del paquete que se va a instalar o desinstalar.
AdditionalParameters La tabla hash de parámetros específica del proveedor que se pasará a Get-Package -AdditionalArguments. Por ejemplo, para el proveedor de NuGet, puede pasar parámetros adicionales, como Destination.
MaximumVersion Especifica la versión máxima permitida del paquete que desea encontrar. Si no agrega este parámetro, el recurso busca la versión disponible más alta del paquete.
MinimumVersion Especifica la versión mínima permitida del paquete que desea encontrar. Si no se agrega este parámetro, este recurso busca la versión más alta disponible del paquete que también admite cualquier versión máxima especificada por el parámetro MaximumVersion.
ProviderName Especifica un nombre de proveedor del paquete que se va a dirigir la búsqueda del paquete. Puede obtener los nombres de proveedor del paquete mediante la ejecución del cmdlet Get-PackageProvider.
RequiredVersion Especifica la versión exacta del paquete que desea instalar. Si no especifica este parámetro, este recurso de DSC instala la versión más reciente disponible del paquete que también satisface cualquier versión máxima especificada por el parámetro MaximumVersion .
Source Especifica el nombre del origen del paquete donde se encuentra el paquete. Puede ser un URI o un origen registrado con Register-PackageSource o el recurso de DSC PackageManagementSource.
SourceCredential Especifica una cuenta de usuario que tenga derechos para instalar un paquete para un proveedor u origen de paquetes especificado.

Parámetros adicionales

En la tabla siguiente se enumeran las opciones de la propiedad AdditionalParameters.

Parámetro Descripción
Destination Usada por proveedores como el proveedor integrado de Nuget. Especifica una ubicación del archivo donde desea que se instale el paquete.
InstallationPolicy Usada por proveedores como el proveedor integrado de Nuget. Determina si puede confiar en el origen del paquete. Uno de: Que no es de confianza o de confianza.

Propiedades comunes

Propiedad Descripción
DependsOn Indica que la configuración de otro recurso debe ejecutarse antes de que se configure este recurso. Por ejemplo, si el elemento ID del bloque del script de configuración del recurso que quiere ejecutar primero es ResourceName y su tipo es ResourceType, la sintaxis para usar esta propiedad es DependsOn = "[ResourceType]ResourceName".
Ensure Determina si el paquete se puede instalar o desinstalar. El valor predeterminado es Present.
PsDscRunAsCredential Establece la credencial con la que se ejecutará todo el recurso.

Nota

Se ha agregado la propiedad común PsDscRunAsCredential en WMF 5.0 para permitir la ejecución de cualquier recurso de DSC en el contexto de otras credenciales. Para obtener más información, vea Uso de las credenciales con recursos de DSC.

Ejemplo

Este ejemplo se instala el paquete NuGet JQuery y el módulo GistProvider de PowerShell mediante el recurso PackageManagement de DSC. Este ejemplo primero garantiza que los orígenes del paquete necesarios están disponibles y después define el estado esperado de los paquetes JQuery y GistProvider (NuGet y PowerShell, respectivamente).

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"
    }
}