grpCompInfo.psm1
# Get all Public and Private function files. $Public = @( Get-ChildItem -Path "$PSScriptRoot\Public\*.ps1" -Recurse -ErrorAction Stop ) $Private = @( Get-ChildItem -Path "$PSScriptRoot\Private\*.ps1" -Recurse -ErrorAction Stop ) # Dot source the files. foreach ($functionFile in @($Public + $Private)) { try { . $functionFile.fullname } catch { Write-Warning -Message "Oops... Something went wrong!" Write-Host '' Write-Host -ForegroundColor Red "Error Type:" $PSItem.GetType().FullName Write-Host '' Write-Host -ForegroundColor Red "Error Position:" $PSItem.InvocationInfo.PositionMessage.Split("+")[0].Trim() Write-Host '' Write-Host -ForegroundColor Red "Error Line:" $PSItem.InvocationInfo.Line.Trim() Write-Host '' Write-Host -ForegroundColor Red "Error Message:" $PSItem.Exception.Message Write-Host '' EXIT 1 } } |