DSC の PackageManagement リソース

適用先: Windows PowerShell 4.0、Windows PowerShell 5.0、Windows PowerShell 5.1

Windows PowerShell Desired State Configuration (DSC) の PackageManagement リソースは、ターゲット ノードで Package Management パッケージをインストールまたはアンインストールするメカニズムを備えています。 このリソースには PackageManagement モジュールが必要です。これは、https://PowerShellGallery.com から入手できます。

重要

PackageManagement モジュールは、次のプロパティ情報が適切であるようにバージョン 1.1.7.0 以降である必要があります。

注意

この DSC リソースのこのドキュメントでは、バージョン 7.2 より前の PowerShell に含まれているバージョンについて説明します。 PSDscResources モジュールには、Microsoft によって正式にサポートされている新規および更新された DSC リソースが含まれています。 PSDscResources モジュールは、PowerShell ギャラリーから入手できます。

詳細と更新されたドキュメントについては、 PSDscResources リファレンス ドキュメントを参照してください

構文

PackageManagement [string] #ResourceName
{
    Name = [string]
    [ AdditionalParameters = [HashTable] ]
    [ DependsOn = [string[]] ]
    [ Ensure = [string]{ Absent | Present } ]
    [ MaximumVersion = [string] ]
    [ MinimumVersion = [string] ]
    [ ProviderName = [string] ]
    [ PsDscRunAsCredential = [PSCredential] ]
    [ RequiredVersion = [string] ]
    [ Source = [string] ]
    [ SourceCredential = [PSCredential] ]
}

Properties

プロパティ 説明
名前 インストールまたはアンインストールするパッケージの名前を指定します。
AdditionalParameters Get-Package -AdditionalArguments に渡されるパラメーターのプロバイダー固有のハッシュ テーブル。 たとえば、NuGet プロバイダーの場合は、 Destination などの追加のパラメーターを渡すことができます。
MaximumVersion 検索するパッケージで許容される最大バージョンを指定します。 このパラメーターを追加しない場合、リソースでは利用できるパッケージの最新バージョンが検索されます。
MinimumVersion 検索するパッケージで許容される最小バージョンを指定します。 このパラメーターを追加しない場合、MaximumVersion パラメーターで指定された最大バージョンも満たす、パッケージで利用可能な最新バージョンがリソースによって検索されます。
ProviderName パッケージの検索先となるパッケージ プロバイダー名を指定します。 Get-PackageProvider コマンドレットを実行して、パッケージ プロバイダー名を取得できます。
RequiredVersion インストールするパッケージの正確なバージョンを指定します。 このパラメーターを指定しない場合、この DSC リソースは、 MaximumVersion パラメーターで指定された最大バージョンも満たす、利用可能な最新バージョンのパッケージをインストールします。
source パッケージのあるパッケージ ソースの名前を指定します。 これは、URI か、Register-PackageSource または PackageManagementSource の DSC リソースに登録されたソースのどちらかになります。
SourceCredential 指定したパッケージ プロバイダーまたはソースのパッケージをインストールする権限を持つユーザー アカウントを指定します。

追加のパラメーター

次の表は、AdditionalParameters プロパティのオプションを示しています。

パラメーター 説明
宛先 組み込みの Nuget プロバイダーなどのプロバイダーによって使用されます。 パッケージをインストールするファイルの場所を指定します。
InstallationPolicy 組み込みの Nuget プロバイダーなどのプロバイダーによって使用されます。 パッケージのソースを信頼するかどうかを決定します。 次のいずれか: 信頼されていない信頼されています

共通プロパティ

プロパティ 説明
DependsOn このリソースを構成する前に、他のリソースの構成を実行する必要があることを示します。 たとえば、最初に実行するリソース構成スクリプト ブロックの ID が ResourceName で、そのタイプが ResourceType である場合、このプロパティを使用する構文は DependsOn = "[ResourceType]ResourceName" になります。
Ensure パッケージをインストールまたはアンインストールするかどうかを決定します。 既定値は Present です。
PsDscRunAsCredential リソース全体を実行するための資格情報を設定します。

注意

PsDscRunAsCredential という共通プロパティは、他の資格情報という文脈の中であらゆる DSC リソースを実行するために WMF 5.0 で追加されました。 詳細については、「DSC リソースに対して資格情報を使用する」を参照してください。

この例では、PackageManagement DSC リソースを使用して、JQuery NuGet パッケージおよび GistProvider PowerShell モジュールをインストールします。 この例では、最初に必要なパッケージのソースが利用できることを確認し、次に JQuery および GistProvider のパッケージ (それぞれ NuGet と PowerShell) の予期される状態を定義しています。

Configuration PackageTest
{
    Import-DscResource -ModuleName 'PackageManagement'

    PackageManagementSource SourceRepository
    {
        Ensure      = "Present"
        Name        = "MyNuget"
        ProviderName= "Nuget"
        SourceLocation   = "http://nuget.org/api/v2/"
        InstallationPolicy ="Trusted"
    }

    PackageManagementSource PSGallery
    {
        Ensure      = "Present"
        Name        = "psgallery"
        ProviderName= "PowerShellGet"
        SourceLocation   = "https://www.powershellgallery.com/api/v2"
        InstallationPolicy ="Trusted"
    }

    PackageManagement NugetPackage
    {
        Ensure               = "Present"
        Name                 = "JQuery"
        AdditionalParameters = "$env:HomeDrive\nuget"
        RequiredVersion      = "2.0.1"
        DependsOn            = "[PackageManagementSource]SourceRepository"
    }

    PackageManagement PSModule
    {
        Ensure               = "Present"
        Name                 = "gistprovider"
        Source               = "PSGallery"
        DependsOn            = "[PackageManagementSource]PSGallery"
    }
}