Ресурс PackageManagement DSC

Область применения: Windows PowerShell 4.0, Windows PowerShell 5.0, Windows PowerShell 5.1

Ресурс PackageManagement в службе настройки требуемого состояния Windows PowerShell (DSC) предоставляет механизм установки пакетов управления пакетами на целевом узле или их удаления. Для этого ресурса требуется модуль PackageManagement, доступный из https://PowerShellGallery.com.

Важно!

Указанные ниже сведения о свойствах относятся к модулю PackageManagement версии 1.1.7.0 и новее.

Примечание

В этой документации по этому ресурсу DSC рассматривается версия, которая входит в состав PowerShell до версии 7.2. Модуль PSDscResources содержит новые и обновленные ресурсы 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] ]
}

Свойства

Свойство Описание
Имя Указывает имя устанавливаемого или удаляемого пакета.
AdditionalParameters Предоставляет определенную хэш-таблицу параметров, которые передаются в аргумент Get-Package -AdditionalArguments. Например, для поставщика NuGet можно передать дополнительные параметры, такие как Destination.
MaximumVersion Указывает максимальную версию пакета, которую требуется найти. Если этот параметр не указан, ресурс находит новейшую версию пакета.
MinimumVersion Указывает минимальную версию пакета, которую требуется найти. Если этот параметр не указан, ресурс находит новейшую доступную версию пакета, номер которой не превышает тот, что указан в параметре MaximumVersion.
ProviderName Указывает имя поставщика пакетов, на который распространяется область поиска пакетов. Чтобы получить имена поставщиков пакетов, выполните командлет Get-PackageProvider.
RequiredVersion Указывает точную версию пакета, который вы хотите установить. Если этот параметр не указан, этот ресурс DSC устанавливает последнюю доступную версию пакета, которая также соответствует любой максимальной версии, указанной параметром MaximumVersion .
Источник Указывает имя источника пакета, в котором его можно найти. Это может быть универсальный код ресурса (URI) или источник, зарегистрированный с помощью командлета Register-PackageSource или ресурса DSC PackageManagementSource.
SourceCredential Указывает учетную запись пользователя с правами для установки пакета для заданного поставщика или источника пакетов.

Дополнительные параметры

В следующей таблице перечислены параметры свойства AdditionalParameters.

Параметр Описание
Назначение Используется поставщиками, такими как встроенный поставщик NuGet. Указывает расположение файла, в котором вы хотите установить пакет.
InstallationPolicy Используется поставщиками, такими как встроенный поставщик NuGet. Определяет, доверяете ли вы источнику пакета. Один из следующих вариантов: ненадежный или доверенный.

Общие свойства

Свойство Описание
DependsOn Указывает, что перед настройкой этого ресурса необходимо запустить настройку другого ресурса. Например, если идентификатор первого запускаемого блока сценария для конфигурации ресурса — ResourceName, а его тип — ResourceType, то синтаксис использования этого свойства таков: DependsOn = "[ResourceType]ResourceName".
Ensure Определяет, следует ли установить или удалить пакет. Значение по умолчанию — Present.
PsDscRunAsCredential Задает учетные данные для выполнения всего ресурса от другого имени.

Примечание

В WMF 5.0 было добавлено общее свойство PsDscRunAsCredential, разрешающее запуск любого ресурса DSC в контексте других учетных данных. Дополнительные сведения см. в разделе Использование учетных данных с ресурсами DSC.

Пример

В этом примере устанавливается пакет NuGet JQuery и модуль PowerShell GistProvider с помощью ресурса DSC PackageManagement. В этом примере сначала обеспечивается доступность нужных источников пакета, а затем определяется ожидаемое состояние пакетов 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"
    }
}