Я пишу сценарий powershell и хотел бы воспользоваться версией Powershell 7.0. В частности, потому что мне нужен доступ к новым функциям CovertFrom-Json, которых нет в версии 5.1. В моем сценарии есть следующая команда: get-host | select version
. Вывод журнала показывает, что версия 5.1. Агент - это Windows-2019 (2020 недоступен в раскрывающемся списке). Это задача Инструменты AWS для сценария Windows PowerShell. Есть ли способ запустить мой скрипт в среде DevOps, чтобы использовать PS 7?
Как использовать Powershell 7 от AzureDevops с инструментами AWS
Ответы (1)
Он у вас там уже установлен. Пожалуйста, сравните это:
pool:
vmImage: windows-latest
steps:
- powershell: $PSVersionTable.PSVersion
- pwsh: $PSVersionTable.PSVersion
- pwsh: |
'{ "key":"value1", "Key":"value2" }' | ConvertFrom-Json -AsHashtable
powershell
задача дает вам:
Major Minor Build Revision
----- ----- ----- --------
5 1 17763 1852
но pwsh
:
Major Minor Patch PreReleaseLabel BuildLabel
----- ----- ----- --------------- ----------
7 1 3
Но AWS Tools for Windows PowerShell Script
не поддерживает Powershell Core. И глядя на это, невозможно заменить powershell на pwsh делая вторую оболочкой по умолчанию. В этом случае я бы рекомендовал создать запрос функции для AWS Tools for Windows PowerShell Script
Однако вы по-прежнему можете установить AWS Toolkit и использовать его из задачи pwsh следующим образом:
- pwsh: Install-Module -name AWSPowerShell.NetCore -Scope CurrentUser -Force
- pwsh: |
Import-Module AWSPowerShell.NetCore
Get-Module -ListAvailable
Get-AWSPowerShellVersion
person
Krzysztof Madej
schedule
03.06.2021