共用方式為


匯入所安裝資源的特定版本

適用於:Windows PowerShell 5.0

在 PowerShell 5.0 中,各個版本的 DSC 資源均可於一部電腦上並存安裝。 資源模組可將各個版本的資源儲存於以版本命名的資料夾中。

並存安裝各個資源版本

您可以使用 Install-Module Cmdlet 的 MinimumVersionMaximumVersionRequiredVersion 參數,指定要安裝的模組版本。 呼叫 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
        }
     }
}

PowerShell 4.0 中無法使用 Import-DscResource 的 ModuleVersion 參數。 在 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 參數。

另請參閱