次の方法で共有


インストール済みリソースの特定のバージョンをインポートする

適用対象: Windows PowerShell 5.0

PowerShell 5.0 では、DSC リソースの個別バージョンをコンピューターに並べてインストールできます。 リソースモジュールは、フォルダーという名前のバージョンにリソースの個別バージョンを格納できます。

個別のリソースバージョンを並べてインストールする

Install-Module コマンドレットの MinimumVersionMaximumVersion、および RequiredVersion パラメーターを使用して、インストールするモジュールのバージョンを指定できます。 バージョンを指定せずに Install-Module を呼び出すと、最新バージョンがインストールされます。

たとえば、 xFailOverCluster モジュールには複数のバージョンがあり、それぞれに xCluster リソースが含まれています。 バージョン番号を指定せずに Install-Module を呼び出すと、モジュールの最新バージョンがインストールされます。

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

特定のバージョンのモジュールをインストールするには、 RequiredVersion を 1.1.0.0 に指定します。 これにより、指定されたバージョンがインストールされたバージョンと並べてインストールされます。

PS> Install-Module xFailOverCluster -RequiredVersion 1.1

これで、 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, ...

構成でのリソース・バージョンの指定

コンピュータに個別のリソースバージョンがインストールされている場合は、そのリソースを構成で使用するときに、そのリソースのバージョンを指定する必要があります。 これを行うには、Import-DscResource キーワードの ModuleVersion パラメーターを指定します。 複数のバージョンがインストールされているリソースのリソース・モジュールのバージョンを指定しないと、構成によってエラーが生成されます。

次の構成は、呼び出すリソースのバージョンを指定する方法を示しています。

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 では使用できません。 PowerShell 4.0 では、モジュール仕様オブジェクトを Import-DscResource の ModuleName パラメーターに渡すことで、モジュール バージョンを指定できます。 モジュール仕様オブジェクトは、ModuleName キーと RequiredVersion キーを含むハッシュ テーブルです。 例えば次が挙げられます。

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 パラメーターを使用することをお勧めします。

こちらも参照ください