Install-RequiredModule.ps1

<#PSScriptInfo
 
.VERSION 5.0.1
 
.GUID 295c5e90-c699-4a39-8db2-cb71e564a32d
 
.AUTHOR Joel 'Jaykul' Bennett
 
.COMPANYNAME PoshCode
 
.COPYRIGHT Copyright (c) 2020 Joel Bennett
 
.TAGS Install Requirements Development Dependencies Modules Install Requirements Development Dependencies Modules
 
.LICENSEURI https://github.com/Jaykul/RequiredModules/blob/master/LICENSE
 
.PROJECTURI https://github.com/Jaykul/RequiredModules
 
.ICONURI https://github.com/Jaykul/RequiredModules/blob/master/resources/RequiredModules.png?raw=true
 
.EXTERNALMODULEDEPENDENCIES
 
.REQUIREDSCRIPTS
 
.EXTERNALSCRIPTDEPENDENCIES
 
.RELEASENOTES
 
            5.0.1 Fix PowerShell 5 .Where bug again (sorry)
            5.0.0 Available as a module, with multiple repository support
                BREAKING CHANGES:
                - No longer automatically trusts PSGallery. You must ensure that there is at least one repository registered and trusted, or use the `-TrustRegisteredRepositories` to trust all repositories.
                - Allows installing from any trusted repository. There is also new syntax for the RequiredModules hashtables to support specifying a specific repository for any specific module. See the ReadMe or the help for Install-RequiredModule.
 
                MAJOR IMPROVEMENTS:
                - Supports passing the RequiredModules hashtable directly on the commandline, rather than requiring a file.
                - Also available in the "RequiredModules" module
 
                By default, we only install from trusted repositories. You should mark the repositories you regularly install from as trusted repositories. See the following example to trust the default PSGallery:
 
                    Register-PSRepository -Default -ErrorAction Ignore -InstallationPolicy Trusted
                    Get-PSRepository -Name PSGallery | Set-PSRepository -InstallationPolicy Trusted
            4.1.1 Minor fixes for edge cases and options
            4.1.0 Support non-PSGallery feeds
            4.0.6 Fix a double -Verbose problem
            4.0.5 Let the -Destination be non-empty (so we do not have to re-download every time)
            4.0.4 Fix PowerShell 5 .Where bug
            4.0.3 Fix module check when using -Destination to force all modules to be in destination
            4.0.2 Fix Remove-Module error
            4.0.1 Add logging outputs
            4.0.0 BREAKING CHANGE: require the -Destination to start empty (allow -CleanDestination to clear it)
                Fix for adding the destination to PSModulePath multiple times
                Started testing this so I can ship it to PowerShellGet
            3.0.0 BREAKING CHANGE: switch -SkipImport to -Import -- inverting the logic to NOT import by default
                Add -Destination parameter to support installing in a local tool path
            2.0.1 Squash mistaken "InstallError" message caused by Select-Object -First
                Clean up output that was unexpected
            2.0.0 BREAKING CHANGE: use NuGetVersion to support wildcards like 3.*
                Improve the error messages around aborted or failed installs
            1.0.1 Fix "Version 3.4.0 of module Pester is already installed"
            1.0.0 This is the first public release - it probably does not work right
             
 
.PRIVATEDATA
 
#>
 



<#
.SYNOPSIS
    Installs (and imports) modules listed in RequiredModules.psd1
 
.DESCRIPTION
    Parses a RequiredModules.psd1 listing modules and attempts to import those modules.
    If it can't find the module in the PSModulePath, attempts to install it from PowerShellGet.
 
    The RequiredModules list looks like this (uses nuget version range syntax, and now, has an optional syntax for specifying the repository to install from):
    @{
        "PowerShellGet" = "2.0.4"
        "Configuration" = "[1.3.1,2.0)"
        "Pester" = "[4.4.2,4.7.0]"
        "ModuleBuilder" = @{
            Version = "2.*"
            Repository = "https://www.powershellgallery.com/api/v2"
        }
    }
 
    https://docs.microsoft.com/en-us/nuget/reference/package-versioning#version-ranges-and-wildcards
 
