$-ErrorActionPreference被New-SmbShare忽略

时间:2017-03-13 10:21:50

标签: powershell

在特定用例中,$ErrorActionPreference似乎忽略了将Stop设置为New-SmbShare

  • 在Windows ISE中运行:没问题
  • 使用powershell.exe -File参数调用:没问题
  • 使用显式-ErrorAction调用停止:没问题
  • 在PowerShell提示符下运行(dot-sourced):忽略 $ ErrorActionPreference
  • 使用powershell.exe -Command参数调用:忽略$ ErrorActionPreference

可以使用以下脚本(test.ps1)测试:

$ErrorActionPreference = "Stop" 
New-SmbShare -Name "Test" -Path "C:\NonExistingPath" 
Write-Host "Should not be reached"

以下调用显示错误"系统找不到指定的文件",但显示"永远不会到达",这是不正确的:

powershell.exe -Command .\test.ps1

以下调用只会抛出"系统无法找到指定的文件"异常,这是正确的:

powershell.exe -File .\test.ps1

经过测试:

  • PowerShell 4和5
  • Windows Server 2012 R2

我在这里遗漏了什么,或者这是PowerShell的错误?我已经提出了uservoice,但也许您有解释?

0 个答案:

没有答案