functions/Install-PsModuleFast.ps1
Function Install-PsModuleFast { [CmdletBinding()] param([string] $module , [version] $version) Write-Verbose "Loading module $Module" if (-not (get-module $module -ListAvailable | Where-object Version -gt $version)) { Write-Output " Installing module $module" if ($null -eq $version) { install-module $module -force -AllowClobber -Scope CurrentUser -SkipPublisherCheck } else { install-module $module -force -AllowClobber -Scope CurrentUser -SkipPublisherCheck -MinimumVersion $version } } if (-not (get-module $module | Where-object Version -GE $version)) { Write-Output " importing module $module $version" if ($null -eq $version ) { import-module $module -force } else { import-module $module -force -MinimumVersion $version } } } # $PSModules = @{Module = "Pester"; Version = "4.5" }, ` # @{Module = "Microsoft.PowerApps.PowerShell" }, ` # @{Module = "Microsoft.PowerApps.Administration.PowerShell" }, ` # @{Module = "VSSetup" } # foreach ($Ps in $PSModules) { # # Install-PsModuleFast @PS # } |