.EXAMPLE
    Install-RequiredModule
 
    Runs the install interactively:
    - reads the default 'RequiredModules.psd1' from the current folder
    - prompts for each module that needs to be installed
.EXAMPLE
    Install-Script Install-RequiredModule
    Install-RequiredModule @{
        "Configuration" = @{
            Version = "[1.3.1,2.0)"
            Repository = "https://www.powershellgallery.com/api/v2"
        }
        "ModuleBuilder" = @{
            Version = "2.*"
            Repository = "https://www.powershellgallery.com/api/v2"
        }
    }
 
    This is one way you can use Install-Required module in a build script to ensure the required module are available.
.EXAMPLE
    Save-Script Install-RequiredModule -Path ./RequiredModules
    ./RequiredModules/Install-RequiredModule.ps1 -Path ./RequiredModules.psd1 -Confirm:$false -Destination ./RequiredModules -TrustRegisteredRepositories
 
    This shows another way to use required modules in a build script
    without changing the machine as much (keeping all the files locally)
    and supressing prompts, trusting repositories that are already registerered
#>

[CmdletBinding(DefaultParameterSetName="FromFile", ConfirmImpact="High", SupportsShouldProcess)]
param(
    # The path to a metadata file listing required modules. Defaults to "RequiredModules.psd1" (in the current working directory).
    [Parameter(Position=0, ParameterSetName="FromFile")]
    [Parameter(Position=0, ParameterSetName="LocalToolsFromFile")]
    [Alias("Path")]
    [string]$RequiredModulesFile = "RequiredModules.psd1",

    [Parameter(Position=0, ParameterSetName="FromHash", Mandatory)]
    [hashtable]$RequiredModules,

    # If set, the local tools Destination path will be cleared and recreated
    [Parameter(ParameterSetName="LocalToolsFromFile")]
    [Switch]$CleanDestination,

    # If set, saves the modules to a local path rather than installing them to the scope
    [Parameter(Position=1, ParameterSetName="LocalToolsFromFile", Mandatory)]
    [string]$Destination,

    # The scope in which to install the modules (defaults to "CurrentUser")
    [ValidateSet("CurrentUser", "AllUsers")]
    $Scope = "CurrentUser",

    # Automatically trust all repositories registered in the environment.
    # This allows you to leave some repositories set as "Untrusted"
    # but trust them for the sake of installing the modules specified as required
    [switch]$TrustRegisteredRepositories,

    # Suppress normal host information output
    [Switch]$Quiet,

    # If set, the specififed modules are imported (after they are installed, if necessary)
    [Switch]$Import
)
$null = '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' |
.{

    <#
        .SYNOPSIS
            Expands a string and loads it as an assembly or scriptblock
        .DESCRIPTION
            Converts Base64 encoded string to bytes and decompresses (gzip) it, before attempting to load or execute the result
        .LINK
            CompressToString
    #>

    [CmdletBinding(DefaultParameterSetName = "ByteArray")]
    param(
        # A Base64 encoded and deflated assembly or script
        [Parameter(Mandatory, ValueFromPipeline)]
        [string]$Base64Content
    )
    process {
        $DeflateStream = [System.IO.Compression.DeflateStream]::new(
            [System.IO.MemoryStream][System.Convert]::FromBase64String($Base64Content),
            [System.IO.Compression.CompressionMode]::Decompress)
        $OutputStream = [System.IO.MemoryStream]::new()
        $DeflateStream.CopyTo($OutputStream)
        [System.Reflection.Assembly]::Load($OutputStream.ToArray())
        trap {
            $null = $OutputStream.Seek(0, "Begin")
            # If it's a script, deal with the BOM and import it as a module in the global scope
            $Source = [System.IO.StreamReader]::new($OutputStream, $true).ReadToEnd()
            New-Module ([ScriptBlock]::Create($Source)) -Verbose:$false | Import-Module -Scope Global -Verbose:$false
            continue
        }
    }

}
Install-RequiredModule @PSBoundParameters