EguibarIT.psm1
# Get Enums if (Test-Path -Path "$PSScriptRoot\Enums") { $Enums = @( Get-ChildItem -Path "$PSScriptRoot\Enums\" -Filter *.ps1 -ErrorAction SilentlyContinue -Recurse ) # Import Enums foreach ($Item in $Enums) { Try { . $Item.FullName Write-Verbose -Message ('Enum Imported {0}' -f $($Item.BaseName)) } Catch { Write-Error -Message "Could not load Enum [$($Item.Name)] : $($_.Message)" throw } #end Try-Catch } #end Foreach } #end If # Get Classes if (Test-Path -Path "$PSScriptRoot\Classes") { $Classes = @( Get-ChildItem -Path "$PSScriptRoot\Classes\" -Filter *.ps1 -ErrorAction SilentlyContinue -Recurse ) foreach ($Item in $Classes) { Try { . $Item.FullName Write-Verbose -Message ('Class Imported {0}' -f $($Item.BaseName)) } Catch { Write-Error -Message "Could not load Class [$($Item.Name)] : $($_.Message)" throw } #end Try-Catch } #end Foreach } #end If # Load Private Functions $Private = @( Get-ChildItem -Path "$PSScriptRoot\Private\" -Filter *.ps1 -ErrorAction SilentlyContinue -Recurse ) foreach ($Item in $Private) { Try { . $Item.Fullname Write-Verbose -Message ('Private Function Imported {0}' -f $($Item.BaseName)) } Catch { Write-Error -Message "Failed to import private function from $($Item.Fullname): $($_.Exception.Message)" Throw } #end try-catch } #end foreach # Load Public Functions $Public = @( Get-ChildItem -Path "$PSScriptRoot\Public\" -Filter *.ps1 -ErrorAction SilentlyContinue -Recurse ) foreach ($Item in $Public) { Try { . $Item.Fullname Write-Verbose -Message ('Public Function Imported {0}' -f $($Item.BaseName)) } Catch { Write-Error -Message "Failed to import public function from $($Item.Fullname): $($_.Exception.Message)" Throw } #end try-catch } #end foreach Try { # Call function Initialize-ModuleVariable to fill-up $Variables Initialize-ModuleVariable return $true } catch { Write-Error -Message ('Failed to update AD variables: {0}' -f $_) return $false } #end try-catch Export-ModuleMember -Function '*' -Alias '*' -Variable @('Constants', 'Variables') -Verbose:$false | Out-Null |