Modul_Cleoni_Package.psm1
Function func_Package($Path, $tempFolder, $Joblist) { function Write-Status($Text) { Write-Output $Text.trim() $new = [Environment]::NewLine Write-Output $new } function Cleoni-Clear($Path) { Remove-Item -Path $Path -Confirm:$false -Recurse -Force -ErrorAction SilentlyContinue | Out-Null Remove-Item -Path $Path -Confirm:$false -Force -ErrorAction SilentlyContinue | Out-Null } Write-Status -Text $( -join ('Process-ID: ', $PID)).Trim() $PID_Path = "$Path\$tempFolder" If (!(Test-Path -Path $PID_Path)) { New-Item -Path $PID_Path -ItemType Directory | out-null } $PID | Out-File -FilePath "$PID_Path\PID.txt" -Encoding utf8 -Force | out-null $SetupFile = ([System.IO.FileInfo]$Joblist.SetupFile).Name $SourceFolder = ([System.IO.FileInfo]$Joblist.Setupfile).DirectoryName $TargetFile = ([System.IO.FileInfo]$Joblist.OutputFolder).Name $OutputFolder = ([System.IO.FileInfo]$Joblist.OutputFolder).DirectoryName #Start Packaging Write-Status -Text 'Start packaging...' Start-Process -Wait $Joblist.Intune32Tool "-q -c `"$SourceFolder`" -s `"$SetupFile`" -o `"$PID_Path`"" -WindowStyle Hidden Get-ChildItem -Path $PID_Path | Rename-Item -NewName $TargetFile Get-ChildItem -Path $PID_Path | Move-Item -Destination $OutputFolder Write-Status -Text 'Package ready' Write-Status -Text "Path: $OutputFolder\$TargetFile" Cleoni-Clear -Path "$Path\$tempFolder" } |