DSC WindowsPackageCab Resource
Applies To: Windows PowerShell 5.1
The WindowsPackageCab resource in Windows PowerShell Desired State Configuration (DSC) provides a mechanism to install or uninstall Windows cabinet (.cab) packages on a target node.
The target node must have the DISM PowerShell module installed. For information, see Use DISM in Windows PowerShell.
Note
This documentation of this DSC resource covers the version that's included with PowerShell prior to version 7.2. The PSDscResources module contains new and updated DSC Resources that are officially supported by Microsoft. The PSDscResources module is available from the PowerShell Gallery.
For more information and updated documentation, see the PSDscResources reference documentation.
Syntax
{
Name = [string]
SourcePath = [string]
[ LogPath = [string] ]
[ DependsOn = [string[]] ]
Ensure = [string] { Absent | Present }
[ PsDscRunAsCredential = [PSCredential] ]
}
Properties
Property | Description |
---|---|
Name | Indicates the name of the package for you want to ensure a specific state. |
SourcePath | Indicates the path where the package resides. |
LogPath | Indicates the full path where you want the provider to save a log file to install or uninstall the package. |
Common properties
Property | Description |
---|---|
DependsOn | Indicates that the configuration of another resource must run before this resource is configured. For example, if the ID of the resource configuration script block that you want to run first is ResourceName and its type is ResourceType, the syntax for using this property is DependsOn = "[ResourceType]ResourceName" . |
Ensure | Indicates if the package is installed. Set this property to Absent to ensure the package is not installed (or uninstall the package if it is installed). Set it to Present to ensure the package is installed. Ensure is a required property on the WindowsPackageCab resource. |
PsDscRunAsCredential | Sets the credential for running the entire resource as. |
Example
The following example configuration takes input parameters, and ensures that the .cab file specified
by the $Name
parameter is installed.
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
}
}