added PSAtera module installation

This commit is contained in:
2021-08-18 17:55:43 -04:00
parent 049480e8c4
commit 147ae57c83
+36 -1
View File
@@ -1,6 +1,11 @@
## Define the MSP name
[string]$Global:MSPName = "Emberkom"
## Define settings for PSAtera module
[string]$Global:PSAteraMinimumModuleVersion = '1.5.7'
[bool]$Global:InstallPSAteraModule = $true
## This section will define several global variables that can be used in scripts that source this one
[string]$Global:RootDirectory
[string]$Global:ScriptsDirectory
@@ -481,5 +486,35 @@ function Toggle-Log {
Catch { LogMsg $_.Exception.Message }
}
Function Install-PSAteraModule {
$module = (Get-Module -ListAvailable PSAtera)
If ( IsAdmin ) {
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 }
}
} 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 PSAtera -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"
}
}
Setup-MSPDirectories
Setup-LogFile
Setup-LogFile
If ( $Global:InstallPSAteraModule ) { Install-PSAteraModule }