Как использовать Powershell 7 от AzureDevops с инструментами AWS

Я пишу сценарий powershell и хотел бы воспользоваться версией Powershell 7.0. В частности, потому что мне нужен доступ к новым функциям CovertFrom-Json, которых нет в версии 5.1. В моем сценарии есть следующая команда: get-host | select version. Вывод журнала показывает, что версия 5.1. Агент - это Windows-2019 (2020 недоступен в раскрывающемся списке). Это задача Инструменты AWS для сценария Windows PowerShell. Есть ли способ запустить мой скрипт в среде DevOps, чтобы использовать PS 7?


person Colin    schedule 03.06.2021    source источник


Ответы (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