Usando recursos com várias versõesUsing resources with multiple versions

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

No PowerShell 5.0, recursos de DSC podem ter várias versões e as versões podem ser instaladas em um computador lado a lado.In PowerShell 5.0, DSC resources can have multiple versions, and versions can be installed on a computer side-by-side. Isso é implementado por ter várias versões de um módulo de recursos que estão contidas na mesma pasta de módulo.This is implemented by having multiple versions of a resource module that are contained in the same module folder.

Instalando várias versões de recurso lado a ladoInstalling multiple resource versions side-by-side

Você pode usar os parâmetros MinimumVersion, MaximumVersion e RequiredVersion do cmdlet Install-Module para especificar qual versão de um módulo instalar.You can use the MinimumVersion, MaximumVersion, and RequiredVersion parameters of the Install-Module cmdlet to specify which version of a module to install. Se você chamar Install-Module sem especificar uma versão, a versão mais recente será instalada.Calling Install-Module without specifying a version installs the most recent version.

Por exemplo, há várias versões do módulo xFailOverCluster, cada um com um recurso xCluster.For example, there are multiple versions of the xFailOverCluster module, each of which contains an xCluster resouce. O resultado da chamada Install-Module sem especificar o número da versão é a seguinte:The result of calling Install-Module without specifying the version number is as follows:

C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Install-Module xFailOverCluster
C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Get-DscResource xCluster

ImplementedAs   Name                      ModuleName                     Version    Properties
-------------   ----                      ----------                     -------    ----------
PowerShell      xCluster                  xFailOverCluster               1.2.0.0    {DomainAdministratorCredential, ...

Agora, se você chamar Install-Module novamente, mas especificar uma RequiredVersion de 1.1.0.0, resultará no seguinte:Now, if you call Install-Module again, but specify a RequiredVersion of 1.1.0.0, it results in the following:

C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Install-Module xFailOverCluster -RequiredVersion 1.1
C:\Program Files\WindowsPowerShell\Modules\xFailOverCluster> Get-DscResource xCluster

ImplementedAs   Name                      ModuleName                     Version    Properties
-------------   ----                      ----------                     -------    ----------
PowerShell      xCluster                  xFailOverCluster               1.1        {DomainAdministratorCredential, Name, ...
PowerShell      xCluster                  xFailOverCluster               1.2.0.0    {DomainAdministratorCredential, Name, ...

Especificando uma versão do recurso em uma configuraçãoSpecifying a resource version in a configuration

Se você tiver vários recursos instalados em um computador, deve especificar a versão do recurso ao usá-lo em uma configuração.If you have multiple resources installed on a computer, you must specify the version of that resource when you use it in a configuration. Faça isso especificando o parâmetro ModuleVersion da palavra-chave Import-DscResource.You do this by specifying the ModuleVersion parameter of the Import-DscResource keyword. Se você não especificar a versão de um módulo de um recurso do qual tem mais de uma versão instalada, a configuração vai gerar um erro.If you fail to specify the version of a resource module of a resource of which you have more than one version installed, the configuration generates an error.

A configuração a seguir mostra como especificar a versão do recurso a ser chamado:The following configuration shows how to specify the version of the resource to call:

configuration VersionTest
{
    Import-DscResource -ModuleName xFailOverCluster -ModuleVersion 1.1

    Node 'localhost'
    {
       xCluster ClusterTest
       {
            Name                          = 'TestCluster'
            StaticIPAddress               = '10.0.0.3'
            DomainAdministratorCredential = Get-Credential
        }
     }
}     

Observação: o parâmetro ModuleVersion de Import-DscResource não está disponível no PowerShell 4.0.Note: The ModuleVersion parameter of Import-DscResource is not available in PowerShell 4.0. No PowerShell 4.0, é possível especificar uma versão de módulo passando um objeto de especificação de módulo para o parâmetro ModuleName de Import-DscResource.In PowerShell 4.0, you can specify a module version by passing a module specification object to the ModuleName parameter of Import-DscResource. Um objeto de especificação de módulo é uma tabela de hash que contém as chaves ModuleName e RequiredVersion.A module specification object is a hash table that contains ModuleName and RequiredVersion keys. Por exemplo:For example:

configuration VersionTest
{
    Import-DscResource -ModuleName (@{ModuleName='xFailOverCluster'; RequiredVersion='1.1'} )

    Node 'localhost'
    {
       xCluster ClusterTest
       {
            Name                          = 'TestCluster'
            StaticIPAddress               = '10.0.0.3'
            DomainAdministratorCredential = Get-Credential
        }
     }
}     

Isso também funcionará no PowerShell 5.0, mas é recomendável que você use o parâmetro ModuleVersion.This will also work in PowerShell 5.0, but it is recommended that you use the ModuleVersion parameter.

Consulte tambémSee also