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"
}
}