我可以在 Power Automate Desktop 上使用 "Run PowerShell script" 操作将 powershell 版本更改为 7 吗?

Can I change powershell version to 7 with "Run PowerShell script" action on Power Automate Desktop?

我可以在“运行 PowerShell 脚本”操作中将 powershell 版本更改为 7 吗? 如果可以,怎么做?

我知道这个 post 但我找不到是否可以更改 PAD 执行的版本。 https://powerusers.microsoft.com/t5/Power-Automate-Desktop/Powershell-and-other-script-SUPPORTED-VERSION/td-p/1501322

我已经安装了powershell version7。 我想在“Export-Csv”上使用“-UseQuotes”选项。

仅供参考,我的 PSV 版本在这里。 P版本 5.1.19041.1320

谢谢,

我还检查了有关 PAD 的注册表,但没有管理 powershell 的注册表

这有点难看,但可以完成工作。

我有这个非常基本的流程,它只是运行 PS 脚本并在消息框中输出结果。

将其放入 PowerShell 任务中,然后查看输出。

$psVersion = (Get-Host).Version.Major

if ($psVersion -ne 7) {
    $processInfo = New-Object System.Diagnostics.ProcessStartInfo

    $processInfo.FileName = "C:\Program Files\PowerShell\pwsh.exe"
    $processInfo.RedirectStandardError = $true
    $processInfo.RedirectStandardOutput = $true
    $processInfo.UseShellExecute = $false
    $processInfo.Arguments = $MyInvocation.MyCommand.Definition

    $process = New-Object System.Diagnostics.Process
    $process.StartInfo = $processInfo
    $process.Start() | Out-Null
    $process.WaitForExit()

    $stdout = $process.StandardOutput.ReadToEnd()
    $stderr = $process.StandardError.ReadToEnd()

    Write-Host $stdout
} else {
    # Your logic goes here!
    Write-Host "PowerShell Version = $psVersion"  
}

你应该得到这个...

本质上,它正在检查版本,如果不是版本 7,它将启动 PowerShell 7,然后检索输出。

记下 PS7 的文件路径,您可能需要更改它或简化它。我已经完成了完整路径以确保它有效。