Files
runner-images/images/macos/provision/core/powershell.sh
2020-11-03 01:06:07 +03:00

39 lines
1.3 KiB
Bash

#!/bin/bash -e -o pipefail
source ~/utils/utils.sh
echo Installing Azure CLI...
brew install azure-cli
echo Installing PowerShell...
brew cask install powershell
# A dummy call of `az` to initialize ~/.azure directory before the modules are installed
az -v
# Install PowerShell modules
psModules=$(get_toolset_value '.powershellModules[].name')
for module in ${psModules[@]}; do
echo "Installing $module module"
moduleVersions="$(get_toolset_value ".powershellModules[] | select(.name==\"$module\") | .versions[]?")"
if [[ -z "$moduleVersions" ]];then
pwsh -command "& {Install-Module $module -Force -Scope AllUsers}"
else
for version in ${moduleVersions[@]}; do
echo " - $version"
pwsh -command "& {Install-Module $module -RequiredVersion $version -Force -Scope AllUsers}"
done
fi
done
# Enables AzureRm prefix aliases for Az modules
sudo pwsh -command "& {Import-Module Az; Enable-AzureRmAlias -Scope LocalMachine}"
# powershell link was removed in powershell-6.0.0-beta9
sudo ln -s /usr/local/bin/pwsh /usr/local/bin/powershell
# fix ~/.azure directory permissions
sudo chown -R ${USER}: $HOME/.azure
# fix permissions for Az.Account version 2.*
sudo chown -R ${USER}: $HOME/.local/share/.IdentityService