## Define settings for PSAtera module $PSAteraMinimumModuleVersion = '1.5.7' ## Get the PSAtera module if it's installed $module = (Get-Module -ListAvailable PSAtera) ## Install only if we're an admin If ( IsAdmin ) { ## If the module is installed, check to make sure it's updated If ( $module ) { [version]$current = $module.Version [version]$minimum = (Get-Version $Global:PSAteraMinimumModuleVersion) If ( $current -lt $minimum ) { LogMsg "Updating Powershell module PSAtera" Try { Update-Module -Name PSAtera -Force } Catch { LogErr $_.Exception.Message } } } ## If it's not already installed, install it Else { Try { [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityPotocol -bor 3072 } Catch { LogErr $_.Exception.Message } LogMsg "Installing NuGet package manager" Try { Install-PackageProvider -Name NuGet -MinimumVersion 2.8.5.201 -Force} Catch { LogErr $_.Exception.Message } LogMsg "Installing Powershell module PSAtera" Try { Install-Module -Name PSAtera -MinimumVersion $(Get-Version $PSAteraMinimumModuleVersion) -Force} Catch { LogErr $_.Exception.Message } } } ElseIf ( ($Global:InstallPSAteraModule) -and (-not ($module)) ) { LogMsg "The PSAtera module needs to be installed, but the current security context is not sufficient to install it" }