Powershell如何改变它处理本机命令错误的方式?

Powershell如何改变它处理本机命令错误的方式?,powershell,Powershell,在Powershell 5.1版本17134(Windows版本1803)和Powershell 5.1版本17763(Windows版本1809)之间,Powershell处理本机命令错误的方式发生了一些变化,我正在尝试了解发生了什么变化 我有一个powershell脚本在本地Windows计算机上的Azure管道中运行。该脚本包含命令git checkout origin/master 从Windows版本1809开始,此操作开始失败。我将得到以下错误: ##[error]git : HEA

在Powershell 5.1版本17134(Windows版本1803)和Powershell 5.1版本17763(Windows版本1809)之间,Powershell处理本机命令错误的方式发生了一些变化,我正在尝试了解发生了什么变化

我有一个powershell脚本在本地Windows计算机上的Azure管道中运行。该脚本包含命令
git checkout origin/master

从Windows版本1809开始,此操作开始失败。我将得到以下错误:

##[error]git : HEAD is now at b1e379d
##[error]At line:1 char:1
+ git checkout origin/master
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (HEAD is now at b1e379d) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

##[error]PowerShell exited with code '1'.code
这里发生的事情是消息
头部现在位于b1e379d
正被发送到STDERR,这导致了NativeCommander错误。这很容易解决。我只需要调用git checkout origin/master--quiet


但我真正想了解的是什么改变了。为什么它以前没有失败,为什么现在失败?此更改的其他后果是什么?

“Powershell处理本机命令错误的方式发生了一些变化”您确定是Powershell发生了变化,而不是git可执行文件或Windows中的其他内容吗?你能再现与其他本地应用程序的这种差异吗?我也想知道。当有疑问时,总是会有sysinternals进程监视器。它在cmd中工作正常吗?PS 6?这不是杀毒软件?可能是相关的:我确信git没有改变,因为我的git版本没有改变。而且很难区分Powershell和Windows中的其他东西,因为Powershell的版本与Windows版本绑定。