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
|
Function Export-OSCustomizationSpec {
param (
[string]$specName,
[string]$exportFile = "$specname.xml"
)
$csmgr = Get-View CustomizationSpecManager
if ($csmgr.DoesCustomizationSpecExist($specName)) {
$spec = $csmgr.GetCustomizationSpec($specName)
$csmgr.CustomizationSpecItemToXml($spec) | Out-File $exportFile
}
else {
throw "Spec $specName not found"
}
}
Function Import-OSCustomizationSpec {
param (
[string]$importFile,
[string]$specName #Use to change the spec name from that defined in the file
)
$specXml = Get-Content $importFile
$csmgr = Get-View CustomizationSpecManager
$spec = $csmgr.XmlToCustomizationSpecItem($specXml)
# Change the name if a new one was given.
if ($specName) {
$spec.Info.Name = $specName
}
if ($csmgr.DoesCustomizationSpecExist($spec.Info.Name)) {
throw "Spec $specName already exists."
}
else {
$csmgr.CreateCustomizationSpec($spec)
}
}
|