Ресурс DSC WindowsPackageCab

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

Ресурс WindowsPackageCab в службе настройки требуемого состояния Windows PowerShell (DSC) предоставляет механизм установки пакетов CAB-файлов Windows на целевом узле или их удаления.

На целевом узле должен быть установлен модуль DISM PowerShell. Дополнительные сведения см. в статье Use DISM in Windows PowerShell (Использование DISM в Windows PowerShell)

Примечание

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

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

Синтаксис

{
    Name = [string]
    SourcePath = [string]
    [ LogPath = [string] ]
    [ DependsOn = [string[]] ]
    Ensure = [string] { Absent | Present }
    [ PsDscRunAsCredential = [PSCredential] ]
}

Свойства

Свойство Описание
Имя Указывает имя пакета, для которого требуется обеспечить определенное состояние.
SourcePath Указывает путь к файлу пакета.
LogPath Указывает полный путь к папке, где нужно сохранить файл журнала для установки или удаления пакета.

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

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

Пример

Ниже приведен пример конфигурации, которая принимает входные параметры и гарантирует, что CAB-файл, указанный в параметре $Name, установлен.

Configuration Sample_WindowsPackageCab
{
    param
    (
        [Parameter (Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [String]
        $Name,

        [Parameter (Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [String]
        $SourcePath,

        [Parameter(Mandatory = $true)]
        [ValidateNotNullOrEmpty()]
        [String]
        $LogPath
    )

    Import-DscResource -ModuleName 'PSDscResources'

    WindowsPackageCab WindowsPackageCab1
    {
        Name = $Name
        Ensure = 'Present'
        SourcePath = $SourcePath
        LogPath = $LogPath
    }
}