From 7763e0b7db6a16f2efececb6ffa9bd917a9eb5de Mon Sep 17 00:00:00 2001 From: Ross Smith Date: Mon, 30 Jan 2023 19:29:13 +0000 Subject: Install PowerShell Modules (#427) * InstallBicep * Add test for InstallBicep * Install pwsh Modules * Script rename * Add -Command to test * Check version * Install the module for all users * Adding terminating lines to scripts * Update src/powershell/install.sh Co-authored-by: Samruddhi Khandale * Update src/powershell/install.sh Co-authored-by: Samruddhi Khandale * Removed comments in Readme * Remove Bicep from PowerShell install * Increased version number * Update Minor version rather than patch --------- Co-authored-by: Samruddhi Khandale --- src/powershell/devcontainer-feature.json | 11 ++++++++--- src/powershell/install.sh | 12 ++++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) (limited to 'src/powershell') diff --git a/src/powershell/devcontainer-feature.json b/src/powershell/devcontainer-feature.json index ef967a6..dce0575 100644 --- a/src/powershell/devcontainer-feature.json +++ b/src/powershell/devcontainer-feature.json @@ -1,6 +1,6 @@ { "id": "powershell", - "version": "1.0.6", + "version": "1.1.0", "name": "PowerShell", "documentationURL": "https://github.com/devcontainers/features/tree/main/src/powershell", "description": "Installs PowerShell along with needed dependencies. Useful for base Dockerfiles that often are missing required install dependencies like gpg.", @@ -14,8 +14,13 @@ ], "default": "latest", "description": "Select or enter a version of PowerShell." - } - }, + }, + "modules": { + "type": "string", + "default": "", + "description": "Optional comma separated list of PowerShell modules to install." + } + }, "installsAfter": [ "ghcr.io/devcontainers/features/common-utils" ] diff --git a/src/powershell/install.sh b/src/powershell/install.sh index 3f19f47..b220c3a 100755 --- a/src/powershell/install.sh +++ b/src/powershell/install.sh @@ -13,6 +13,7 @@ set -e rm -rf /var/lib/apt/lists/* POWERSHELL_VERSION=${VERSION:-"latest"} +POWERSHELL_MODULES="${MODULES}" MICROSOFT_GPG_KEYS_URI="https://packages.microsoft.com/keys/microsoft.asc" POWERSHELL_ARCHIVE_ARCHITECTURES="amd64" @@ -149,6 +150,17 @@ if [ "${use_github}" = "true" ]; then install_using_github fi +# If PowerShell modules are requested, loop through and install +if [ ${#POWERSHELL_MODULES[@]} -gt 0 ]; then + echo "Installing PowerShell Modules: ${POWERSHELL_MODULES}" + modules=(`echo ${POWERSHELL_MODULES} | tr ',' ' '`) + for i in "${modules[@]}" + do + echo "Installing ${i}" + pwsh -Command "Install-Module -Name ${i} -AllowClobber -Force -Scope AllUsers" || continue + done +fi + # Clean up rm -rf /var/lib/apt/lists/* -- cgit v1.2.3