Compartilhar via


Importar uma versão específica de um recurso instalado

Aplica-se a: Windows PowerShell 5.0

No PowerShell 5.0, versões separadas de recursos DSC podem ser instaladas em um computador lado a lado. Um módulo de recursos pode armazenar versões separadas de um recurso em pastas nomeadas por versão.

Instalando versões separadas de recursos lado a lado

Você pode usar os parâmetros MinimumVersion, MaximumVersion e RequiredVersion do cmdlet Install-Module para especificar qual versão de um módulo instalar. Se você chamar Install-Module sem especificar uma versão, a versão mais recente será instalada.

Por exemplo, há várias versões do módulo xFailOverCluster, cada uma com um recurso xCluster. Chamar Install-Module sem especificar o número de uma versão instala a versão mais recente.

PS> Install-Module xFailOverCluster
PS> Get-DscResource xCluster
ImplementedAs   Name          ModuleName           Version    Properties
-------------   ----          ----------           -------    ----------
PowerShell      xCluster      xFailOverCluster     1.2.0.0    {DomainAdministratorCredential, ...

Para instalar a versão específica de um módulo, especifique RequiredVersion de 1.1.0.0. Isso instala a versão especificada lado a lado com a versão instalada.

PS> Install-Module xFailOverCluster -RequiredVersion 1.1

Agora você verá as duas versões do módulo listadas ao usar Get-DSCResource.

PS> 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ção

Se você tiver recursos separados instalados em um computador, deve especificar a versão do recurso ao usá-lo em uma configuração. Faça isso especificando o parâmetro ModuleVersion da palavra-chave Import-DscResource. 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.

A configuração a seguir mostra como especificar a versão do recurso a ser chamado:

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

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

o parâmetro ModuleVersion de Import-DscResource não está disponível no 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. Um objeto de especificação de módulo é uma tabela de hash que contém as chaves ModuleName e RequiredVersion. Por exemplo:

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.

Veja também