Public/OSDCloud/Select-OSDCloudODTFile.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
<#
.SYNOPSIS
Selects Office Configuration Profiles
 
.DESCRIPTION
Selects Office Configuration Profiles
 
.LINK
https://osdcloud.osdeploy.com
 
.NOTES
#>

function Select-OSDCloudODTFile {
    [CmdletBinding()]
    param ()

    $i = $null
    $ODTConfigFiles = Find-OSDCloudODTFile

    if ($ODTConfigFiles) {
        $ODTConfigFiles = foreach ($Item in $ODTConfigFiles) {
            $i++

            $ObjectProperties = @{
                Selection   = $i
                Name        = $Item.Name
                Directory   = $Item.Directory
            }
            New-Object -TypeName PSObject -Property $ObjectProperties
        }

        $ODTConfigFiles | Select-Object -Property Selection, Name, Directory | Format-Table | Out-Host

        do {
            $SelectReadHost = Read-Host -Prompt "Enter the Selection of the Office Configuration to apply, or press S to Skip"
        }
        until (((($SelectReadHost -ge 0) -and ($SelectReadHost -in $ODTConfigFiles.Selection -or ($SelectReadHost -eq 'S')))))
        
        if ($SelectReadHost -eq 'S') {
            Return $false
        }
        $ODTConfigFiles = $ODTConfigFiles | Where-Object {$_.Selection -eq $SelectReadHost}

        Return Get-Item (Join-Path $ODTConfigFiles.Directory $ODTConfigFiles.Name)
    }
}