여러 버전의 리소스 사용Using resources with multiple versions

적용 대상: Windows PowerShell 5.0Applies To: Windows PowerShell 5.0

PowerShell 5.0에서 DSC 리소스는 여러 버전이 있을 수 있으며, 이러한 버전들을 컴퓨터에 병렬로 설치할 수 있습니다.In PowerShell 5.0, DSC resources can have multiple versions, and versions can be installed on a computer side-by-side. 이는 동일한 모듈 폴더에 포함된 여러 버전의 리소스 모듈에 의해 구현됩니다.This is implemented by having multiple versions of a resource module that are contained in the same module folder.

여러 리소스 버전을 병렬로 설치Installing multiple resource versions side-by-side

Install-Module cmdlet의 MinimumVersion, MaximumVersionRequiredVersion를 사용하여 설치할 모듈 버전을 지정할 수 있습니다.You can use the MinimumVersion, MaximumVersion, and RequiredVersion parameters of the Install-Module cmdlet to specify which version of a module to install. 버전을 지정하지 않고 Install-Module을 호출하면 가장 최근 버전이 설치됩니다.Calling Install-Module without specifying a version installs the most recent version.

예를 들어 xFailOverCluster 모듈의 여러 버전이 있고, 각 버전에는 xCluster 리소스가 포함되어 있습니다.For example, there are multiple versions of the xFailOverCluster module, each of which contains an xCluster resouce. 버전 번호를 지정하지 않고 Install-Module을 호출한 결과는 다음과 같습니다.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, ...

Install-Module을 다시 호출하고 RequiredVersion 1.1.0.0을 지정하면 그 결과는 다음과 같습니다.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, ...

구성에서 리소스 버전 지정Specifying a resource version in a configuration

컴퓨터에 여러 리소스가 설치되어 있으면, 해당 리소스의 버전을 지정한 후 구성에서 사용해야 합니다.If you have multiple resources installed on a computer, you must specify the version of that resource when you use it in a configuration. 이 작업은 Import-DscResource 키워드의 ModuleVersion 매개 변수를 지정하여 수행합니다.You do this by specifying the ModuleVersion parameter of the Import-DscResource keyword. 하나가 넘는 버전이 설치된 리소스의 리소스 모듈 버전을 지정하지 않으면 구성에서 오류가 발생합니다.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.

다음 구성에서는 호출할 리소스의 버전을 지정하는 방법을 보여 줍니다.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
        }
     }
}

참고: Import-DscResource의 ModuleVersion 매개 변수는 PowerShell 4.0에서 사용할 수 없습니다.Note: The ModuleVersion parameter of Import-DscResource is not available in PowerShell 4.0. PowerShell 4.0에서는 모듈 사양 개체를 Import-DscResource의 ModuleName 매개 변수로 전달하여 모듈 버전을 지정할 수 있습니다.In PowerShell 4.0, you can specify a module version by passing a module specification object to the ModuleName parameter of Import-DscResource. 모듈 사양 개체는 ModuleName 및 RequiredVersion 키가 포함된 해시 테이블입니다.A module specification object is a hash table that contains ModuleName and RequiredVersion keys. 예: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
        }
     }
}

이 작업은 PowerShell 5.0에서도 동작하지만, 이 경우 ModuleVersion 매개 변수를 사용하는 것이 좋습니다.This will also work in PowerShell 5.0, but it is recommended that you use the ModuleVersion parameter.

참고 항목See also