37 lines
1.4 KiB
PowerShell
37 lines
1.4 KiB
PowerShell
## 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"
|
|
} |