forked from dsccommunity/xPSDesiredStateConfiguration
-
Notifications
You must be signed in to change notification settings - Fork 0
/
xWindowsPackageCab_InstallPackageConfig.ps1
78 lines (65 loc) · 2.12 KB
/
xWindowsPackageCab_InstallPackageConfig.ps1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<#PSScriptInfo
.VERSION 1.0.1
.GUID 6f363fbb-2d4b-4f39-8cfb-4dbff4bd04f6
.AUTHOR Microsoft Corporation
.COMPANYNAME Microsoft Corporation
.COPYRIGHT
.TAGS DSCConfiguration
.LICENSEURI https://github.com/dsccommunity/xPSDesiredStateConfiguration/blob/main/LICENSE
.PROJECTURI https://github.com/dsccommunity/xPSDesiredStateConfiguration
.ICONURI
.EXTERNALMODULEDEPENDENCIES
.REQUIREDSCRIPTS
.EXTERNALSCRIPTDEPENDENCIES
.RELEASENOTES First version.
.PRIVATEDATA 2016-Datacenter,2016-Datacenter-Server-Core
#>
#Requires -module 'xPSDesiredStateConfiguration'
<#
.SYNOPSIS
Installs a package from the cab file.
.DESCRIPTION
Installs a package from the cab file with the specified name from the
specified source path and outputs a log to the specified log path.
.PARAMETER Name
The name of the package to install.
.PARAMETER SourcePath
The path to the cab file to install the package from.
.PARAMETER LogPath
The path to a file to log the install operation to.
.NOTES
The DISM PowerShell module must be available on the target machine.
.EXAMPLE
xWindowsPackageCab_InstallPackageConfig -Name 'MyPackage' -SourcePath 'C:\MyPackage.cab' -LogPath 'C:\Log\MyPackage.log'
Compiles a configuration that installs a package named 'MyPackage' from
the path 'C:\MyPackage.cab', and logs the operation in 'C:\Log\MyPackage.log'.
#>
Configuration xWindowsPackageCab_InstallPackageConfig
{
param
(
[Parameter (Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.String]
$Name,
[Parameter (Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.String]
$SourcePath,
[Parameter(Mandatory = $true)]
[ValidateNotNullOrEmpty()]
[System.String]
$LogPath
)
Import-DscResource -ModuleName 'xPSDesiredStateConfiguration'
Node localhost
{
xWindowsPackageCab 'WindowsPackageCab'
{
Name = $Name
Ensure = 'Present'
SourcePath = $SourcePath
LogPath = $LogPath
}
}
}