SPMigrator.psm1
|
#Requires -Version 7.4 <# Chargeur du module SPMigrator. Convention : tout fichier de Private/ est interne, tout fichier de Public/ définit exactement une fonction exportée portant le nom du fichier. #> Set-StrictMode -Version Latest $ErrorActionPreference = 'Stop' $private = @(Get-ChildItem -Path (Join-Path $PSScriptRoot 'Private') -Filter '*.ps1' -ErrorAction SilentlyContinue | Sort-Object Name) $public = @(Get-ChildItem -Path (Join-Path $PSScriptRoot 'Public') -Filter '*.ps1' -ErrorAction SilentlyContinue | Sort-Object Name) foreach ($file in @($private + $public)) { try { . $file.FullName } catch { throw "Échec du chargement de $($file.Name) : $($_.Exception.Message)" } } # Fonctions du socle réutilisées par les scripts historiques et les tests : # elles font partie du contrat public du module. $coreExports = @( 'Set-SPMConfiguration' 'Get-SPMConfiguration' 'Get-SPMStatistics' 'Write-SPMLog' 'Get-SPMRetryDecision' 'Get-SPMRetryAfterSeconds' 'Invoke-SPMWithRetry' 'Connect-SPMSite' 'Get-SPMSiteConnection' 'Disconnect-SPMAllSites' 'Get-SPMListItemByPath' 'Test-SPMPathExists' 'Test-SPMPrerequisite' ) Export-ModuleMember -Function (@($public.BaseName) + $coreExports) |