Private/Invoke-IntuneWinPackageBuild.ps1
|
function Invoke-IntuneWinPackageBuild { <# .SYNOPSIS Creates a .intunewin package from the PSADT folder and names it after the package folder. #> [CmdletBinding()] [OutputType([string])] param( [Parameter(Mandatory)][string]$WorkingDirectory, [Parameter(Mandatory)][string]$PSADTDirectoryPath, [Parameter(Mandatory)][string]$PSADTExeName, [Parameter(Mandatory)][string]$FolderName ) try { Write-Warning "Creating new .intunewin file..." $null = New-IntuneWin32AppPackage -SourceFolder $PSADTDirectoryPath -SetupFile $PSADTExeName -OutputFolder $WorkingDirectory $newFile = Get-ChildItem -LiteralPath $WorkingDirectory -Filter '*.intunewin' | Sort-Object LastWriteTime -Descending | Select-Object -First 1 if ($null -eq $newFile) { throw "New-IntuneWin32AppPackage did not produce a .intunewin file in '$WorkingDirectory'." } $targetName = "$FolderName.intunewin" if ($newFile.Name -ne $targetName) { Rename-Item -LiteralPath $newFile.FullName -NewName $targetName -ErrorAction Stop -WhatIf:$false -Confirm:$false } return Join-Path -Path $WorkingDirectory -ChildPath $targetName } catch { throw "Error creating .intunewin file: $_" } } |