internal/scripts/postimport.ps1
# Add all things you want to run after importing the main code # Load Configurations foreach ($file in (Get-ChildItem "$ModuleRoot\internal\configurations\*.ps1" -ErrorAction Ignore)) { . Import-ModuleFile -Path $file.FullName } # Load Tab Expansion foreach ($file in (Get-ChildItem "$ModuleRoot\internal\tepp\*.tepp.ps1" -ErrorAction Ignore)) { . Import-ModuleFile -Path $file.FullName } # Load Tab Expansion Assignment . Import-ModuleFile -Path "$ModuleRoot\internal\tepp\assignment.ps1" # Load License . Import-ModuleFile -Path "$ModuleRoot\internal\scripts\license.ps1" # Check if the setup has run successfully if(-not (Get-PSFConfigValue -FullName psdatabaseclone.setup.status -Fallback $false)){ Write-PSFMessage -Message "Setup for the module has not yet run. Starting" -Level Host Set-PSDCConfiguration -InputPrompt } # Check if the configuration has been set if (-not (Get-PSFConfigValue -FullName psdatabaseclone.setup.status)) { Write-PSFMessage -Message "The module is not yet configured. Please run Set-PSDCConfiguration to make the neccesary changes" -Level Warning } # Check the information mode if([bool](Get-PSFConfigValue -FullName psdatabaseclone.informationstore.mode) -eq 'File'){ # Get the json file $jsonFolder = Get-PSFConfigValue -FullName psdatabaseclone.informationstore.path $jsonCred = Get-PSFConfigValue -FullName psdatabaseclone.informationstore.credential # Create a PS Drive if (-not [bool](Get-PSDrive -Name PSDCJSONFolder -Scope Global -ErrorAction SilentlyContinue)) { try { $null = New-PSDrive -Name PSDCJSONFolder -Root $jsonFolder -Credential $jsonCred -PSProvider FileSystem -Scope Global Start-Sleep -Seconds 1 } catch { Stop-PSFFunction -Message "Couldn't create PS Drive" -Target $jsonFolder -ErrorRecord $_ } } } # Import the types $TypeAliasTable = @{ PSDCClone = "PSDatabaseClone.Parameter.Clone" PSDCImage = "PSDatabaseClone.Parameter.Image" } Set-PSFTypeAlias -Mapping $TypeAliasTable |