TMConsole.Provider.Azure.SiteRecovery.psm1
## Setup an apropriate quiet environment $global:ConfirmPreference = 'None' ## Allows functions that would typically require confirmation to be overridden # ## Modules That must be installed # $RequiredModules = @( # 'AWS.Tools.Common' # 'AWS.Tools.EC2' # 'AWS.Tools.MGN' # ) # ## Install Required Modules if missingMissing, then import the required modules # foreach ($RequiredModule in $RequiredModules) { # ## Test if each module is available # $Module = Get-Module -ListAvailable -Name $RequiredModule -ErrorAction SilentlyContinue # ## If the Module is not installed # if (-not $Module) { # ## Attempt the Installation of the module # $InstalledModule = Install-Module $Module -ErrorAction SilentlyContinue # ## If the Module Installation was unsuccessful # if (-Not $InstalledModule) { # throw ('Required Module: ' + $RequiredModule + ' is not installed, and installation failed.') # } # } # } # foreach ($ModuleToImport in $ModulesToImport){ # Import-Module $ModuleToImport # } ## Load the Remaining Library Modlue files $Public = @( Get-ChildItem -Path "$PSScriptRoot\Public\*.ps1" ) $Private = @( Get-ChildItem -Path "$PSScriptRoot\Private\*.ps1" ) @($Public + $Private) | ForEach-Object { try { . $_.FullName } catch { Write-Error -Message "Failed to import function $($_.FullName): $_" } } Export-ModuleMember -Function $Public.BaseName |