PSAutoLab.psm1
[Diagnostics.CodeAnalysis.SuppressMessageAttribute("PSUseDeclaredVarsMoreThanAssignments", "")] param() #dot source functions Get-ChildItem -path $PSScriptRoot\Functions\*.ps1 | ForEach-Object { . $_.FullName } #this variable is used for Refresh-Host to copy configurations from the module to Autolab\Configurations $ConfigurationPath = Join-Path -Path $PSScriptRoot -ChildPath Configurations #declare the currently supported version of Pester #Pester v5 is supported with v5.0.0 of this module $PesterVersion = "5.5.0" #validate Pester version on module import. Even though it is marked as a required module, #But it won't be installed unless using -SkipPublisherCheck #This code is a failsafe to ensure the correct version is installed if (-not ((Get-Module pester -ListAvailable)[0].version -ge $PesterVersion)) { Write-Warning "Pester v$PesterVersion or later is required to use this module. Please install it from the PowerShell Gallery: Install-Module Pester -Force -SkipPublisherCheck" } #declare the currently supported version of Lability $LabilityVersion = "0.25.0" #configure TLS protocol to avoid problems downloading files from Microsoft [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 #open the PDF help file Function Open-PSAutoLabHelp { [cmdletbinding()] Param() $pdf = Join-Path -Path $PSScriptRoot -ChildPath PSAutoLabManual.pdf if (Test-Path -Path $pdf) { Try { Start-Process -FilePath $pdf -ErrorAction Stop } Catch { Write-Warning "Failed to automatically open the PDF. You will need to manually open $pdf." } } else { Write-Warning "Can't find $pdf." } } |