Recurso PackageManagement de DSCDSC PackageManagement Resource

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

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.

Importante

O módulo PackageManagement deve ser pelo menos a versão 1.1.7.0 para as informações de propriedade a seguir estarem corretas.The PackageManagement module should be at least version 1.1.7.0 for the following property information to be correct.

SintaxeSyntax

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

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.
AdditionalParametersAdditionalParameters Tabela de hash específica do provedor dos parâmetros que seria passado para o Get-Package -AdditionalArguments.Provider specific hashtable of parameters that would be passed to Get-Package -AdditionalArguments. 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.
EnsureEnsure Determina se o pacote deve ser instalado ou desinstalado.Determines whether the package is to be installed or uninstalled.
MaximumVersionMaximumVersion Especifica a versão máxima permitida do pacote que você deseja encontrar.Specifies the maximum allowed version of the package that you want to find. Se você não adicionar esse parâmetro, o recurso localizará a versão mais recente disponível do pacote.If you do not add this parameter, the resource finds the highest available version of the package.
MinimumVersionMinimumVersion Especifica a versão mínima permitida do pacote que você deseja encontrar.Specifies the minimum allowed version of the package that you want to find. Se você não adicionar esse parâmetro, esse recurso encontrará 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, the resource finds the highest available version of the package that also satisfies any maximum specified version specified by the MaximumVersion parameter.
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 provedor de pacotes executando o cmdlet Get-PackageProvider.You can get package provider names by running the Get-PackageProvider cmdlet.
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.
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.
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.

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