DSC PackageManagement 리소스DSC PackageManagement Resource

적용 대상: Windows PowerShell 4.0, Windows PowerShell 5.0, Windows PowerShell 5.1Applies To: Windows PowerShell 4.0, Windows PowerShell 5.0, Windows PowerShell 5.1

Windows PowerShell DSC(필요한 상태 구성)의 PackageManagement 리소스는 대상 노드에서 패키지 관리 패키지를 설치하거나 제거하는 메커니즘을 제공합니다.The PackageManagement resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to install or uninstall Package Management packages on a target node. 이 리소스를 사용하려면 http://PowerShellGallery.com에서 제공하는 PackageManagement 모듈이 필요합니다.This resource requires the PackageManagement module, available from http://PowerShellGallery.com.

중요

다음 속성 정보가 올바르려면 PackageManagement 모듈이 버전 1.1.7.0 이상이어야 합니다.The PackageManagement module should be at least version 1.1.7.0 for the following property information to be correct.

구문Syntax

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

속성Property 설명Description
이름Name 설치하거나 제거할 패키지의 이름을 지정합니다.Specifies the name of the Package to be installed or uninstalled.
AdditionalParametersAdditionalParameters Get-Package -AdditionalArguments에 전달되는 매개 변수의 공급자별 해시 테이블입니다.Provider specific hashtable of parameters that would be passed to Get-Package -AdditionalArguments. 예를 들어 NuGet 공급자의 경우 DestinationPath와 같은 추가 매개 변수를 전달할 수 있습니다.For example, for NuGet provider you can pass additional parameters like DestinationPath.
EnsureEnsure 패키지를 설치할지 또는 제거할지를 결정합니다.Determines whether the package is to be installed or uninstalled.
MaximumVersionMaximumVersion 찾으려는 패키지의 최대 허용 버전을 지정합니다.Specifies the maximum allowed version of the package that you want to find. 이 매개 변수를 추가하지 않으면 리소스는 패키지의 사용 가능한 가장 높은 버전을 찾습니다.If you do not add this parameter, the resource finds the highest available version of the package.
MinimumVersionMinimumVersion 찾으려는 패키지의 최소 허용 버전을 지정합니다.Specifies the minimum allowed version of the package that you want to find. 이 매개 변수를 추가하지 않으면 리소스는 MaximumVersion 매개 변수로 지정된 최대 지정 버전도 만족하는 패키지의 사용 가능한 가장 높은 버전을 찾습니다.If you do not add this parameter, the resource finds the highest available version of the package that also satisfies any maximum specified version specified by the MaximumVersion parameter.
ProviderNameProviderName 패키지 검색 범위를 지정할 패키지 공급자 이름을 지정합니다.Specifies a package provider name to which to scope your package search. Get-PackageProvider cmdlet을 실행하여 패키지 공급자 이름을 가져올 수 있습니다.You can get package provider names by running the Get-PackageProvider cmdlet.
RequiredVersionRequiredVersion 설치할 패키지의 정확한 버전을 지정합니다.Specifies the exact version of the package that you want to install. 이 매개 변수를 지정하지 않으면 이 DSC 리소스는 MaximumVersion 매개 변수로 지정된 최대 버전도 만족하는 패키지의 사용 가능한 최신 버전을 설치합니다.If you do not specify this parameter, this DSC resource installs the newest available version of the package that also satisfies any maximum version specified by the MaximumVersion parameter.
원본Source 패키지를 찾을 수 있는 패키지 원본의 이름을 지정합니다.Specifies the name of the package source where the package can be found. 이는 Register-PackageSource 또는 PackageManagementSource DSC 리소스에 등록된 원본 또는 URI일 수 있습니다.This can either be a URI or a source registered with Register-PackageSource or PackageManagementSource DSC resource.
SourceCredentialSourceCredential 지정된 패키지 공급자 또는 원본에 대한 패키지를 설치하는 권한이 있는 사용자 계정을 지정합니다.Specifies a user account that has rights to install a package for a specified package provider or source.

추가 매개 변수Additional Parameters

다음 표에는 AdditionalParameters 속성에 대한 옵션이 나와 있습니다.The following table lists options for the AdditionalParameters property.

매개 변수Parameter 설명Description
DestinationPathDestinationPath 기본 제공 Nuget 공급자와 같은 공급자에서 사용됩니다.Used by providers such as the built-in Nuget Provider. 패키지를 설치할 파일 위치를 지정합니다.Specifies a file location where you want the package to be installed.
InstallationPolicyInstallationPolicy 기본 제공 Nuget 공급자와 같은 공급자에서 사용됩니다.Used by providers such as the built-in Nuget Provider. 패키지 원본을 신뢰할 수 있는지를 결정합니다.Determines whether you trust the package's source. 다음 중 하나: Untrusted, Trusted.One of: Untrusted, Trusted.

예제Example

이 예제에서는 PackageManagement DSC 리소스를 사용하여 JQuery NuGet 패키지 및 GistProvider PowerShell 모듈을 설치합니다.This example installs the JQuery NuGet package and GistProvider PowerShell module using the PackageManagement DSC resource. 이 예제에서는 먼저 필요한 패키지 원본을 사용할 수 있는지를 확인한 다음 JQueryGistProvider 패키지(각각 NuGet 및 PowerShell)의 필요한 상태를 정의합니다.This example first ensures the required package sources are available then defines the expected state of the JQuery and GistProvider packages (NuGet and PowerShell, respectively).

Configuration PackageTest
{
    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"
    }
}