我有一个 PowerShell 脚本,我使用 Win-PS2EXE 将其转换为 EXE。问题是我正在使用
Foreach -parallel
并且它不能与 PowerShell 5.0 一起使用,我需要这个 EXE 使用最新的 shell 运行,并且我已经尝试使用 #Requires -Version 7.0
并且它仍然与旧版本一起运行。
尝试过: #需要-版本7.0 #需要 -PSEdition 桌面版
您可以在脚本开头使用此脚本来阻止在 Powershell 7.0 以外的版本中使用脚本:
# At beginning of .ps1
if ($PSVersionTable.PSVersion -ne [Version]"7.0") {
# Re-launch as version 7 if we're not already
powershell -Version 7.0 -File $MyInvocation.MyCommand.Definition
exit
}
# Your script code
但是,例如对于 Powershell 7.2.4,正确的语法是:
#Requires -Version <N>[7.2.24.<n>]