Ресурс Package в DSC

Область применения: Windows PowerShell 4.0, Windows PowerShell 5.x

Ресурс Package в DSC Windows PowerShell предоставляет механизм установки или удаления пакетов, таких как пакеты установщика Windows и setup.exe, на целевом узле.

Примечание

В этой документации по этому ресурсу DSC рассматривается версия, которая входит в состав PowerShell до версии 7.2. Модуль PSDscResources содержит новые и обновленные ресурсы DSC, которые официально поддерживаются корпорацией Майкрософт. Модуль PSDscResources доступен из коллекции PowerShell.

Дополнительные сведения и обновленную документацию см. в справочной документации по PSDscResources.

Синтаксис

Package [string] #ResourceName
{
    Name = [string]
    Path = [string]
    ProductId = [string]
    [ Arguments = [string] ]
    [ Credential = [PSCredential] ]
    [ LogPath = [string] ]
    [ ReturnCode = [UInt32[]] ]
    [ DependsOn = [string[]] ]
    [ Ensure = [string] { Absent | Present }  ]
    [ PsDscRunAsCredential = [PSCredential] ]
}

Свойства

Свойство Описание
Имя Указывает имя пакета, для которого требуется обеспечить определенное состояние.
Путь Указывает путь к файлу пакета.
ProductId Указывает уникальный идентификатор пакета.
Аргументы Указывает строку аргументов, которая будет передана в пакет в указанном виде.
Учетные данные Предоставляет доступ к пакету в удаленном источнике. Это свойство не используется для установки пакета. Пакет всегда устанавливается в локальной системе.
LogPath Указывает полный путь к папке, где нужно сохранить файл журнала для установки или удаления пакета.
ReturnCode Указывает ожидаемый код возврата. Если фактический код возврата не соответствует указанному здесь значению, настройка вернет ошибку.

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

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

Примечание

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

Пример

В этом примере выполняется установщик MSI, который находится по указанному пути и имеет указанный идентификатор.

Configuration PackageTest
{
    Import-DscResource -ModuleName 'PSDesiredStateConfiguration'

    Package PackageExample
    {
        Ensure      = "Present"  # You can also set Ensure to "Absent"
        Path        = "$Env:SystemDrive\TestFolder\TestProject.msi"
        Name        = "TestPackage"
        ProductId   = "ACDDCDAF-80C6-41E6-A1B9-8ABD8A05027E"
    }
}