AWS Run 命令忽略第一个 PowerShell 参数 - 输出 ;退出$LASTEXITCODE



我正在使用 AWS Run Command 运行 PowerShell 脚本。我有一组传递给脚本的参数。但是,第一个参数返回以下内容,而不是我声明的值:

; exit $LASTEXITCODE

这是我的片段:

param(      
[String] $param1 = 'abc', 
[String] $param2 = 'dfg',         
[String] $param3 = '123',
[String] $param4 = '456'        
)
Write-Output $param1
Write-Output $param2
Write-Output $param3
Write-Output $param4

我希望 $param 1 输出 abc,但它返回 ; 退出$LASTEXITCODE

如果我把 $param 4 或任何其他参数按顺序放在第一位,它也返回 ; 退出$LASTEXITCODE

从本质上讲,使用 AWS Run Command 执行 PowerShell,我的第一个参数被忽略或覆盖为 ; exit $LASTEXITCODE

在PowerShell ISE中运行代码,它可以工作。只有在 AWE 运行命令中才会产生错误。

为什么会发生这种情况,我该如何阻止这种情况?

$LastExitCode

只不过是本机应用程序的返回代码。

$ErrorActionPreference = "Stop"仅适用于 PowerShell cmdlet,但根本不适用于 EXE。

使用try/catch是捕获任何本机错误的更主要方法。在您的情况下,如果您在本地 ISE 中运行相同的代码片段,它将提供正确的输出而不会出现任何问题。

希望它有助于以更好的方式理解。

最新更新