Recurso PackageManagement de DSCDSC PackageManagement Resource

Aplica-se a: Windows PowerShell 4.0, Windows PowerShell 5.0Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0

O recurso PackageManagement na Configuração de Estado Desejado (DSC) do Windows PowerShell fornece um mecanismo para instalar ou desinstalar pacotes de Gerenciamento de Pacotes em um nó de destino.The PackageManagement resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to install or uninstall Package Management packages on a target node. Este recurso requer o módulo PackageManagement, disponível em http://PowerShellGallery.com.This resource requires the PackageManagement module, available from http://PowerShellGallery.com.

SintaxeSyntax

PackageManagement [string] #ResourceName
{
    Name = [string]
    [ Source = [string] ]
    [ Ensure = [string] { Absent | Present }  ]
    [ RequiredVersion = [string] ]
    [ MinimumVersion = [string] ]
    [ MaximumVersion = [string] ]
    [ SourceCredential = [PSCredential] ]
    [ ProviderName = [string] ]
    [ AdditionalParameters = [Microsoft.Management.Infrastructure.CimInstance[]] ]
}

PropriedadesProperties

PropriedadeProperty DescriçãoDescription
NomeName Especifica o nome do Pacote a ser instalado ou desinstalado.Specifies the name of the Package to be installed or uninstalled.
OrigemSource Especifica o nome da origem do pacote onde é possível encontrar o pacote.Specifies the name of the package source where the package can be found. Isso pode ser um URI ou uma fonte registrada com o recurso de DSC Register-PackageSource ou PackageManagementSource.This can either be a URI or a source registered with Register-PackageSource or PackageManagementSource DSC resource. O recurso de DSC MSFT_PackageManagementSource também pode registrar uma origem de pacote.The DSC resource MSFT_PackageManagementSource can also register a package source.
EnsureEnsure Determina se o pacote deve ser instalado ou desinstalado.Determines whether the package is to be installed or uninstalled.
RequiredVersionRequiredVersion Especifica a versão exata do pacote que você deseja instalar.Specifies the exact version of the package that you want to install. Se você não especificar esse parâmetro, esse recurso DSC instalará a versão disponível mais recente do pacote que também atende a qualquer versão máxima especificada pelo parâmetro MaximumVersion.If you do not specify this parameter, this DSC resource installs the newest available version of the package that also satisfies any maximum version specified by the MaximumVersion parameter.
MinimumVersionMinimumVersion Especifica a versão mínima permitida do pacote que você deseja instalar.Specifies the minimum allowed version of the package that you want to install. Se você não adicionar esse parâmetro, esse recurso de DSC instalará a versão disponível mais recente do pacote que também atende a qualquer versão máxima especificada pelo parâmetro MaximumVersion.If you do not add this parameter, this DSC resource intalls the highest available version of the package that also satisfies any maximum specified version specified by the MaximumVersion parameter.
MaximumVersionMaximumVersion Especifica a versão máxima permitida do pacote que você deseja instalar.Specifies the maximum allowed version of the package that you want to install. Se você não especificar esse parâmetro, esse recurso de DSC instalará a versão com maior numeração disponível do pacote.If you do not specify this parameter, this DSC resource installs the highest-numbered available version of the package.
SourceCredentialSourceCredential Especifica uma conta de usuário que tenha direitos para instalar um pacote para um provedor de pacote ou origem específicos.Specifies a user account that has rights to install a package for a specified package provider or source.
ProviderNameProviderName Especifica um nome de provedor de pacote para o qual definir o escopo de sua pesquisa de pacote.Specifies a package provider name to which to scope your package search. Você pode obter os nomes de provedores de pacote executando o cmdlet Get-PackageProvider.You can get package provider names by running the Get-PackageProvider cmdlet.
AdditionalParametersAdditionalParameters Parâmetros específicos do provedor que são transmitidos como uma tabela de hash.Provider specific parameters that are passed as an Hashtable. Por exemplo, para o provedor do NuGet, você pode transmitir parâmetros adicionais, como DestinationPath.For example, for NuGet provider you can pass additional parameters like DestinationPath.

Parâmetros AdicionaisAdditional Parameters

A tabela a seguir lista as opções para a propriedade AdditionalParameters.The following table lists options for the AdditionalParameters property.

ParâmetroParameter DescriçãoDescription
DestinationPathDestinationPath Usada por provedores como o Nuget interno.Used by providers such as the built-in Nuget Provider. Especifica o local de um arquivo onde você deseja que o pacote seja instalado.Specifies a file location where you want the package to be installed.
InstallationPolicyInstallationPolicy Usada por provedores como o Nuget interno.Used by providers such as the built-in Nuget Provider. Determina se você confia na origem do pacote.Determines whether you trust the package's source. Um destes: "Não confiável", "Confiável".One of: "Untrusted", "Trusted".

ExemploExample

Este exemplo instala o pacote do NuGet JQuery e o módulo do PowerShell GistProvider usando o recurso de DSC PackageManagement.This example installs the JQuery NuGet package and GistProvider PowerShell module using the PackageManagement DSC resource. Este exemplo primeiro garante que as origens dos pacotes necessários estejam disponíveis e, em seguida, define o estado esperado dos pacotes JQuery e GistProvider (NuGet e PowerShell, respectivamente).This example first ensures the required package sources are available then defines the expected state of the JQuery and GistProvider packages (NuGet and PowerShell, respectively).

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

    PackageManagementSource PSGallery 
    { 
        Ensure      = "Present" 
        Name        = "psgallery" 
        ProviderName= "PowerShellGet" 
        SourceUri   = "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" 
    }
}