Private/OSB-ExtraFiles.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
function OSB-ExtraFiles {
    [CmdletBinding()]
    PARAM ()
    Write-Host '========================================================================================' -ForegroundColor DarkGray
    Write-Host "Install.wim: Task Extra Files"    -ForegroundColor Green
    if ($ExtraFiles) {
        foreach ($ExtraFile in $ExtraFiles) {
            Write-Host "$OSBuilderContent\$ExtraFile" -ForegroundColor DarkGray
            robocopy "$OSBuilderContent\$ExtraFile" "$MountDirectory" *.* /e /ndl /xx /b /np /ts /tee /r:0 /w:0 /Log+:"$Info\logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Task-ExtraFiles.log" | Out-Null
        }
    } else {
        Write-Host "No Task Extra Files were processed" -ForegroundColor DarkGray
    }
    
    Write-Host '========================================================================================' -ForegroundColor DarkGray
    Write-Host "Install.wim: Template Extra Files"    -ForegroundColor Green

    $AOSBExtraFiles = @()
    $AOSBExtraFiles = Get-ChildItem ("$OSBuilderTemplates\ExtraFiles\AutoApply\Global\*","$OSBuilderTemplates\ExtraFiles\AutoApply\Global $OSArchitecture\*") | Where-Object {$_.PSIsContainer -eq $true} | Select-Object -Property FullName
    if ($OSVersionNumber -eq 7601) {
        [array]$AOSBExtraFiles += Get-ChildItem ("$OSBuilderTemplates\ExtraFiles\AutoApply\Windows 7\*","$OSBuilderTemplates\ExtraFiles\AutoApply\Windows 7 $OSArchitecture\*") | Where-Object {$_.PSIsContainer -eq $true} | Select-Object -Property FullName
    } else {
        if ($OSInstallationType -eq 'Client') {
            [array]$AOSBExtraFiles += Get-ChildItem ("$OSBuilderTemplates\ExtraFiles\AutoApply\Windows 10\*","$OSBuilderTemplates\ExtraFiles\AutoApply\Windows 10 $OSArchitecture\*") | Where-Object {$_.PSIsContainer -eq $true} | Select-Object -Property FullName
            #[array]$AOSBExtraFiles += Get-ChildItem ("$OSBuilderTemplates\ExtraFiles\AutoApply\Windows 10\*","$OSBuilderTemplates\ExtraFiles\AutoApply\Windows 10 $OSArchitecture\*","$OSBuilderTemplates\ExtraFiles\AutoApply\Windows 10 $OSArchitecture $OSVersionNumber\*") | Where-Object {$_.PSIsContainer -eq $true} | Select-Object -Property FullName
        } else {
            [array]$AOSBExtraFiles += Get-ChildItem "$OSBuilderTemplates\ExtraFiles\AutoApply\Windows Server\*" | Where-Object {$_.PSIsContainer -eq $true} | Select-Object -Property FullName
            #[array]$AOSBExtraFiles += Get-ChildItem ("$OSBuilderTemplates\ExtraFiles\AutoApply\Windows Server\*","$OSBuilderTemplates\ExtraFiles\AutoApply\Windows Server $OSVersionNumber\*") | Where-Object {$_.PSIsContainer -eq $true} | Select-Object -Property FullName
        }
    }

    if ($SkipTemplates) {$AOSBExtraFiles = @()}

    if ($AOSBExtraFiles) {
        foreach ($ExtraFile in $AOSBExtraFiles) {
            Write-Host "$($ExtraFile.FullName)" -ForegroundColor DarkGray
            robocopy "$($ExtraFile.FullName)" "$MountDirectory" *.* /e /ndl /xx /b /np /ts /tee /r:0 /w:0 /Log+:"$Info\logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Template-ExtraFiles.log" | Out-Null
        }
    } else {
        Write-Host "No Template Extra Files were processed" -ForegroundColor DarkGray
    }
}