0

我正在编写一个 powershell 脚本,并希望利用 7.0 版本的 Powershell。特别是因为我需要访问 5.1 中没有的 CovertFrom-Json 的新功能。我的脚本有以下命令:get-host | select version. 日志输出显示版本为 5.1。代理是 windows-2019(2020 在下拉菜单中不可用)。该任务是AWS Tools for Windows PowerShell 脚本任务。有没有办法让我的脚本在 DevOps 的环境中运行以利用 PS 7?

4

1 回答 1

2

你已经在那里安装了它。请比较一下:

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。看看这个,没有办法用 pwsh 替换 powershell,使第二个成为默认 shell。在这种情况下,我建议为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
于 2021-06-03T23:04:02.633 回答